Java虚拟机(JVM)入门

文章主要介绍了Java虚拟机的概念和构成,以及Java虚拟机中类是如何加载和卸载的。

一 什么是Java虚拟机

 Java虚拟机是一台从实际计算机系统上抽象出来的计算机,可以运行编译好的Java程序。Java虚拟机运行在真实的计算机和操作系统之上,理论上它包含了实际计算机和操作系统的所有组件。Java虚拟机拥有自己完善的的硬件结构,包括处理器、寄存器、内存和指令系统等;也拥有操作系统的功能,包括内存管理、文件系统和网络功能等。

为什么要实现这样一台虚拟机呢?Java虚拟机最重要的意义就在于平台无关性。从Java程序猿的角度来看,Java虚拟机就是一套提供了完善的API的运行环境,不需要关心其运行在什么操作系统或者硬件系统上。

那么Java虚拟机又是怎么实现的呢?JVM的实现根据不同厂家会有所差异,但是都遵守JVM规范。根据JVM规范,JVM应该有如下组件:

自顶向下来看,最上层是ClassLoader,主要作用是加载编译好的Java Class文件。再往下一层是运行时数据区(Runtime Data Area),它提供了Java Class的运行环境,将Java Class解释为可以被操作系统理解的语言。最底层是执行引擎、本地接口、本地库,他负责执行Java运行时交付下来的任务。

到这里,可以总结一下Java Code是如何运行的。首先Java Code(.java文件)被编译为Java Class文件(.class文件),这是一种字节码。到这里Java Code依然是字节码,而不是机器码,因此并不能被操作系统理解。然后Java Class文件被ClassLoader加载到Java运行环境中,Java Class就可以被解释为机器码,然后被执行。

 

posted on 2013-08-23 11:29  洪雁君  阅读(645)  评论(0编辑  收藏  举报

导航