自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

craneyuan

路漫漫其修远兮,吾将上下而求索。

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

前言 从去年的3月份起我就在开始读《Effective Java 第二版》,当然,我读的是中文版的;可能是我理解能力还不行,对于书中的内容总是感觉理解困难;就拿第一章的内容「创建和销毁对象」来说吧,这是我读的次数最多的一章,想必原因大家也是明白的,每次我读不下去的时候,我就从头开始读,所以,现在...

2020-04-30 12:49:35 33161 14

原创 MySql使用技巧备忘录

前言 先记录 查询结果按逗号分割的字符串返回 -- 将test_tbl表的id字段按逗号分割查出来 SELECT GROUP_CONCAT(id SEPARATOR ',') FROM test_tbl; 例如返回:1,2,3 参考文章:MySQL Results as co...

2019-12-10 22:36:32 36 0

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

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

2018-12-10 23:25:52 119 1

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

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

2018-12-05 00:08:32 366 0

原创 温故 Java 8 中引入的 Optional 类

前言 为什么要有Optional类?(它试图去解决什么问题呢?) 答:Optional类试图去解决Java系统中大量出现的NullPointerException问题和繁琐的null检查。 使用 Optional常用方法: 创建 Optional 对象,使用of(T) 或者 ofNullable...

2018-12-04 00:28:03 101 0

原创 温故 Java 8 日期 API

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

2018-12-02 23:39:19 193 0

原创 Spring Data JPA Vs Hibernate JPA Vs JPA

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

2018-07-31 00:25:42 223 0

原创 Git 常用命令小结

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

2018-05-08 07:39:04 196 0

原创 Hexo代码块前后空白行问题

解决方法 1.找到hexo-util/lib/highlight.js文件 一般的路径为${blog_path}/node_modules/hexo-util/lib/highlight.js 2.修改highlight.js文件中的代码 大概在35~38行 修改前: number...

2018-02-25 23:11:35 1041 0

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

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

2018-01-12 00:37:54 9748 0

原创 Java 注解介绍

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

2017-12-29 00:18:13 331 0

原创 MySQL 5.7 复制原理简介

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

2017-11-30 23:43:31 446 0

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

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

2017-10-31 23:40:00 577 3

原创 Kafka快速入门

Apache Kafka was originated at LinkedIn and later became an open sourced Apache project in 2011, then First-class Apache project in 2012. Kafka is wr...

2017-08-31 23:59:59 348 0

原创 zip压缩包解压乱码问题

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

2017-05-02 23:01:48 13828 0

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

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

2017-05-02 22:56:01 2572 0

原创 ArchLinux调节屏幕亮度

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

2017-04-30 22:06:59 2916 0

原创 MySql镜像安装

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

2017-04-30 21:58:48 1792 0

原创 Linux开机和关机记录查看

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

2017-04-30 21:37:50 31658 0

原创 sudo cd为什么不能够执行

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

2017-04-21 20:19:17 15284 2

原创 Docker快速入门

Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 Apache 2.0 授权协议开源),主要项目代码在 GitHub 上进行维护。Docker 项...

2017-04-20 00:18:43 479 0

原创 Greasy Fork 用户脚本简介

这篇文章主要给大家介绍一下好用的浏览器脚本管理器,还有功能丰富的脚本列表,比如「突破百度云大文件限制」脚本,还有本人写的「一键删除微博」脚本。

2017-03-25 21:34:58 8892 0

原创 tmux进阶之tmuxinator

tmuxinator是tmux的配置管理工具,解决了tmux服务器关机后session丢失问题。tmuxinator可以根据配置文件快速创建tmux的session。 这篇文章将告诉你如何安装tmuxinator,及简单的配置讲解。

2017-03-03 14:43:00 2977 0

原创 Linux开启swap空间

Linux开启swap空间有好几种方法,在这里只介绍两种比较常用的:使用『交换文件』和使用『交换分区』。

2017-02-25 16:51:40 4163 0

原创 Linux中将capslock键映射成ctrl键

经常使用电脑的我们应该会明白这样一件事,capslock键(即,切换输入法大小写)的使用频率比ctrl键要低很多,但是在大多数标准键盘上却占用着一个比较方便的位置。 为了提高我们使用电脑的效率,为什么不去把使用频率低而又占着比较方便位置的capslock改成经常使用的ctrl键呢? 那么在Li...

2017-02-25 16:25:49 3302 0

原创 GitHub编程资源分享

这是一篇资源分享文章,内容来自GitHub,主要是一些编程方向的入门到进阶资源,有需要的可以参考学习。目录 语言无关 IDE MySQL NoSQL PostgreSQL Web WEB服务器 其它 函数式概念 分布式系统 在线教育 大数据 操作系统 数据库 智能系统 正则表达式 版本控制 程序...

2017-02-12 23:24:23 1309 0

原创 多启动U盘制作流程

看多了网上的一键制作U盘启动盘的工具,有没有想过自己动手熟悉一下U盘启动盘的制作过程呢? 这篇文章将告诉你如何一步一步制作「多系统启动U盘」。

2017-02-07 18:24:06 4172 0

原创 Linux下的神器介绍之Tmux分屏器

前言我们为什么需要分屏器呢?对于这个问题,我想大家肯定都有自己的看法。主流的观点是这样的,对于生活在Linux下的人(开发人员、运维人员、普通爱好者)都不可避免的使用终端模拟器(比如,gnome-terminal)去执行一些命令或者脚本。但是,通常一个终端是不够用的。比如,你想一边观察着系统的运行...

2017-01-23 20:18:12 1655 0

原创 浮点数进行精确计算的问题

在计算机科学中,浮点(英语:floating point,缩写为FP)是一种对于实数的近似值数值表现法,由一个有效数字(即尾数)加上幂数来表示,通常是乘以某个基数的整数次指数得到。以这种表示法表示的数值,称为浮点数(floating-point number)。

2016-12-28 16:59:51 1219 0

原创 Linux终端模拟器常见快捷键

本人常用的几个快捷键 ctrl+k 剪切文本直到行的末尾 ctrl+u 剪切文本直到行的起始 ctrl+w 剪切光标前的单词 alt+d 剪切光标后的单词 ctrl+y 粘贴最近剪切的文本 ctrl+c 删除整行 ctrl+f 向前移动一个...

2016-12-27 17:34:52 2246 0

原创 持续集成进阶篇

在前一篇文章持续集成入门篇中我大概介绍了下持续集成的概念及工具(抱歉,在前一篇文章中我查的资料不够与时俱进,工具介绍的都比较老,目前流行的工具应该就属Jenkins和Travis CI 了)。这篇文章我将就持续集成的话题继续深入地探讨一番。持续集成的四个步骤『代码级别的集成』 『集成 Workfl...

2016-12-19 23:17:04 1637 0

原创 持续集成入门篇

持续集成(英语:Continuous integration,缩写为 CI),一种软件工程流程(即,开发流程),将所有工程师对于软件的工作复本,每天集成数次到共用主线(mainline)上。 这个名称最早由葛来迪•布区(Grady Booch)在他的布区方法中提出,但是他并没有提到要每天集成数次...

2016-12-07 23:50:46 1795 0

转载 Ubuntu 重置root密码

情景1一拥有sudo权限如果用户具有sudo权限,那么直接可以运行如下命令: #sudo su root #passwd #更改密码 或者直接运行sudo passwd root命令就可以直接更改root密码。有关sudo su的区别: 共同点: 都...

2016-12-04 18:26:22 784 0

原创 HashMap和HashTable的选择

关于编程中HashMap和HashTable的选择问题,我们可以先看看下面这些问题。 历史问题:Hashtable是个过时的集合类,是基于陈旧的Dictionary类的,并且存在于Java API中很久了。在Java 4中被重写了,实现了Map接口,所以自此以后也成了Java集合框架中的一部分,而...

2016-11-09 20:50:51 570 0

原创 Maven+Jetty/Tomcat进行web开发部署

在使用传统的Java Web开发时,对于项目部署可以借助MyEclipse中自带的部署工具,直接一键部署,但是,在使用Maven开发Java Web项目时,我们遵循Maven的项目组织结构,就不能直接一键部署了。 那么,有什么解决方法吗? 首先,我们要清楚web服务器的概念,Jetty和Tomca...

2016-11-08 22:36:29 1857 0

原创 生产者和消费者问题

生产者和消费者是操作系统中的一个经典问题,这个问题是在讲“进程同步”时的一个例子,下面我就用Java语言中的notify和wait关键字实现这个算法。生产者 /** * Description: 生产者. * * @author: crane-yuan * @date: 2016年11月5...

2016-11-06 14:24:14 911 0

翻译 怎样判断Array(无序)中是否包含某个值呢?

怎样去判断Array(无序)中是否包含某个值呢? 这是一个在Java中经常被问到的问题。它也是Stack Overflow上投票前几的一个问题。下面将展示投票前几的几个回答,这些回答使用不同的方式解决了这个问题,但是,时间复杂度也是各有不同的。四种解决方法使用List public static ...

2016-11-05 12:21:12 888 0

原创 Maven+Nexus+Myeclipse集成

Maven 是一个基于项目对象模型(POM)的,提倡约定优于配置(ConventionOver Configuration)的,跨平台的项目管理和构建自动化工具。 首先它是一个优秀的构建工具(构建自动化、消除构建重复、标准化构建过程),其次它还是一个依赖管理工具、项目信息管理工具(如:Mylyn)...

2016-11-02 23:55:44 1523 0

转载 Java面试中异常常见问题

Java的异常机制(概念)Java语言中的异常处理包括的四个环节。 声明异常 throws关键字可以在方法上声明该方法要抛出的异常,然后在方法内部通过throw抛出异常对象。 抛出异常 throw用于抛出异常。 捕获异常 try是用于检测被包住的语句块是否出现异常,如果有异常,则抛出...

2016-10-20 18:49:01 666 0

原创 JDBC中的Statement和PreparedStatement对比

首先关于Statement和PreparedStatement的基本概念我就不再叙述了,可以参考这篇文章,下面我们来看几个测试例子吧。 测试场景现在我们向数据库中的一张表中插入100000(10万)条数据,测试使用Statement和PreparedStatement及PreparedStatem...

2016-10-19 17:16:38 862 0

提示
确定要删除当前文章?
取消 删除