摘要: 一年前,我们项目最开始使用的SSH(spring+springmvc+hibernate),那时候项目经理搭建好了框架就交给了我们,后来在一次配置事务的过程中,出现了大名鼎鼎的no seesion。网上查都是说事务没配置好,我选了好几种事务配置方法,其中只有注解有效,... 阅读全文
posted @ 2017-05-09 11:24 Lucare 阅读(119) 评论(0) 推荐(0) 编辑
摘要: spring版本为4.3.6.RELEASE不管是xml方式配置bean还是基于注解的形式,最终都会调用AbstractApplicationContext的refresh方法:@Overridepublic void refresh() throws Beans... 阅读全文
posted @ 2017-05-08 22:51 Lucare 阅读(260) 评论(0) 推荐(0) 编辑
摘要: public interface Comparable { public int compareTo(T o);}一般是用于比较的对象本身直接来实现,如常见的基本数据类型。public interface Comparator { int compare(... 阅读全文
posted @ 2017-05-06 20:12 Lucare 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 类从被加载到虚拟机内存开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载7个阶段。其中验证、准备、解析3个部分统称为连接。加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的。有且只有五种情况必须立即对类进行“初始化”: ... 阅读全文
posted @ 2017-05-02 09:35 Lucare 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 类加载器启动类加载器(Bootstrap ClassLoader):此加载器采用C++编写,一般开发中是看不到的。 负责将存放在\lib目录中的,或者被-Xbootclasspath参数所指定的路径中的,并且是虚拟机识别的类库加载到虚拟机中。扩展类加载器 (Exte... 阅读全文
posted @ 2017-04-27 17:47 Lucare 阅读(82) 评论(0) 推荐(0) 编辑
摘要: spring是个顶级的框架,这话没毛病。很多人想把它征服,想去阅读它的源码,弄懂它的设计思想,从中学到精粹。但是很多次打开后,看到庞大的体系结构,就懵逼了,不知从何入手。我在这里总结下学习spring的切入点:IOC 控制反转,是spring的核心吧,对于bean的生... 阅读全文
posted @ 2017-04-18 13:01 Lucare 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 关于Reactor模式,不再多做介绍,推荐Doug Lea大神的教程:Java 可扩展的IO本来在Reactor的构造方法中完成一系列操作是没有问题的:public class Reactor implements Runnable { private fina... 阅读全文
posted @ 2017-04-09 21:52 Lucare 阅读(125) 评论(0) 推荐(0) 编辑
摘要: Java NIO提供了与标准IO不同的IO工作方式: - Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲... 阅读全文
posted @ 2017-04-08 23:05 Lucare 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 常用容器一、ConcurrentHashMap使用一种粒度更细的加锁机制来实现更大程度的共享,这种机制称为分段锁。在这种机制中,任意数量的读取线程可以并发地访问Map,执行读取操作的线程和执行写入操作的线程可以并发地访问Map,并且一定数量的写入线程可以并发地修改Ma... 阅读全文
posted @ 2017-04-04 20:42 Lucare 阅读(85) 评论(0) 推荐(0) 编辑
摘要: Executor框架使用Runnable作为其基本任务表示形式。Runnable是一种有很大局限的抽象,它不能返回一个值或者抛出一个受检查的异常。但是许多任务实际上都是存在延迟的计算,比如执行数据库查询,从网络上获取资源,或者计算某个复杂的功能。对于这些任务,就要Ca... 阅读全文
posted @ 2017-03-26 20:08 Lucare 阅读(121) 评论(0) 推荐(0) 编辑