仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1025|回复: 19
打印 上一主题 下一主题

[学习教程] JAVA网页编程之Java 6 Hotspot的功能仓酷云

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:34:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试)Sun公司的KohsukeKawaguchi考查了HotspotJIT在JDK6u10b14debug版中发生的汇编代码,并将其纪录在博客中。该博文侧重论述了Java优化的水平。
Kawaguchi将重点放在两个次要的中央。起首是轮回睁开(loopunrolling),它是如许一种手艺:复制轮回的每次迭代所挪用的指令以组成一个序列。经由过程削减轮回上钩算机必要实行的指令,节俭了实行工夫。JIT将其与预处置和过后剖析相分离,同时Kawaguchi对此的增补也申明了如许的现实:编译器已从轮回的疾速实行部分傍边移除一个冗余的数组索引反省。别的,了局汇编代码证实了特定于处置器的优化水平怎样。比方,Kawaguchi谈到了上面的代码:
privatestaticbyte[]foo(){
byte[]buf=newbyte[256];
for(inti=0;ibuf=0;
returnbuf;
}
所发生的汇编了局利用了特定于AMD64芯片的R8-R15通用存放器汇编代码。
其次是环绕着锁(locks)而举行的优化。在Java中非竞态锁的猎取在不休地改善,而竞态锁的猎取却一向存在成绩。这个范畴的事情还在延续举行中,可是Kawaguchi的事情却申明了几个已失掉改善的中央。
这篇文章展现了该Hotspot编译器良多其他的特征,包含壮大的内联——JamesGosling注重到一篇相干的博文中说“乃至连存储分派和初始化都必要内联”。这一层级的侵犯性(aggression)是大概存在的,部分缘故原由在于JVM会在需要时做一些潜伏不平安的优化。CharlesNutter在往年初列入Lang.NET年夜会时曾对此提出了一个很好的注释。他也夸大了这项事情与JRuby的干系,和与任何面向JVM的言语的干系。
“已往JVM有多种分歧的才能往静态优化和再优化代码……也许最主要的是需要时的静态“逆优化(deoptimize)”。在处置功能成绩时,逆优化(Deoptimization)使人十分镇静,由于这意味着你能够举行更多的侵犯性优化——对全部使用不断定的将来的潜伏的不平安的优化——晓得你能够在平安的路径上回退。一旦你几回碰到不异的路径,你就能够内联全部挪用路径。除非分明必要,你能够疏忽同步回护。你还能够在发明成绩以后改动利用的优化集……实质上,在运转过程当中你能够平安的“堕落”而且从毛病中进修。这就是为何在特定的基准上Java超出了C和C++和终极在几近一切基准上它都能将超出C和C++的次要缘故原由。同时这也是我们的JRuby与微软的IronPython和DLR比拟,只必要做很少的事变就能够取得可承受的功能的一个关头缘故原由。”
从实际上讲,像Java如许的注释型言语的功能很有大概终极将超出编译型言语,由于它能够在运转时基于现有硬件举行优化,同时Java中不休进步的对特定于处置器的优化的确使人十分镇静。关于面向Java平台的开辟者来讲,一个分外的优点在于跟着新版本Java编译器的公布,代码的功能会精益求精,而无需对使用的源码做任何变动。
检察英文原文:Java6HotspotPerformance
来自:http://www.infoq.com/cn/news/2008/05/hotspot_performance

C#是盗用了Java的源代码,仿照开发的,原因是Java是开源的啊,盗了也白盗,还有一点,开发C#语言的团队是就是开发Java语言的团队,是微软重金挖过去的啊
只想知道 该用户已被删除
沙发
发表于 2015-1-21 10:29:34 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
若相依 该用户已被删除
板凳
发表于 2015-1-21 20:52:17 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
乐观 该用户已被删除
地板
发表于 2015-1-22 12:40:19 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
蒙在股里 该用户已被删除
5#
发表于 2015-1-27 10:07:07 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
愤怒的大鸟 该用户已被删除
6#
发表于 2015-1-31 07:46:18 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
金色的骷髅 该用户已被删除
7#
发表于 2015-2-6 18:29:28 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
小女巫 该用户已被删除
8#
发表于 2015-2-6 19:20:02 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
深爱那片海 该用户已被删除
9#
发表于 2015-2-8 20:30:38 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
简单生活 该用户已被删除
10#
发表于 2015-2-26 05:36:42 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
飘灵儿 该用户已被删除
11#
发表于 2015-3-2 09:55:56 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
admin 该用户已被删除
12#
发表于 2015-3-5 17:28:15 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
再现理想 该用户已被删除
13#
发表于 2015-3-12 10:44:34 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
活着的死人 该用户已被删除
14#
发表于 2015-3-13 04:09:38 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
精灵巫婆 该用户已被删除
15#
发表于 2015-3-21 18:24:34 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
山那边是海 该用户已被删除
16#
发表于 2015-4-1 10:52:03 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
莫相离 该用户已被删除
17#
发表于 2015-4-8 04:52:59 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
海妖 该用户已被删除
18#
发表于 2015-4-10 20:52:35 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
飘飘悠悠 该用户已被删除
19#
发表于 2015-4-21 12:23:07 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
第二个灵魂 该用户已被删除
20#
发表于 2015-5-12 14:45:01 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-20 22:52

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表