冷月葬花魂 发表于 2015-1-18 11:32:07

JAVA网页编程之别用Java 7?你是在开顽笑吗?仓酷云

诸如RMI,EJB等一些技术并不是你说的那么复杂,而是它们把一些复杂的工具封装成不复杂的工具了,理解这些工具是需要些时间。我问你,.net网页编程里有这些工具吗?要简单多少?。Java7方才公布没两天,但来自Lucene和Solr社区的某些人当即报料了一些Java7中的严峻bug。乃至ApacheLucene项目办理委员会成员UweSchindler公布了临时不要利用Java7的告诫信息。那末究竟Java7是有甚么成绩,为何我们等了5年的Java7如今却不克不及利用呢?让我们来看看实践的情形。
这个成绩跟Java7有关,而是跟JVM有关
起首这个成绩是跟HotSpotJVM有关,而不是Java7言语自己的成绩。此次公布的GA版本包括三个bug:7070134,7044738和7068051,这三个bug间接招致JVM溃散大概举行毛病的盘算。
Hotspot是由于PorterStemmer的sigsegv而溃散的
第一个成绩(7070134)是关于毛病的编译器对轮回的优化,该特征在HotspotJVM中是默许启用的,你能够经由过程-XX:-UseLoopPredicate参数来封闭这个特征。假如你想懂得关于这个成绩的概况,请看Stemmer.java,编译并同意这个类你将会重现JVM溃散并报严峻毛病,信息以下:
#AfatalerrorhasbeendetectedbytheJavaRuntimeEnvironment:
#
#EXCEPTION_ACCESS_VIOLATION(0xc0000005)atpc=0x00000000026536da,pid=5432,t
id=6568
#
#JREversion:7.0-b135
#JavaVM:JavaHotSpot(TM)64-BitServerVM(21.0-b05mixedmodewindows-amd64
compressedoops)
#Problematicframe:
#JStemmer.step4()V
这个毛病间接在代码实行过程当中产生,在JDK1.6是体验不到的。而比来Lucene做了一些更天真的基于PulsingCodec算法的索引机制,而这个机制相称年夜的水平上会招致上述的毛病。
轮回睁开优化会招致不准确的了局
第二个bug(7044738)是“毛病的盘算”,这个毛病极其稀有的产生在OSR(On-StackReplacement)编译嵌套轮回上,把持流加入且对应的内存没有被思索到,这间接招致反复的克隆了局,想懂得编译细节请看olderoverview(PDF)
一个最复杂的办理举措就是利用-XX:LoopUnrollLimit=1参数来制止这个成绩。
Clonelooppredicateduringloopunswitch
第三个bug(7068051)跟一些老的featurerequest相干,因为一些有效的JVM统计招致利用轮回优化后的JVM溃散。

结论
依据这些bug的情形,只要在你大批的利用这些优化办法,那末你才大概已受Java7中存在的成绩所影响。一样平常情形下是不受影响的。现实上Java6的用户利用了某些优化选项也会存在成绩,但由于这些优化选项在Java7中是默许启用的才招致这个成绩影响那末年夜,比方(-XX:+OptimizeStringConcator-XX:+AggressiveOpts),因为这些成绩在Java7公布的前5天赋被发明,因而Oracle来不及办理这些bug,今朝Oracle仿佛也正在筹办下一个补钉版本,但对一些初级用户来讲,这些都不是成绩,由于源码是开放的,你能够做你想做的。

进而能拉拢大多数程序员用windows产品。并且从net网页编程网页编程AJAX可以跨平台这一点上,间接证明了我们的推断,至少证明了微软做过这方面的研究。所以如果哪一天突然听说了.net网页编程可以跨平台了,那么请不要吃惊,如果这一天真的到来,java就到了真正和.net网页编程决战的时刻。因为不到万不得以的时候微软是不会推出跨平台的.net网页编程的,如果跨平台的.net网页编程还不足以对抗java的话,那么微软还剩的手段就是开源了,呵呵。

变相怪杰 发表于 2015-1-21 09:36:28

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

兰色精灵 发表于 2015-1-30 13:40:48

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

再现理想 发表于 2015-2-4 13:23:29

是一种将安全性(Security)列为第一优先考虑的语言

仓酷云 发表于 2015-2-7 07:30:41

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

分手快乐 发表于 2015-2-10 02:55:21

你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。

活着的死人 发表于 2015-2-28 16:52:21

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

山那边是海 发表于 2015-3-8 02:49:11

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

再见西城 发表于 2015-3-15 20:16:20

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

灵魂腐蚀 发表于 2015-3-20 18:12:14

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

透明 发表于 2015-3-26 06:40:58

一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从

愤怒的大鸟 发表于 2015-3-26 23:55:41

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

莫相离 发表于 2015-3-29 02:49:39

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

深爱那片海 发表于 2015-3-29 12:53:18

科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

简单生活 发表于 2015-4-7 11:19:49

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

柔情似水 发表于 2015-4-8 15:32:15

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

若相依 发表于 2015-4-21 09:30:09

是一种使网页(Web Page)产生生动活泼画面的语言

小女巫 发表于 2015-4-22 08:45:01

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

admin 发表于 2015-4-29 18:42:37

是一种使网页(Web Page)产生生动活泼画面的语言

因胸联盟 发表于 2015-5-3 20:35:20

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
页: [1] 2
查看完整版本: JAVA网页编程之别用Java 7?你是在开顽笑吗?仓酷云