最近在阅读 《Inside the JVM》 这本书,结合一些日常工作学习中的感想,随便写一些东西,蜻蜓点水,不必有章法。
曾经很在意C++和Java之间的优劣比较,有一段时间尤其注意在网上搜索二者比较的文章,并不时参加一些口水战,比如下面这个帖子:
http://www.diybl.com/course/3_program/c++/cppsl/2008520/117228.html
在论坛里绝对是个口水飞溅潜力帖。现在想起来很好笑,其实Java跟C++几乎是不同领域的东西,它们之所以存在是因为各自领域的需要,比较一下有助于C++程序员转移到Java去或相反,但优劣之说只能误人子弟。帖子的作者显然不懂虚拟机规范,因此会有所谓“骗局”一说,这里无意驳斥这个作者早已无从考证的老文章,仅就虚拟机规范说几句。
《Inside the JVM》 一开始就指出,所谓“虚拟机”实际上在不同的语境下有不同的涵义。有时候它指的是虚拟机的“规范”(spec),有时候指的是虚拟机的具体实现(如Sun JDK, BEA JRockit),有时候指的是正在运行着的一个虚拟机的实例(你启动Tomcat或者JBoss,甚至一个j2se程序,都同时启动了一个虚拟机实例)。书中如无特别说明,指的一般都是“规范”。
虚拟机规范规定了.class文件的格式、类装载的规则、运行时内存的逻辑区块、方法调用时栈的动作等等。一旦某个虚拟机的具体实现(如Open JDK)声称它实现了Java虚拟机规范,那么也就是同时声称它在运行时的外部行为跟规范中所描述的是一样的。对于Java程序员而言,他的“平台”只有一个,就是虚拟机规范,只要他的.class编译完,无论到哪一个虚拟机上,Open JDK也好,JRockit也好,Sun JDK也好,甚至芯片级实现的JVM也好,都应该能够正常运行。这就是Java跨平台的真正涵义(当然,实际项目中,100%的跨平台项目是很少的,比如有些没有完全遵守规范写出的bug,在这个虚拟机上运行的时候或许能糊弄过去,但在另一个虚拟机上却未必能够)。帖子作者认为Java的跨平台是个“设计巧妙的骗局”,实在是言重了,我们不能天真地认为,“跨平台”就可以没有平台,事实上无论怎样我们总需要至少一个的。此外,即使是“跨平台”也是相对的,一个平台因为没有JVM的实现而“跨”不上去,太正常了,世上哪有什么绝对的事。
分享到:
相关推荐
JVM 学习笔记(Java虚拟机)
java8虚拟机规范,适合中文较好的同学尝试,对虚拟机底层的知识进行接触及学习,俗话说的好,磨刀不误砍柴工,一起进步吧!!!
jvm虚拟机规范和入门资料jvm虚拟机规范和入门资料jvm虚拟机规范和入门资料jvm虚拟机规范和入门资料jvm虚拟机规范和入门资料jvm虚拟机规范和入门资料jvm虚拟机规范和入门资料jvm虚拟机规范和入门资料jvm虚拟机规范和...
详细介绍了jvm虚拟机规范,很好 第一章引言 第二章 java概念 第三章 java虚拟机结构 第四章 class文件格式 第五章 常熟池解析 第六章 java虚拟机指令集 第七章 为java虚拟机编译 第八章 线程和锁 第九章 优化 第十章...
该文档是关于jvm规范的描述,有利于开发人员更加深入的了解代码的执行原理,提升开发人员的编码能力。
JVM工作原理学习笔记,感兴趣的小伙伴们可以下载来看看。
JVM8虚拟机规范,包括虚拟机内存布局,虚拟机数据类型,class文件格式,bytecode指令等内容,深入了解虚拟机必备
《实战Java虚拟机——JVM故障诊断与性能优化》内容简介:随着越来越多的第三方语言(Groovy、Scala、JRuby等)在Java虚拟机上运行,Java也俨然成为一个充满活力的生态圈。本书将通过200余示例详细介绍Java虚拟机中的...
30+个视频+深入理解Java虚拟机(jvm优化+内存模型+虚拟机原理)
Java语言规范和JVM虚拟机规范.zip,Oracle官方文档,包括Java语法的定义等内容。Java语言规范包含JDK678三个版本,JVM虚拟机规范包含78两个版本。
详细介绍了jvm生命周期和体系结构及垃圾回收机制
Java虚拟机规范2009年SUN最新修订版。
long果 深入理解Java虚拟机(jvm性能调优+内存模型+虚拟机原理)。讲解相当详细,值得一看。下载仅供参考学习,侵权联删。
本书讲述了Java虚拟机一运行 所有Java程序的抽象计算机,还讲了几种与虚拟机密切相关的核心Java API。本书通过分析讲解、可运行的示例、参考资料和applet (它作为文中所述概念的交互式例示),提供了Java技术的深人...
JVM虚拟机指令集JVM虚拟机指令集JVM虚拟机指令集
学习笔记——JVM性能调优之 jstat(csdn)————程序
一.java内存结构 2 二 垃圾收集算法: 3 三 JVM参数 4 四 JVM的垃圾回收集器 7 五 常用参数设置 7
许多人知道类加载机制、JVM内存模型,但他们可能不知道什么是《Java虚拟机规范》。对于Java开发来说,《Java虚拟机规范》才是最为官方、准确的一个文档,了解这个规范可以让我们更深入地理解JVM。我们平常说的JVM...
jvm java 虚拟机,Java虚拟机规范中文版本,
jvm虚拟机学习资料.zip