我刚开始看JIVE的代码,有很多问题向大家请教

03-08-21 香烟
1,是关于synchronized 的,synchronized不是可以用在方法上么?

比如synchronized void getConnection(){}, 为什么在JIVE中要专门写一个什么

Object ObjectLock=new Object();

再在类中使用:

synchronized(ObjectLock){

}

直接写在方法前不好么? JIVE这么写的好处是什么呢?

2,我是从数据库开始看的,

DfaultConnectionProvider 这个类中实现了两个内部类:

一个是public 的ConnectionWrapper

一个是private 的 ConnectionPool

为什么这么用呢?内部类的好处在什么地方呢?

小弟愚钝,希望各位来帮帮我啊~

tomfan
2003-08-23 09:36
> 1,是关于synchronized

> d 的,synchronized不是可以用在方法上么?

> 比如synchronized void getConnection(){},

> 为什么在JIVE中要专门写一个什么

> Object ObjectLock=new Object();

> 再在类中使用:

> synchronized(ObjectLock){

> }

>

> 直接写在方法前不好么? JIVE这么写的好处是什么呢?

写在方法前 是以对象实例为加锁对象,并且是整个方法的执行过程都处于锁定。而设置 new object 可以比较灵活地在需要地时候加,在不需要地时候释放,不受方法的限制。

> 2,我是从数据库开始看的,

> DfaultConnectionProvider

> vider 这个类中实现了两个内部类:

> 一个是public 的ConnectionWrapper

> 一个是private 的 ConnectionPool

>

> 为什么这么用呢?内部类的好处在什么地方呢?

>

> 小弟愚钝,希望各位来帮帮我啊~

内部类就是自己用,别人不能用。这样减少代码耦合度。避免今后,我要改实现,别人哇哇叫。

jgma
2003-08-25 13:34
我也想知道

猜你喜欢