background image

浅谈 java 中的四个核心概念
2011-07-26 10:32 | 1319

 

次阅读 | 【已有 3

 

条评论】发表评论

 

来源:华军资讯 | 

 

收藏到我的网摘

Java 已经成为一个庞大而复杂的技术平台,对于开发人员而言,要想更好的掌握 Java 技
术,深入理解底层的技术处理细节必不可少。现在介绍下 java 的四个核心概念:

1.Java 虚拟机

Java 虚拟机的主要任务是装在 class 文件并且执行其中的字节码。Java 虚拟机包含一个类

 

装载器,它可以从程序和 API 中装载 class 文件。Java API 中只有程序执行时需要的那些类
才会被装载。字节码由执行引擎来执行。不同的 Java 虚拟机中,执行引擎可能实现得非常
不同。在由软件实现的虚拟机中,最简单的执行引擎就是一次性解释字节码。

另一种执行引擎更快,但是也更消耗内存,叫做"即时编译器(just-in-time compiler)"。在这
种情况下,第一次被执行的字节码会被编译成本地机器代码。编译出的本地机器代码会被
缓存,当方法以后被调用的时候可以重用。

第三种执行引擎是自适应优化器。在这种方法里,虚拟机开始的时候解释字节码,但是会
监视运行中程序的活动,并且记录下使用最频繁的代码段。程序运行的时候,虚拟机只把
那些活动最频繁的代码编译成本地代码,其他的代码由于使用得不是很频繁,继续保留
为字节码-由虚拟机继续解释它们。

一个自适应的优化器可以使得 Java 虚拟机在 80%~90%的时间里执行被优化过的本地代码,
而只需要编译 10%~20%的对性能有影响的代码。

2.类装载器的体系结构

一个 Java 应用程序可以使用两种类装载器:"启动(bootstrap)"类装载器和用户定义的类装
载器。启动类装载器(这是系统中唯一的)  

是 Java 虚拟机实现的一部分。启动类装载器通常

使用某种默认方式从本地磁盘中装载类,包括 Java API 类(启动类装载器也被称为原始类
装载器、系统类装载器或者默认类装载器)。

Java 应用程序能够在运行时安装用户定义的类装载器,这种类装载器能够使用自定义的
方式来装载类。例如,从网络下载 class 文件。尽管启动类装载器是虚拟机实现的本质部分,
而用户定义的类装载器不是,但用户定义的类装载器能够用 Java 来编写,能够被编译成
class 文件,能够被虚拟机装载,还能够像其它对象一样实例化。

3.Java class 文件