走进Java
一、什么是虚拟机?
Java虚拟机,是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件(.class)。
Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。
但是,跨平台的是Java程序(包括字节码文件),而不是JVM。JVM使用C/C++开发的,是编译后的机器码,不能跨平台,不同平台下需要安装不同的JVM。
JVM由哪些部分组成?
JVM的结构基本上由4部分组成:
- 类加载器,在JVM启动时或者类运行时将需要的class加载到JVM中。
- 内存区,将内存划分成若干个区,以模拟实际机器上的存储、记录和调度功能模块,譬如实际机器上的各种功能的寄存器或者PC指针的记录等。
- 执行引擎,执行引擎的任务是负责执行class文件中包含的字节码指令,相当于实际机器上的cpu。
- 本地方法调用,调用C或C++实现的本地方法的代码返回结果。
怎样通过Java程序来判断JVM是32位的还是64位?
Sun有一个Java System属性来确定JVM的位数:32or64
sun.arch.data.model=32 //32 bit JVM
sun.arch.data.model=64 //64 bit JVM
我们可以使用一下Java语句来确定JVM是32位还是64位:
System.getProperty("sun.arch.data.modal");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。