5 crane.yuan

尚未进行身份认证

我是谁 我在哪 我要干什么

等级
TA的排名 1w+

MySQL使用注意事项记录(不定期更新)

前言这篇文章会记录一些关于MySQL使用上容易出错的地方。MySQL唯一性约束允许重复的NULL值问题复述:CREATETABLE`my_table`(`A`char(20),`B`char(20),`C`char(20))ENGINE=InnoDBDEFAULTCHARSET=utf8;CREATEUNIQUEINDEXUNI_AB...

2018-12-10 23:25:52

MySQL查询中LIMIT的大offset会导致性能低下

前言在业务系统中难免少不了分页的需求。想到分页的时候,大家肯定会想到使用SQL中的LIMIT来实现。但是,如果不正确的使用LIMIT会导致性能问题(SQL执行得很慢、有可能会拖垮服务器),也会被领导批的;所以,我们来看看如何正确地使用LIMIT。LIMITOFFSET,ROW_COUNT实现分页存在性能问题的方式SELECT*FROMmyTableORDERBY`id`...

2018-12-05 00:08:32

温故 Java 8 中引入的 Optional 类

前言为什么要有Optional类?(它试图去解决什么问题呢?)答:Optional类试图去解决Java系统中大量出现的NullPointerException问题和繁琐的null检查。使用Optional常用方法:创建Optional对象,使用of(T)或者ofNullable(T),它们的不同点在于对于传入的参数为null时,是如何处理的。of(T)如果传入的参数为nu...

2018-12-04 00:28:03

温故 Java 8 日期 API

前言为什么我们需要一个新的日期和时间库?Java开发中一个长期存在的窘境是对普通开发者的date和time用例支持不足。例如,现存的类(例如java.util.Date和SimpleDateFormatter)不是线程安全的,导致潜在的并发问题——不是普通开发者所期望的编写日期处理时的代码。一些日期和时间类也表现出相当差的API设计。例如,java.util.Date中的年份开始于190...

2018-12-02 23:39:19

Spring Data JPA Vs Hibernate JPA Vs JPA

前言从文章的标题,就可以清晰地了解到,本文是来辨析三个容易将新手弄糊涂的技术名词。如果,你一眼看过去就知道这三个名词的区别及关系,那么,这篇文章你可以不用继续读下去了;除非,你是想要看看我有什么解释的不对,来纠错的(来找茬,哈哈),也欢迎留言。名词解释JPA(JavaPersistenceAPI,Java持久化API),它是一个关于如何处理对象关系映射(object-rela...

2018-07-31 00:25:42

《Effective Java 第三版》新条目介绍

前言从去年的3月份起我就在开始读《EffectiveJava第二版》,当然,我读的是中文版的;可能是我理解能力还不行,对于书中的内容总是感觉理解困难;就拿第一章的内容「创建和销毁对象」来说吧,这是我读的次数最多的一章,想必原因大家也是明白的,每次我读不下去的时候,我就从头开始读,所以,现在我对这本书的第一章是最为熟悉的了。后来,有一次我上网看到有网友说这本书确实和绝大部分的翻译书籍一样,对...

2018-06-05 23:22:56

Git 常用命令小结

前言阅读本篇文章需要读者了解Git的基本用法,如果你对Git完全不了解,请先行移步了解Git基础。下面是几份本人觉得不错的Git入门教程,新手可以参考。Git权威指南|国内一位大牛写的介绍Git用法的开源书籍,很详实ProGit|Git官方社区编著的介绍Git用法的书籍创建新分支,并且切换到新分支>gitcheckout...

2018-05-08 07:39:04

Hexo代码块前后空白行问题

解决方法1.找到hexo-util/lib/highlight.js文件一般的路径为${blog_path}/node_modules/hexo-util/lib/highlight.js2.修改highlight.js文件中的代码大概在35~38行修改前:numbers+='<divclass="line">'+(firstLine+i)+...

2018-02-25 23:11:35

使用Spring Boot的AOP处理自定义注解

前言上一篇文章Java注解介绍讲解了下Java注解的基本使用方式,并且通过自定义注解实现了一个简单的测试工具;本篇文章将介绍如何使用SpringBoot的AOP来简化处理自定义注解,并将通过实现一个简单的方法执行时间统计工具为样例来讲解这些内容。AOP概念面向侧面的程序设计(aspect-orientedprogramming,AOP,又译作面向方面的程序设计、观点导向

2018-01-12 00:37:54

Java 注解介绍

Java注解又称Java标注,是Java语言5.0版本开始支持加入源代码的特殊语法元数据(元数据Metadata:描述数据的数据)。Java语言中的类、方法、变量、参数和包等都可以被标注。和Javadoc不同,Java标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java虚拟机可以保留标注内容,在运行时可以获取到标注内容。当然它也支持自定义Java标注。

2017-12-29 00:18:13

MySQL 5.7 复制原理简介

通过复制,可以将来自一个MySQL数据库服务器(主服务器)的数据复制到一个或多个MySQL数据库服务器(从服务器)。默认情况下复制是异步的;从服务器不需要一直连接以接收来自主站的更新。根据配置,可以复制数据库中的所有数据库,选定数据库甚至选定的表。

2017-11-30 23:43:31

以Docker方式实现MySql 主从复制(实践篇)

本文实践了用Docker方式来实现基于binlog的MySql主从复制。关于MySql主从复制的原理将在下一篇中进行讲解。

2017-10-31 23:40:00

Kafka快速入门

ApacheKafkawasoriginatedatLinkedInandlaterbecameanopensourcedApacheprojectin2011,thenFirst-classApacheprojectin2012.KafkaiswritteninScalaandJava.

2017-08-31 23:59:59

zip压缩包解压乱码问题

问题由于zip格式中并没有指定编码格式,Windows下生成的zip文件中的编码是GBK/GB2312等,因此,导致这些zip文件在Linux下解压时出现乱码问题,因为Linux下的默认编码是UTF8。目前网上流传一种unzip-Ocp936的方法,但一些unzip是没有-O这个选项的。

2017-05-02 23:01:48

Bash循环处理带有空格的文件名

对于带有空格的文件名在进行循环处理时,如果不好好处理会出现一些让人头痛的问题,比如本来想要对正常的文件名称进行处理,但是,由于文件名中有空格导致,文件名错误。那么如何正确处理带有空格的文件名呢?请看这篇文章。

2017-05-02 22:56:01

ArchLinux调节屏幕亮度

ArchLinux通过配置脚本调节屏幕亮度,其他Linux发行版类似。

2017-04-30 22:06:59

MySql镜像安装

Docker进阶之安装MySql镜像,启动MySql容器,简单验证MySql容器是否启动成功。

2017-04-30 21:58:48

Linux开机和关机记录查看

Linux系统查看系统开机关机命令简介。

2017-04-30 21:37:50

sudo cd为什么不能够执行

我想要cd到/etc/docker,但是它给我一个权限不够的错误,然后,我想到使用sudocd/etc/docker时,它告诉我sudo:cd:找不到命令。于是,郁闷的我就去上网找了下原因。cd不是一个应用程序而是Linux内建的命令,而sudo仅仅只对应用程序起作用

2017-04-21 20:19:17

Docker快速入门

Docker最初是dotCloud公司创始人SolomonHykes在法国期间发起的一个公司内部项目,它是基于dotCloud公司多年云服务技术的一次革新,并于2013年3月以Apache2.0授权协议开源),主要项目代码在GitHub上进行维护。Docker项目后来还加入了Linux基金会。

2017-04-20 00:18:43

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!