Java 的架构中有4个重要的组成部分:
1 Java programming langrage
2 Java class file format
3 Java API
4 Java virtual machine
Java 之所以能所谓的跨平台,主要就在于不同的Java Platform.
Java 虚拟机
最基本的JVM 可以描述为一个class loader 和一个执行引擎。
额外的,JVM 还包含一个调用native method 的功能,这个native 方法的调用是依赖于操作系统的。
class loader
类型加载器分为引导类型加载器和用户自定义类型加载器.
一个简单的动态扩展的例子就是浏览器. 浏览器通过一个用户自定义类型加载load applets 的class 文件。
这个加载器一般叫做 applet class loader. 而applet 就是动态扩展的很好的例子,引导类型装载器并不知道你将会需要载入什么类,这些applet 需要的类是由用户自定义类型装载器动态载入的。
Java Class File
Java class 文件是一个二进制文件,能够被JVM 识别而不依赖于特定平台的文件。这些都是废话,一般c, c++ 编译出来就是直接可执行文件,知道这个不同就够了。
另外一个常见的依赖就是cpu 处理器依赖。一般字节的存储有大小端的区别,这个问题在Java Class File 里面也解决了,基本不用关心。
The Java API
Java API 是平台依赖的,正是因为Java API 的存在,Java 程序才可以不依赖于平台。
很多native 方法都是Java API 帮你调用了,所以你的Java 可以是平台无关的。
The Java 编程语言
Java 语言的特色
1 面向对象
2 多线程
3 结构化异常处理
4 GC
5 动态链接
6 动态扩展
Java 架构中的弊端
相比较一些native 的语言,java 性能偏低,特别是语言刚开始的时候。现在随着虚拟机技术的发展,Java 的性能也大大的提升了。
因为jvm 的不确定性,很多问题都会有。
这里具体不细化,关于java 的弊端自然有很多人会提到。
结论
总之,Java 的架构可以提高生产率,在某些领域确实有很大的市场和发展空间。