《Java平台体系》——学习Java平台体系的意义

--------------------------------------------------------------------------------
Java已死?当然没有!恰恰相反,你可以通过Java平台体系获得全面的平台体系知识。正所谓本地(Localization)的就是国际(Internationalization)的。如果你是Java猿族,那就先Java吧!如果你不是Java猿族,那还是Java吧!
--------------------------------------------------------------------------------

最近看到互联网上针对Java是否老态龙钟的争论很多。是的,我承认Java语言本身是有点繁琐,但Java本身不仅仅是编程语言。我们还是用具体的数据说话吧!

我们先看一下来自TIOBE Software的两个编程语言排名变化图表(具体请参考http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html):



从图中我们可以看到在面向对象语言中Java的位置。



其中红色表示采用,黄色表示试用,绿色表示评估、蓝色表示保留。从上图表中我们至少可以得到JVM作为平台是首选。

动态语言这几年的发展我们不能忽视,究其原因在于软件基础设施的进一步提高,但动态语言和静态语言(何谓动态语言/动态语言?请查维基百科)有着千丝万缕的关系,毕竟动态语言还是要执行的,例如类似JavaScript、Ruby等都可以在Java虚拟机上运行。我们要静动通吃,选择一门中间语言(解释/编译型)和平台体系作为研究对象不愧是明智之举,那么我们选择Java平台体系原因的原因之一就在这里。

我们横向比较一下.NET和Java平台体系(自己仔细类比,他们作为平台体系的基本组成是可以类比的,也就是掌握了Java平台体系,横向进入.NET世界是一个不错的选择)。

图1 .NET框架(大体的分层)

图2 Java SE平台体系(Java SE7)

推荐阅读:前面提到了动态语言,我推荐一篇INFOQ的文章北京2010:从架构层面探讨语言的艺术​,让大家至少明白一点语言和平台的关系,以及动态语言的特点。

C更是大家要修炼的东西,但Java平台体系不能说与C没有关系,例如JVM大多是用C实现的,同时Java直接有和本地代码交互的JNI,JDK提供了用于C/C++中集成Java的头文件和库。所以通过在Java平台体系中穿插C的内容,对C感兴趣的朋友一定很亲切。

同时脱离平台体系仅谈Java语言,就像全世界只有你自己懂一门语言一样,你究竟想干什么?

这下你知道我们为什么选择Java平台体系作为教程的主线了吗?不知道的,要耐心点啊!

展开阅读全文

没有更多推荐了,返回首页