摘要: Java类初始化条件 (1)类加载的时机: a) 生命周期:加载,验证,准备,解析,初始化,使用,卸载。 b) 5个确定的加载顺序,验证,准备,初始化,卸载。 c) 初始化的条件(有且仅有的四个条件): i. 遇到new,getstatic,putstatic,invokestatic字节码时,若未初始化,触发。 ii. 反射调用的时候,若没有初始化,触发; iii. 初始化类时,若... 阅读全文
posted @ 2013-06-29 10:11 鸾舞之殇 阅读(606) 评论(0) 推荐(0) 编辑
摘要: 学习hadoop也有一段时间了,本来一直在dataguru的日志系统上写一些学习工作的总结,但是比较的随意,没有太多的总结性。到最后因为那边的编辑系统不太好使,就决定转过来了。好了,废话少说,开始开源的hadoop项目源码学习旅途。这个系列的博客将根据《hadoop权威指南》(第三版)的第五章开始,逐步分析学习文章中第一次出现的类。第五章开始,就是Configuration,那就从这里入手。hadoop中,组件配置是由Hadoop的Configuration的一个实例实现。(在源码包的org.apache.hadoop.conf中可以找到)先上个类图:这只是部分的,Configuraation 阅读全文
posted @ 2013-03-23 15:20 鸾舞之殇 阅读(15795) 评论(1) 推荐(0) 编辑
摘要: 锁 Lock()Lock(指令锁)是可用的最低级的同步指令。Lock处于锁定状态时,不被特定的线程拥有。Lock包含两种状态——锁定和非锁定,以及两个基本的方法。 可以认为Lock有一个锁定池,当线程请求锁定时,将线程至于池中,直到获得锁定后出池。池中的线程处于状态图中的同步阻塞状态。构造方法: Lock()实例方法: acquire([timeout]): 使线程进入同步阻塞状态,尝试获得锁定。 release(): 释放锁。使用前线程必须已获得锁定,否则将抛出异常重入锁 RLock()RLock(可重入锁)是一个可以被同一个线程请求多次的同步指令。RLock使用了“拥有的线程”和“递归等级 阅读全文
posted @ 2012-12-30 16:23 鸾舞之殇 阅读(3102) 评论(0) 推荐(0) 编辑