深入理解java虚拟机读书笔记之-----java体系结构介绍

年前买了《深入Java虚拟机(原书第2版)》一书,由于当时能力有限只看了前几章,最近又重新拿出来细细研读。
 
Java体系结构包括四个独立但相关的技术:
Java程序设计语言;
Java class文件格式;
Java应用编程接口(API);
Java虚拟机。
 
    Java虚拟机和Java API一起组成了一个“平台”,所有Java程序都在这上面编译。Java虚拟机和Java API的组合除了被称为Java运行时系统之外,还被称为Java平台(从版本1.2开始,称为Java 2平台)。
    Java的面向网络的核心就是Java虚拟机,它支持Java面向网络体系结构三大支柱的所有方面:平台无关性、安全性和网络移动性。


 

 
Java虚拟机的主要任务是装载class文件并且执行其中的字节码。
Java API中只有程序执行时需要的那些类才会被装载。字节码由执行引擎来执行。

深入理解java虚拟机读书笔记之-----java体系结构介绍_第1张图片
 
Java中有两种方法:Java方法和本地方法。
本地方法是联系Java程序和底层主机操作系统的连接方法。

深入理解java虚拟机读书笔记之-----java体系结构介绍_第2张图片
 
一个Java应用程序可以使用两种类装载器:启动(bootstrap)类装载器和用户定义的类装载器。
当被装载的类引用了另外一个类时,虚拟机就会使用装载第一个类的类装载器装载被引用的类。


 
运行时的Java程序中的每一个类装载器都有它自己的命名空间。
被不同的类装载器装载的类存放在不同的命名空间中,它们不能相互访问,除非应用程序地允许这样做。
 
通常情况下,一个平台上的二进制可执行文件不能在其他平台上工作。而Java class文件是可以运行在任何支持Java虚拟机的硬件平台和操作系统上的二进制文件。
当编译和连接一个C++程序的时候,所获得的可执行二进制文件只能在指定的硬件平台和操作系统上运行,因为这个二进制文件包含了目标处理器的机器语言。而Java编译器把Java源文件的指令翻译成字节码,这种字节码就是Java虚拟机的“机器语言”。
Java class文件中字节顺序是高位在前,这与使用何种平台产生这个文件和在何种平台上使用这个文件都没有关系。

深入理解java虚拟机读书笔记之-----java体系结构介绍_第3张图片
 
 
第一个Java虚拟机诞生于1995年。

你可能感兴趣的:(java)