|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最后就是我对java的几点希望:首先是IDE工具,有人说java已经很好了,有jbuilder,eclipse,net网页编程Beans等等,但是我认为如果java想超越.net网页编程,那么他首先要解决的就是IDE工具的整合。
对象可触实时的性命周期
在JVM1.2之前,堆中的对象分为三种形态,分离是:
1.可触及的--从根节点入手下手可追踪到
2.可回生的--从根节点入手下手追踪不到,但有大概被闭幕办法触及并回生。不单单是那些声了然finalize()办法的对象,而是一切的对象都要经由可回生形态
3.不成触及的--以上两种大概性都不存在,能够真正接纳它们所占有的内存了
版本1.2中,可触及按强弱进一步细分为:
1.强可触及--即本来的可触及,从根节点入手下手的任何间接援用,如一个部分变量或任何从强可触及对象的实例援用的对象
2.软可触及--体现为SoftReference所援用的对象
3.弱可触及--体现为WeakReference所援用的对象
4.影子可触及--体现为PhantomReference所援用的对象
SoftReference、WeakReference、PhantomReference都是java.lang.ref.Reference类的子类。强援用与这三种弱援用之间最基础的不同是,强援用克制援用方针被渣滓搜集,而那三种援用不由止。
要创立某一对象的软援用、弱援用或是影子援用,只需复杂的包装一下。比方,创立一个cow对象的软用就写成:
SoftReferencesoftCow=newSoftReference(cow); //关于WeakReference和PhantomReference都是一样的
这里softCow是一个强援用,从softCow到cow是一个软援用,也就预示着渣滓搜集器从根节点入手下手只能经由过程一个软援用才干触及到这个cow对象。要割断到cow的软援用,使之不再软可触及,可挪用softCow.clear(),要猎取cow对象用softCow.get()。
可触及性形态的变更
引进三个如许的援用关于假造机是有效处的,渣滓搜集器对强援用对象是不克不及肆意妄为,可是它可随便变动百强可触及对象的可触性形态。在软援用、弱援用大概影子援用指向对象的可触及形态被渣滓搜集器改动时,你能够取得这变更产生的关照,办法是要把援用对象和援用行列联系关系起来。
援用行列是java.lang.ref.ReferenceQueue类的实例,渣滓搜集器在改动可触及性形态时会把所触及的援用对象编进到行列中。你只需设置并察看援用行列,即可异步失掉关照了。
<p>
有了这样一个呼声:让java代替C语言成为基本语言。这些足以说明java简单易学的这个优点。其次,java的功能强大,前面我也提到了,EJB3.0的推出使java成为了大型项目的首选。 |
|