Java
iteye_18581
这个作者很懒,什么都没留下…
展开
-
JAVA中怎样测private方法?
怎样测private方法? Summer example = new Summer.newInstance(); Method m = example .getClass().getDeclaredMethod("methodone",new Class[]{String.class}); m.setAccessible(true); Object re...2008-02-12 20:09:58 · 304 阅读 · 0 评论 -
Tomcat 启动过程
有点乱,基本上是看代码时的笔记。 StandardServer.init StandardService.initialize Http11Protocol.init JIoEndpoint.init connector.initialize() JkCoyoteHandler.init JkMain.init 这里的几个类基本都实现了Lifecycle接口,这个接口非...2009-06-01 11:31:00 · 124 阅读 · 0 评论 -
junit笔记
译自:http://junit.sourceforge.net/doc/cookstour/cookstour.htm 不是直接翻译。 1. Command 模式 一个TestCase就是一个Command,command内容都写在run方法里。 2. A best practice is from Smalltalk, "Collecting Parameter": 当你需要收集多...2009-05-14 17:18:42 · 146 阅读 · 0 评论 -
volatile
volatile 关键字 译自 http://www.javamex.com/tutorials/synchronization_volatile.shtml 一、简介 volatile在JAVA5开始变化比较大。 volatile是用来说明变量的值会被多个线程修改到,用volatile关键字定义了的变量意味着: 1.这个变量的值不会被线程cache到,所有的读写操作都是直接操作主...2009-05-11 13:20:53 · 59 阅读 · 0 评论 -
ConcurrentHashMap, Hashtable and HashMap
1. default initial capacity, HashMap is 16, Hashtable is 11(eleven). 而且HashMap的capacity应该是2的指数倍的,它还有MAXIMUM_CAPACITY。 HashMap的构造函数中还会调用一个init()方法,这个默认是空的,是留给子类来做个性化定义的。 DEFAULT_LOAD_FACTOR is 0.75...2009-05-07 16:20:00 · 130 阅读 · 0 评论 -
ReentrantLock
在ReentrantLock中主要定义了static的内部类:Sync。 static abstract class Sync extends AbstractQueuedSynchronizer { 然后又分别派生出:NonfairSync,FairSync两个类。 这两个区别是:NonfairSync中的tryAcquire就看当前(锁)的状态是否是0,如果是则 state=acqu...2009-04-28 15:14:28 · 108 阅读 · 0 评论 -
AbstractQueuedSynchronizer
ReentrantLock implements Lock 主要定义了一个内部类Sync是继承AbstractQueuedSynchronizer 所以看看:AbstractQueuedSynchronizer 定义了内部类Node 状态:CANCELLED(1),SIGNAL(-1),CONDITION(-2) /** Marker to indicate a node ...2009-04-28 13:26:26 · 122 阅读 · 0 评论 -
Lock interface in JDK1.5
在JDK1.5之前,多线程并发一般用synchronized关键字来实现。1.5之后,在java.util.concurrent包提供了更强大的支持。 synchronized 方法或语句的使用提供了对与每个对象相关的隐式监视器锁定的访问,但却强制所有锁定获取和释放均要出现在一个块结构中: 当获取了多个锁定时,它们必须以相反的顺序释放,且必须在与所有锁定被获取时相同的词法范围内释放所有锁定。 ...原创 2009-04-27 16:43:46 · 113 阅读 · 0 评论 -
在看ConcurrentHashMap的杂记
static final int MAXIMUM_CAPACITY = 12009-04-27 10:13:28 · 89 阅读 · 0 评论 -
关于Java中String的Memory问题
昨天看到一个blog,用一个极端例子来说明Java中的内存问题: http://blog.xebia.com/2007/10/04/leaking-memory-in-java/ 测试代码如下: public class TestGC { private String large = new String(new char[100000]); ...2007-10-11 10:48:02 · 334 阅读 · 0 评论 -
Hibernate初探
开始看Hibernate reference,运行hibernate的test中的代码。 Environment是一个非常重要的类。它定义了很多常量,最重要的是hibernate的入口在这里。在Environemt类中有段static 代码: static { //一些常量设置 //导入hibernate.properties到GLOBAL_PROPERTIES InputStream...2007-09-18 11:31:36 · 100 阅读 · 0 评论 -
boolean 在JVM的特别之处
摘自《深入Java虚拟机第二版》 boolean是基础类型,但它有点特殊。指令集对boolean的支持有限,当编译器把Java代码编译为字节码的时候,会用int或byte来表示boolean。在Java虚拟机中,false是用整数零来表示,所有非零整数都表示true。 涉及boolean的操作会使用int,boolean数组则是当做byte数组来访问,而在“堆”区,它也可以表示为位...原创 2009-06-15 13:22:26 · 464 阅读 · 0 评论