0
点赞
收藏
分享

微信扫一扫

Java一定要跨平台吗(更新篇)


一旦听到怎么写怎么写会损害Java的跨平台性,大家就神经紧张,视之为洪水猛兽。Jni技术,以及一些涉及到平台相关性的东西就似乎被忽略了。难道跨平台真的就是Java存在的唯一理由吗?显然不是!

Java的优势是众多的。Java作为第四代语言的典范,其优点是相当的多的。首先冲程序员的角度来看,在进行Java编程的时候拥有众多的IDE工具,桌面领域的佼佼者NetBeans,

全能型的Eclipse,以及商业的Jbuilder,Intllij IDEA,其代码自动完成功能,以及在书写代码时候就能检查出错误等。从语言的层面上来讲,包机制,垃圾回收机制,动态载入类等机制都是很先进,很提高效率的。C#作为C++的改进版也是大量模仿Java的设计。同时设计模式的概念也随着Java的诞生而得到加强,Java语言以及编译器及其类库本身就是设计模式的典范。这是一种重视架构设计的方式,从而使作品具有更好的可扩展性,可维护性。

   所以,Java除了跨平台这个与生俱来的秉性之外,也拥有其他众多的优点。强大的类库使得开发的效率大幅度提高,所以我们完全可以用Java书写平台相关的程序,而不用过分强调平台无关性。Java提供的就你技术提供了Java调用C/C++的接口。同时,我们也可以通过C、C++操作jvm.dll调用Java的类库,这是完全可行的(当要求你对jni.h中的众多函数熟悉)。所以Java绝对不是一个孤岛,也不能因为一个平台无关性而成为一个孤岛。代码复用是程序员最求的一个目标,而一味的追求平台无关性有时也会成为其障碍。

另外,用户体验的复用也,是一个软件成功与否的关键.为什么在linux中图形界面已经也发展的很完善的情况下很多windows用户仍然不愿转到这种既强大尤其是免费的系统上呢?显然用户的使用习惯是其中的一个重要的东东。所以,如同国际化与本地化的悖论一样,平台化有时也是相当具有优势的。我们喜欢软件与系统有相对整合,能够充分利用用户系统的性能。很明显,很多厂商都是这样做的。比如NetBeans,Jbuilder等软件尽管都是Java写的,当时仍然针对不同的平台而推出不同的版本。我估计也是基于这个原因的。

按照Java核心技术的作者的说法是:

Java代码的有点不是是代码具有很好的移植性,二十在于它有下面的一些特性。

使用Java比C,C++更容易编写出没有错误的代码。

使用Java比其他的语言工容易编写出具有多线程的代码。

Java可以轻而易举的写出网络代码


而我还想说几句:之所以人人都知道Java跨平台的特性,只是应为这只是sun公司的一个宣传手段而已,我们完全没有必要限制在跨平台的圈圈里面。

当然这纯属个人想法。大家自己在做项目的时候还是要好好衡量一下的。

举报

相关推荐

0 条评论