第一章 java 体系结构介绍
一.体系结构
1.java程序设计语言
2.java class文件格式
3.java应用程序接口(API application program interface)
4.java虚拟机
java虚拟机的主要任务是class文件并执行其中的字节码.
java虚拟机的执行引擎:
1.最简单的是一次性解释代码.
2.比较消耗内存,叫做"即时编译器"(just-in-time compiler).在这种情况下,第一次执行的字节码会被编译成本地机器代码.编译出的本地机器代码会被缓存,当方法以后被调用的时候可以被重用.
3.自适应优化器.在这种方法里,虚拟机开始的时候解释字节码,但是会监视运行程序的活动,并且记录下使用最频繁的代码段.程序运行的时候,虚拟机只把那些活动最频繁的代码编译成本地代码,其它的代码由于使用的不怎么频繁,继续保留为字节码-----由虚拟机继续解释他们.一个自适应的优化器可以使得虚拟机在80%-90%的时间里执行被优化过的本地代码,而只需要编译10%-20%对性能有影响的代码.
4.由硬件芯片构成,它用本地方法执行java字节码,这种执行引擎实际上是内嵌在芯片里面的
java中有两种方法:java方法和本地方法.java方法是由java语言编写,编译成字节码存储在class文件中.本地方法是由其他语言编写的(比如C,C++,或者汇编语言),编译成和处理器相关的机器代码.本地方法保存在动态链接库中,格式是各个平台专有的.java方法与平台无关,但本地方法不是.运行中的java程序调用本地方法时,虚拟机装载包含这个本地方法的动态库,并调用这个方法.本地方法是联系java程序和底层主机操作系统的连接方法.
Java本地接口(JNI java native interface)
二.类装载器的体系结构
1."启动"(bootstrap)类装载器和用户定义的类装载器.
2.java class文件
java class文件主要在平台无关性和网络移动性方面使java更适应于网络
3.Java API(Application Program Interface)
Java API通过支持平台无关性和安全性,使得java适应与网络应用
4.java程序设计语言
充分使用的软件技术:
面向对象,多线程,结构化错误处理,垃圾收集,动态链接,动态扩展