一:虚拟机
虚拟机的工作内容
1.加载class
2.执行其中的字节码
注:java API 只有程序执行时需要的那些类才会被装载
二:类装载器的体系结构
装载器种类:
1.“启动”类装载器 (这是系统唯一的,是java虚拟机实现的一部分)
2.用户自定义类装载器 (能够用java编写,例如从网络下载class文件,像web浏览器使用java applet类装载器,它知道什么时候请求class文件)
执行引擎种类:
1.一次性解释器
2.即时编译器
3.自适应优化器
(类装载器 <---> 执行引擎<--->主机操作系统)
三:java class文件
四:java API
五:java程序设计语言
java体系结构的代价
1.java程序执行速度可能比较低
弥补方法
随程序附带一种虚拟机
把程序中对时间要求严格的部分作为本地方法实现
把这个程序编译成一个单独的可执行文件,就像c和c++一样
在安装时,把程序编译成一个单独的可执行程序
2.在内存管理和线程调度上的缺陷
3.最小公分母问题,各个系统之间的特性和共性,是支持还是不支持
4.容易破解,从一个类到另一个类的引用是符号化的,执行另一个类的引用果果字符串清楚的表明了所指向的这个类的名字