灵魂腐蚀 发表于 2015-1-18 11:34:36

JAVA网页设计JavaOne: Garbage First仓酷云

你通过从书的数量和开发周期及运行速度来证明:net网页编程和ruby要比java简单。Sun的HotSpot渣滓搜集器可分为两类:重生区(younggeneration)与老年区(tenuredgeneration)。年夜部分的内存分派在重生区中举行,相对渣滓搜集的距离工夫来讲,它经由了优化而且性命周期很短。经由几回渣滓搜集后仍旧存活于重生区中的对象将被迁徙到老年区中,这部分地区一般更年夜而且渣滓搜集不那末频仍。重生区搜集器分为一连式(Serial)、同旧式(ParNew)及并行扫描式(ParallelScavenge)三种。一切这三种都是拷贝搜集器。一连式利用了一个独自的GC线程,而同旧式与并行扫描式都利用了多线程。老年区搜集器都利用了标志扫描紧缩(mark-sweep-compact)算法。一样老年区搜集器也分为三种:SerialOld(另外一个独自的GC线程)、ParallelOld(利用多个GC线程)及CMS(一个多并发低停息的搜集器)。GarbageFirst的方针在于交换失落CMS而且接纳了某些分歧的体例——超过了重生区和老年区的界限。
在往年JavaOne的一个展现中,TonyPrintezis对GarbageFirst举行了细致的先容,在JavaOne年夜会的网站上有一个随后的采访。Printezis概述了GarbageFirst(G1)的事情体例:
“堆被切分红流动巨细的地区,同时两个地区之间的分开基础上是公道的。因而我们能够以为一些地区是新的,另外一些是老的。在G1中一切的空间接纳都是经由过程拷贝完成的。G1选择一组地区,从那些地区中摘出存活的对象,然后将其拷贝到另外一组地区中。这就是G1中空间接纳的体例,而不是CMS中所接纳的那种体例(拷贝与得当的重分派的组合体例)。”Printezis持续论述了新的搜集器的三个次要方针:
“主要方针是随一直分歧的低停留率。实质上,因为G1在处置同时做紧缩,它将对象从堆的一个中央拷贝到另外一个中央。如许,因为紧缩的缘故原由,它不会碰到CMS大概会碰到的碎片成绩。总会有一连余暇的空间供分派,这就使得G1具有一直分歧的停留率。
第二个方针是只管制止完整的GC。在G1对全局举行标志并决意堆上对象的活泼度后,它立即就晓得堆上的哪些地区几近是余暇的。它将起首处置那些地区,腾出大批空间。经由过程这类体例,渣滓搜集器将取得更多空间并削减完整GC的大概性。这也是为何该渣滓搜集器叫做Garbage-First的缘故原由。
最初一个方针是优秀的吞吐量。关于我们良多客户来讲,吞吐量意味着统统。我们希冀G1具有优秀的吞吐量以满意我们客户的需求。”Sun研讨小组宣布了一篇论文(pdf格局)加倍细致地叙述了Garbage-First并深切剖析了怎样完成这些方针,特别是及时方针。年夜多半及时搜集器事情在单个对象条理上,而GarbageFirst则在地区条理长进行搜集。假如任何地区不再包括存活的对象时,它就会被立即接纳。用户能够为停留率指定一个方针,G1会基于之前的搜集对此时可接纳的地区数目作出估量。该搜集器对地区接纳的价值有一个公道且准确的模子,以是“该搜集器能够在给定的停留工夫内(高几率)选择一组可被接纳的地区。”换句话说,Garbage-First并非一个地道的及时搜集器——它以高几率但不停对地满意软及时方针。作为互换,Garbage-First应当具备更高的吞吐量以作为软及时的抵偿,可是其仍会过度遵守及时的限定。这关于常常发生大批存活堆数据和线程级别数据的年夜范围服务器端使用来讲长短常棒的。Garbage-First还供应了一些杰出的把持,使得用户能够在渣滓搜集的实行周期中指定一小部分工夫——比方,鄙人一个120秒中最多花20秒的时间在渣滓搜集上。
GarbageFirst将会包括在JavaSE7中而且过几周就会被提交。它也将以晋级包的体例到场到Java6中。
检察英文原文:JavaOne:GarbageFirst
来自:http://www.infoq.com/cn/news/2008/05/g1

先谈谈我对java的一些认识。我选择java,是因为他语法简单,功能强大,从web,到桌面,到嵌入式,无所不能。但当我进一步了解了java后,感叹,java原来也有许多缺点。

谁可相欹 发表于 2015-1-21 10:28:55

是一种为 Internet发展的计算机语言

飘灵儿 发表于 2015-1-29 07:18:46

是一种突破用户端机器环境和CPU

老尸 发表于 2015-2-4 20:35:15

我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。

飘飘悠悠 发表于 2015-2-7 06:40:26

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

小女巫 发表于 2015-2-8 00:31:13

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。

兰色精灵 发表于 2015-2-10 05:37:32

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

因胸联盟 发表于 2015-2-24 21:16:26

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

金色的骷髅 发表于 2015-3-7 13:05:55

《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。

变相怪杰 发表于 2015-3-8 17:06:44

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

小魔女 发表于 2015-3-13 02:07:11

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

海妖 发表于 2015-3-20 09:06:48

一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。

愤怒的大鸟 发表于 2015-3-29 22:24:36

其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。

简单生活 发表于 2015-4-13 07:13:51

是一种为 Internet发展的计算机语言

小妖女 发表于 2015-4-16 15:11:29

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

柔情似水 发表于 2015-4-16 21:19:59

是一种为 Internet发展的计算机语言

若天明 发表于 2015-4-20 18:52:55

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

只想知道 发表于 2015-4-23 02:41:36

Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站

莫相离 发表于 2015-6-5 23:04:54

是一种为 Internet发展的计算机语言

深爱那片海 发表于 2015-7-2 21:23:38

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
页: [1]
查看完整版本: JAVA网页设计JavaOne: Garbage First仓酷云