JVM实战(六) - 通过案例深入学习class文件结构原理

  1. 云栖社区>
  2. Java技术进阶>
  3. 博客>
  4. 正文

JVM实战(六) - 通过案例深入学习class文件结构原理

javaedge 2019-08-24 01:26:54 浏览1091
展开阅读全文

1 什么是JVM的“无关性”?

Java具有平台无关性,也就是任何操作系统都能运行Java代码.之所以能实现这一点,是因为Java运行在虚拟机之上,不同的操作系统都拥有各自的Java虚拟机,因此Java能实现"一次编写,处处运行".

而JVM不仅具有平台无关性,还具有语言无关性.

  • 平台无关性是指不同操作系统都有各自的JVM
  • 语言无关性是指Java虚拟机能运行除Java以外的代码!

这听起来非常惊人,但JVM对能运行的语言是有严格要求的.首先来了解下Java代码的运行过程.

Java源代码首先需要使用Javac编译器编译成class文件,然后启动JVM执行class文件,从而程序开始运行.

也就是JVM只认识class文件,它并不管何种语言生成了class文件,只要class文件符合JVM的规范就能运行.

因此目前已经有Scala、JRuby、Jy

网友评论

登录后评论
0/500
评论
javaedge
+ 关注
所属云栖号: Java技术进阶