最近因为公司项目需要,调研了一下Openresty。因为Openresty是基于lua语言编写,对于IDE的选择让我很纠结。在笨重的IDEA和轻快的Sublime间纠结了很久,两者都做了尝试。Idea因为写Java一直用,已经非常熟悉,但是在写动态脚本语言方面,显然不能发挥出它的优势。首先是代码导航,因为动态解释...
Doug.Lea老爷子写的JDK的java.util.concurrent.locks包,提供了一组完善的锁机制。之前曾刷过这个包的代码,但是都没有留下什么干货,这一次做一个总结,也将此作为膜拜Doug.Lea系列的第一章。(希望还能有第二章。。。) locks包结构locks包内的内容实际不多,结构也很清晰。 ...
Java EE 是什么?大部分java的工程师会这样给出Java EE的定义:一个企业级的Java开发包,比Java SE 多出来一些包。说对也对,说对也不对,算是一个模凌两可的答案。这也是我很长一段时间对Java EE的印象。今天就聊聊,Java EE究竟是什么。 Java EE,Java平台企业版(Java...
概述项目中用到了双重检查锁定单例模式(DCL),同组的同学看到后给提交了新的merge request,去除了双重检查锁定,原因是DCL并不是安全的。从这个引子开始,我接触到了一系列并发相关的知识,并有了自己的理解,这里用文字整理出来,以巩固知识。先留下最初的问题:DCL为什么是不安全的,如何保证DCL的并发安全...
写在开篇Git作为目前使用最为广泛的分布式版本控制系统,其设计思路和使用实战都值得我们去了解和掌握。这篇blog主要记录了我学习Git的过程,以及在学习过程中一些心得体会,同时将目前学到的内容如何在实战中应用做一个简单的介绍,帮助从未接触过版本控制,或者一直在使用Subversion等集中式版本控制系统的同学快速...