仓酷云

标题: 发布一篇关于JVM的渣滓搜集(三) [打印本页]

作者: 小妖女    时间: 2015-1-18 11:22
标题: 发布一篇关于JVM的渣滓搜集(三)
最后就是我对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成为了大型项目的首选。
作者: 爱飞    时间: 2015-1-20 22:00
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
作者: 老尸    时间: 2015-1-26 22:08
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
作者: 飘飘悠悠    时间: 2015-1-26 22:24
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
作者: 柔情似水    时间: 2015-2-4 20:58
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
作者: 飘灵儿    时间: 2015-2-10 05:08
Java是一种计算机编程语言,拥有跨平台、面向对java
作者: 分手快乐    时间: 2015-2-28 21:03
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
作者: 小妖女    时间: 2015-3-4 10:31
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
作者: 透明    时间: 2015-3-10 23:48
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
作者: 若相依    时间: 2015-3-11 10:15
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
作者: 冷月葬花魂    时间: 2015-3-18 04:36
是一种为 Internet发展的计算机语言
作者: 因胸联盟    时间: 2015-3-25 11:39
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2