灵魂腐蚀 发表于 2015-1-18 11:02:58

了解下JAVA的ivy中文参考文档(6)-最好理论(上)

在性能方面,在windows平台下,.net可能是占强项,要是把.net放在sun开发的操作系统上去运行呢?根本就运行不了,.net对其它操作系统的支持也很弱,性能也可能比不上java。
这里有一些我们从我们的履历和一些客户的参谋事情中搜集到的倡议和最好理论。
1)为一切的模块增加模块形貌符
在ivy的天下种,模块形貌符是ivy文件的一种,基础上是复杂的xml文件,用来形貌模块临盆甚么作为成品和它的依附。
为你的开辟触及到的一切模块编写大概下载模块形貌符是一个好习气,乃至是为你的第三方依附,哪怕他们不供应他们本人的模块形貌符。
入手下手这将看上往像是一个分外的事情,而且必要工夫。可是当你具有多个模块同时利用不异的第三方类库,你仅仅必要在你的ivy文件中增加一行就能够失掉这个类库和它独有的你真正必要的依附(假如你的堆栈中有准确的模块形貌符,特别是和模块设置一同利用)。当你想更新一个依附时它将十分有匡助。在你的模块的ivy文件中一个复杂的修正就能够失掉更新过的版本和它更新(大概没有)过的依附。
因而我们保举在你的堆栈中为一切的模块增加ivy文件,你乃至能够经由过程设置你的剖析器上的allownomd属性为false来强迫实行这个规则。你不必要利用依附成品的包括/扫除/specification这些ivy特征,这些仅仅能够用于十分特别的情形。
2)利用本人的企业堆栈
关于开源项目而言这一般不是一个准确的倡议,可是关于企业天下我们激烈倡议掩蔽做来制止依附一个大众的堆栈相似maveibiblio大概ivyrep.为何?好,这里有一堆来由:
1.把持
关于大众堆栈最次要的成绩在于你没有堆栈的把持权。这意味着假如一个模块形貌符破坏,你不克不及容易的修复它。固然你可使用一个由共享堆栈和大众堆栈构成的链,而且将你修复后的模块形貌符安排到共享堆栈以便它能埋没大众堆栈,可是这会招致堆栈扫瞄和保护的贫苦。
更多的成绩在于堆栈大概的更新。我们晓得在堆栈中公布的版本应当坚持不乱而且不要更新,可是我们也频仍的看到模块形貌符有良多bug,大概成品被破坏。乃至某些时分我们看到一个新的版本利用和之前版原形同的名字公布,由于前一个版本只不外是被毛病打包。这类情形设置产生在最好的工具上,好比我们的ivy1.2:-)。 厥后我们决意公布一个新的利用分歧名字1.2a的版本。可是假如堆栈办理员容许相似的更新,这意味着之前的事情能够被冲破。这将损坏你的构建的可再现性。
2.牢靠性
mave堆栈的牢靠性并非很好(我们常常体验到十分慢的速率,乃至完整没法会见),同时ivyrep仅仅被一个小公司撑持(是的,我们仅仅是一个小公司).由于速率慢和网站挂起的情形会一样产生。而且假如你依附的堆栈倒下,这将招致你的开辟大概公布历程严峻减缓。
3.正确性
大众的堆栈一般包括远比你实践必要多的工具。这是一个成绩吗?我们是如许想的。我们以为在一个企业情况中你利用的类库在被你的公司的每一个项目利用前必要有一些考证历程。而做这个事变做好的体例是甚么?创建一个仅仅包括你实践必要利用的类库的企业堆栈。这将不单单能够包管你的使用依附有更好的质量,并且匡助你在每一个中央利用不异的版本,乃至能够再声名你的模块依附时失掉匡助。假如你利用相似ivyde的工具,代码主动完成会牢牢显现你堆栈的得当信息,和你实践必要利用的类库。
4.平安
从模块堆栈瞎子啊的成品一般是可实行的,这将牵涉到平安成绩。设想一个黑客用一个包括病毒的版本交换commons-lang?假如你依附大众堆栈来构建你的软件,它将有平安方面的风险。你在这里看到能够看到更多的相干信息Forresterarticle。
注重,不是说由于要利用企业堆栈就不能不完全的经由过程手工来构建。ivy有一个安装义务能够被用来从一个堆栈安装模块到别的一个,因而它能够用来有选择的从大众堆栈安装模块到你的企业堆栈,这里你将有才能确保把持,牢靠性和正确性。
3)最少在构造和模块上利用形式
ivy十分天真而且经由过程利用形式的观点能够顺应良多现存的堆栈。可是假如你的堆栈如今还不存在,我们激烈倡议老是在你的形式中使用构造和模块名,乃至是你仅仅安排你本人的模块的公有堆栈(这里一切的构造都是不异的)。为何?由于ivylistingfeature(清单特性?)依附在形式中找到的标志。假如你的形式中没有构造标志,ivy将不克不及列出你堆栈中的构造。举例说关于在ivyde中的代码主动完成这将是一个成绩,一样关于堆栈局限的义务如安装和堆栈呈报也是云云。
4)为大众堆栈公布ivysettings.xml
假如你创立了一个大众堆栈,请供应一个ivysettings.xml对应的URL地点。这很简单做到,假如有人想leverage你的堆栈,他仅仅必要设置这个你的ivysettings.xml的URL就能够装载它,大概在它本人的设置文件中包括它,这使得团结多个大众堆栈变得非常简单。

轮性能微软曾做过一个例子,就是同一个项目用java和.net来作,结果开发周期,.net是java的一半,性能java是.net的十分之一,代码量java是.net的三倍。呵呵,这说明了什么,.net的全方位比java好。但是有的人说.net不能跨平台,这个问题我和我同学曾讨论过,都认为微软的.net很可能早都可以跨平台了,但是微软为了保护他们的操作系统,所以才没有推出跨平台的.net,只是推出了跨语言的.net,

不帅 发表于 2015-1-20 13:14:30

Java 编程语言的风格十分接近C、C++语言。

只想知道 发表于 2015-1-26 08:46:09

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

再现理想 发表于 2015-2-4 13:25:38

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

老尸 发表于 2015-2-9 23:30:24

是一种使用者不需花费很多时间学习的语言

谁可相欹 发表于 2015-2-28 06:06:26

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

冷月葬花魂 发表于 2015-3-9 21:24:50

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

简单生活 发表于 2015-3-17 01:10:38

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

精灵巫婆 发表于 2015-3-23 11:49:56

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
页: [1]
查看完整版本: 了解下JAVA的ivy中文参考文档(6)-最好理论(上)