JavaEE
abing37
这个作者很懒,什么都没留下…
展开
-
【Spring】IOC容器并发条件下,可能发生死锁
1.背景 上周在生产环境应用启动时,发生应用频频发生死锁的现象。原因是因为spring IOC容器还未初始化完成,就有工作线程调用context.getBean()来获取容器里的对象。具体产生死锁的原因条件有:1. 应用启动的时候Main线程进行spring容器初始化。2. ...2011-08-28 17:07:49 · 564 阅读 · 0 评论 -
【Spring】IOC核心源码学习(二):容器初始化过程
接上文 啃啃老菜: Spring IOC核心源码学习(一) ,本文将以ClassPathXmlApplicationContext这个容器的实现作为基础,学习容器的初始化过程。ClassPathXmlApplicationContext类体系结构以下是ClassPathXmlApplicationContext的类继承体系结构,理解这个结构有助于后...2011-09-21 21:03:18 · 319 阅读 · 0 评论 -
【Spring】IOC核心源码学习(三):bean标签和自定义标签实现原理
接上文:【Spring】IOC核心源码学习(二):容器初始化过程 本文将解析spring bean定义标签和自定义标签的解析实现原理。这里说的标签仅限于以xml作为bean定义描述符的spring容器,继承AbstractXmlApplicationContext的一些子容器,如XmlApplicationContext、ClassPathXmlApplicationCo...2011-09-25 11:13:30 · 133 阅读 · 0 评论 -
啃啃老菜:Spring IOC核心源码学习(一)
啃啃老菜:Spring IOC核心源码学习(一) 本文主要以spring ioc容器基本代码骨架为切入点,理解ioc容器的基本代码组件结构,各代码组件细节剖析将放在后面的学习文章里。关于IOC容器 IoC容器:最主要是完成了完成对象的创建和依赖的管理注入等等。先从我们自己设计这样一个视角来考虑:...2011-08-14 13:57:28 · 235 阅读 · 0 评论 -
【JDBC,数据库】Oracle date和timestamp类型混用时需要注意的索引失效问题
1.关于 Oracle date和timestamp类型Date:只能精确到秒。TimeStamp:可以精确到微秒。关于具体类型不过多介绍。可以参考:http://www.databasejournal.com/features/oracle/article.php/2234501/A-Comparison-of-Oracles-DATE-and-TIMESTAMP-Datat...2011-12-14 15:27:47 · 1121 阅读 · 0 评论 -
【java规范】Java spi机制浅谈
最近看到公司的一些框架和之前看到的开源的一些框架的一些服务发现和接入都采用了java的spi机制。所以简单的总结下java spi机制的思想。 我们系统里抽象的各个模块,往往有很多不同的实现方案,比如日志模块的方案,xml解析模块、jdbc模块的方案等。面向的对象的设计里,我们一般推荐模块之间基于接口编程,模块之间不对实现类进行硬编码。一旦代码里涉及具体的实现类,就违反了可拔插的原则,...2012-04-24 23:04:35 · 413 阅读 · 0 评论 -
【性能】JDBC PreparedStatement和连接池PreparedStatement Cache学习记录
之前看JDBC规范的时候对PreparedStatement只是简单的知道会进行sql预编译,能提高性能。具体原理也没怎么理解。最近在性能测试遇到一个连接池的调优刚好是和PreparedStatement和PreparedStatementCache相关的。固重新系统的看了点资料学习了点,简单记录一下。 1.java.sql.PreparedStatement 首先看wiki对使...2011-12-08 17:20:32 · 474 阅读 · 0 评论 -
【java基础】如何设计java应用程序的平滑停止
java应用程序退出的触发机制有:1.自动结束:应用没有存活线程或只有后台线程时;2.System.exit(0);3.kill 或 ctrl+C;4.kill -9 强制退出; 如何做到应用程序平滑停止程序的退出就像关机一样,我们希望关机时平滑关机,保证所有应用程序的数据都保存了。就像现在在写得blog,希望关机的时候能被保存好到草稿箱里。我们的的jav...2012-03-05 23:44:30 · 196 阅读 · 0 评论