再见西城 发表于 2015-1-18 11:16:16

发布一篇诊断Java代码: 在标准钢丝下行走

用winrar打包j2ee的程序和用IDE打包应用程序是一样的。按照你的想法,你是不是也希望服务器都整合由一家公司提供呢?
要构建牢靠的软件,程序标准很关头。没有优秀界说的标准,很难诊断软件体系的非常举动。可是良多软件体系的程序标准界说得很低劣。并且更糟的,是很多软件体系基本就没有标准。
直不雅的看,程序标准是对程序举动的一种形貌。它能够接纳很多情势,但不管接纳何种情势,都有一条主线贯串一切实例:必需有某品种型的体系标准,由于您得依托它来判别体系是不是运转一般。
标准能够情势化也能够松懈地界说,这取决于开辟中体系的不乱性和伤害水平,还与开辟终了后修正体系的简单水平有关。
我们将经由过程会商标准为何主要、为何会常常被疏忽和怎样改良这类情形来入手下手我们的此次“路程”。
均衡精度的本钱和收益
在微处置器计划天下中,体系部署在各类范围的使用上,从团体盘算机到担当重担的医疗和军事体系。在这个范畴中有一个广泛的、牢不成破的划定规矩:在部署以后修正芯片计划的本钱是极为高贵的。
因而,一般会将微处置器的标准情势化,这也就多如牛毛了。一个正式的标准有伟大的优点,由于可以主动地注释和剖析它。就微处置器而言,计划的很多方面能够主动地被考证无误。
软件类比:编程言语
在软件天下中,在部署和伤害水平方面,最相似于微处置器的事物是编程言语。一种提高的编程言语被用来编写有数的程序,它们被用于各类伤害水平级别分歧的体系中。
和芯片一样,在投进利用以后修正言语计划的本钱是相称高贵的,由于一切现有的程序都必需修正和从头编译。因而,与别的软件体系比拟,编程言语的标准一般是相称正式的。
关于语法,这类情势化特别主要。现实上,一切古代编程言语都具有正式界说的语法。年夜多半剖析器是经由过程利用主动的剖析器天生器机关的,天生器读进这些文法并发生完全的剖析器作为输入。
不幸的是,言语语义其实不偏向于作如许严厉的划定。这并不是由于不克不及做到如许严厉。
象ML如许言语具有情势化的语义,并因而证实了很多关于它们的法例,用于考证其准确性的某些方面(比如,它们的范例体系的完美)。可是象ML如许的言语是惯例。我们能够断定形成这类情形的两个缘故原由。
起首,由于证实关于编程言语标准的特征实践上比硬件计划更难以把握,以是不太必要正式的标准。相反,很多言语是用叙说性笔墨划定的。这些笔墨标准关于年夜多半实践利用言语的人(比如编译器作者)来讲已充足了。实践上,编译器作者一般入神于不太正式的标准,由于它给了他们更多优化程序的空间。别的,有些时分言语的利用者是程序员,他们中的年夜多半很浏览非正式标准,由于如许他们能够轻松地舆解标准。
第二个来由是,很多言语是由独自的开辟职员作为“专业喜好”开辟的,而他们常常其实不特长于编程言语范畴。遗憾的是,这些开辟职员经常其实不懂得为划定编程言语语义而开辟的情势系统。
不置可否的本钱的示例
但是,言语标准中的不置可否或纷歧致酿成的本钱多是相称高贵的,会招致可移植性、牢靠性的下降,乃至会形成平安性毛病。经由过程研讨一些以后普遍利用的言语,能够发明它们的标准中绝对的准确水平是怎样影响它们的。
C++言语的标准有很多不置可否的中央,乃至在语法级别也有。别的,标准的很多部分是酿成依附于完成的。了局是:C++程序一般很难在多种平台上按预期的那样运转。
Python言语标准遗留了很多依附于完成或不决义的细节。了局,诸如Jython和CPython之类的完成,在供应与另外一方不异的举动这个方面,面对着伟大困难。假如不是由于Python言语绝对对照复杂(并不是褒义),这一成绩还会更糟。
只管Java言语没有正式的标准(相似于ML那样的),可是在准确的非正式标准的开辟上投进了良多勉力。该言语一般编译成由JVM注释的字节码,而JVM自己具有优秀的标准(只管经由过程正式剖析在该标准中发明了一些不置可否的中央)。别的,JavaAPI都作为JVM的一部分划定。这使得Java代码具有绝后水平的可移植性。
我们从中能够得出结论,一份尽量准确的言语标准会十分有效。但即便在编程言语天下中,标准中的成绩也是最高贵的,准确的标准很少,部分缘故原由在于事后制造一份准确标准很高贵。
很多公司发明本钱更低的做法是先托付产物,今后(大概极可能永久也不会)再充分标准细节。固然,关于性命周期较短和部署局限较窄的使用程序,事后界说准确标准的确是太高贵了。偶然大概合作敌手早已托付了体系,而开辟团队还未正式断定其体系的标准。
别的,年夜型标准很少在用户需求变动时更新,而且因而被疏忽了。可是假如事后界说标准太高贵,开辟团队应当接纳甚么办法来划定他们的软件呢?
在回覆这个成绩之前,让我们思索一下一个经常使用的,但也的确是最糟的办法吧。
<p>
而学习JAVA我觉得最应该避免的就是:只学习,不思考,只记忆,不实践!

若相依 发表于 2015-1-20 19:02:10

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

再见西城 发表于 2015-1-28 23:48:33

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

爱飞 发表于 2015-1-30 22:32:03

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

金色的骷髅 发表于 2015-2-2 22:30:25

Java是一种计算机编程语言,拥有跨平台、面向对java

飘灵儿 发表于 2015-2-9 13:11:03

Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台

变相怪杰 发表于 2015-2-10 04:08:30

那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!

活着的死人 发表于 2015-2-13 18:58:34

Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。

山那边是海 发表于 2015-3-4 01:04:47

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

蒙在股里 发表于 2015-3-10 12:43:07

Java是一种计算机编程语言,拥有跨平台、面向对java

因胸联盟 发表于 2015-3-17 07:08:27

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

小女巫 发表于 2015-3-24 00:32:31

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
页: [1]
查看完整版本: 发布一篇诊断Java代码: 在标准钢丝下行走