自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

语言

欢迎访问我的个人博客:http://guochenglai.com

原创 百度无法爬取Github Pages静态网站解决方案

在Github Pages上面托管了自己的静态博客,经过一段时间的运行发现自己网站的流量基本都是来自与谷歌、必应、搜狗等等搜索引擎,确没有百度的搜索引擎的流量,最后谷歌一下发现原因是: 百度爬取GitHub太频繁了,甚至引起了GitHub的服务不稳 定,最后GitHub直接把...

2016-09-29 09:56:50 3297 0

原创 AQS(AbstractQueuedSynchronizer)源码分析

AbstractQueudSynchronizer(AQS)是道格李java并发编程的基础,内部主要包括Node和ConditionObject两个内部类,基于Node节点构建了一个FIFO队列,用来存储等待锁的线程的队列。基于ConditionObject节点也构造了一个FIFO队列,用于存储因...

2016-06-07 09:45:19 526 0

原创 Hexo+GitHub Page 搭建博客详解

Hexo是基于node.js的,所有的文章最后都被编译成了静态的HTML,所以你搭建一个博客系统并发布到线上从整体来看只需要如下三步: 1 在本地搭建一个博客系统。 2 在本地编写博客并编译 3 将本地编译的文件提交到GitHub Pages上。 本文将分为以下...

2016-06-02 20:43:10 652 0

原创 博客地址迁移啦!!!

经过最近一段时间的努力我的个人网站终于上线了。个人网站地址是:http://guochenglai.com/about/以后会逐渐将本站的所有文章迁移到新的博客!!!!

2016-05-27 17:02:15 304 0

原创 使用try-with-resource改进代码异常处理机制

1 JDK1.7之前标准的异常处理机制       在JAVA7之前,程序中必须顺次打开或者关闭资源,如果只打开了资源没有关闭资源。就会出现资源泄漏问题,线上代码运行时间越久,程序的效率就会越低。但是,资源的关闭不仅繁琐而且很容易出问题..... 2 使用try-with-resource改进异常...

2016-05-24 10:39:31 1720 0

原创 字符编码历史(字符编码详解)

1 字符集概述     简单来说字符集就是一套文字符号及其编码的描述。从20世纪60年代美国标准化组织ANSI发布了第一个计算机字符集ASCII开始,为了处理不同的文字,各大计算机公司,各国政府,以及各种标准化组织发明了几百种字符集,例如我们所熟悉的:ASCII,USC,GBK,BIG5... 这...

2016-05-23 20:43:02 451 0

原创 Mybatis如何返回Map而不是List<Map>

1 综述        在使用Mybatis的时候,有时候我们会有这么一种需求:我们希望通过Mybatis查询某一个表返回的结果是一个Map(HashMap),而这个Map的Key是表的一个字段,Value是另一个字段。然而当我们按照Mybatis的做法,指定查询Mapper语句的resultT...

2016-05-18 16:49:28 4794 0

原创 java 学习曲线(Java学习书籍推荐)

在刚学习Java语言的时候,就在网上搜索Java学习推荐的书籍,很多人都吧《Java编程思想》作为入门的书籍推荐,我觉得有点不合适,《Java编程思想》讲解的内容比较深入,当时就是因为第一本书就看这个,差点放弃了。最近总结前几年的编程心得的时候,顺便把自己看过的书,和写过的笔记整理了一遍,希望下面...

2016-05-16 20:10:31 4964 1

原创 mac 常用软件推荐

1 intellij idea        简介:Java编程的利器,用完idea之后绝对不会再想用eclipse,但是从eclipse转入idea的过程比较艰难,目前有社区版和企业版本,一般来说社区版本就足够日常的学习和开发了,企业版本加入了spring等企业开发框架的支持,但是价格比较贵。 ...

2016-05-16 10:52:17 707 0

原创 java并发编程之4——Java锁分解锁分段技术

1  锁优化             自旋锁:非自旋锁在未获取锁的情况会被阻塞,之后再唤醒尝试获得锁。而JDK的阻塞和唤醒是基于操作系统实现的,会有系统资源的开销。自旋锁就是线程不停地循环尝试获得锁,而不会将自己阻塞,这样不会浪费系统的资源开销,但是会浪费CPU的资源。所有现在的JDK都的是先自...

2016-05-13 20:42:53 4826 0

转载 KMP算法详解

尊重原作者,原文地址:http://blog.csdn.net/shakespeare001/article/details/51381251 0、关于KMP KMP是用于字符匹配的一个常用算法。关于KMP概念、前缀、后缀概念参考文章中有详细介绍,这里就不做详细讨论,本文详细关注讨论KMP核心...

2016-05-13 20:10:01 293 0

原创 java并发编程之3——Java锁的分析

在分析java的锁之前首先解释一下JVM对的内存分配模型  1  JVM内存模型                  JVM的内存公分为5个部分,主要包括:                               1  方法区                               ...

2016-05-13 20:03:05 205 0

原创 MySQL常见问题总结分析

说明:本文是基于innodb存储引擎进行分析的!!!!       在我们日常的开发过程了,经常会遇到一些规则法则或者约定,在不知道原因的情况下,很多时候会抱怨DBA,但是有PK不过,下面这里常见的问题,是我在公司开发中遇到的。里面有对原因的分析,希望能给大家提供帮助,解决困惑 1 limit...

2016-05-13 19:35:46 477 0

原创 mac 开发环境配置之homebrew

1 HomeBrew介绍         homeBrew是mac的一款,软件管理工具,类型Ubuntu系统下面的apt-get包管理工具 2 安装HomeBrew       ruby -e "$(curl -fsSL https://raw.githubusercontent.com...

2016-05-13 15:14:36 267 0

原创 mac 配置sudo免密码

1 打开命令窗口      sudo visudo 或者  sudo vi /etc/sudoers 2 将 #%admin  ALL=(ALL) ALL   替换为 %admin  ALL=(ALL) NOPASSWD: NOPASSWD: ALL

2016-05-13 14:25:19 8452 0

原创 mac idea(intellij idea)常用快捷键

1    切换到左侧列表快捷键  command+1 2    新建文件快捷键 control+enter 或者command+n 3    自动生成代码 例如getter和setter  control+enter 或者command+n 4    查看最近查看的文件 command+e 5 ...

2016-05-13 14:10:54 1450 0

原创 Java并发编程之2——同步工具类的使用(CountDownLatch,CyclicBarrier,BlockungQueue,Semaphore)

为了简化线程同步与互斥的相关操作JDK,提供了大约4中同步与互斥的工具类: 闭锁(Latch),栅栏(Barrier),阻塞队列(BlockingQueue),信号量(semaphore), 1 闭锁(CountDownLatch)2 栅栏(CyclicBarrier)3 阻塞队列(Bl...

2016-05-13 12:04:57 434 0

原创 java并发编程之1——synchronized和volatile

总的来说synchronized主要是解决线程互斥性问题,volatitle主要是解决线程可见性的问题。 synchronized             1 synchronized的线程安全性                       2 synchronized的变量可见性   ...

2016-05-12 20:11:17 309 0

转载 mac画图工具 OmniGraffle (四)化繁为简

非常不错的mac绘图教程,尊重原作者,原文地址:http://www.jianshu.com/p/48678f96ee52 OmniGraffle (四)化繁为简 OmniGraffle 在内容组织上有页面和图层这两个层级,稍有点遗憾的是目前的版本还没有文件夹的管理层级,希望后续的...

2016-05-12 16:32:49 3701 0

转载 mac画图工具 OmniGraffle (三)基础绘图和模具

非常不错的mac绘图教程,尊重原作者,原文地址:http://www.jianshu.com/p/a422e2e2ea8b OmniGraffle (三)基础绘图和模具 基础绘图中的流程图和思维导图在绘制上有一个共同点,就是希望软件在设计上能尽可能的减少对思考过程的干扰,用简单有效...

2016-05-12 16:30:29 12692 0

转载 mac画图工具 OmniGraffle (二)对象的控制

非常不错的mac绘图教程,尊重原作者 原文地址:http://www.jianshu.com/p/bef7f6272c10 OmniGraffle (二)对象的控制 OmniGraffle 里的对象可以分成四种:形状、文本、线条和图片,其中文本比较特殊一点,可以以文本框的属性独立存在,也可...

2016-05-12 16:27:07 3525 0

转载 mac画图工具 OmniGraffle (一)从工具栏开始

非常不错的文档,所以转载了原文地址:http://www.jianshu.com/p/52f3ecbe8f2d OmniGraffle (一)从工具栏开始 OmniGraffle的软件布局和大多数图形类软件类似,中间是编辑区,左边是页面和对象组织的管理,右边是参数设置和模具,顶栏有一些常用...

2016-05-12 16:22:33 11930 0

原创 java和Spring发送邮件

在项目中有很多地方需要用到发送邮件的功能,现在为大家分享一下在自己的项目中用Java发送邮件的配置过程。      需要如下六步即可配置完成      1 在pom中添加如下的依赖 javax.mail mail      2 在项目的resource目录中配置发邮件的服...

2016-05-12 15:52:11 481 0

原创 MySQL索引优化分析,SQL优化,慢查询分析

环境配置如下图: 测试数据如下.... type的取值在很大的程度上反应了SQL的执行性能, 按照性能由高到底,type的取值依次为:NULL,system,const,eq_reg,ref,range,index,ALL

2016-05-12 10:08:25 5713 0

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