第一章:Java 体系结构介绍
Java 体系结构包括的四个独立但相关的技术:
Java 程序设计语言,Java class 文件格式, Java 应用编程接口,Java 虚拟机
Java 面向网络的三大支柱:平台无关性,安全性和网络移动性。
不同的执行引擎:1,由软件实现的虚拟机,最简单的执行引擎就是一次性解释字节码 2,即时编译(第一次被执行的字节码被编译成本地机器代码,编译出的本地机器代码会被缓存起来) 3,自适应优化器(虚拟机只会把那些活动频繁的代码编译成本地代码)。
Java 程序通过调用本地方法和主机进行交互,本地方法保存在动态链接库中,虚拟机装载包含这个本地方法的动态哭,并调用。
一个Java 应用程序可以使用两种类装载器:启动类装载器和用户定义的类装载器。
被装载的类默认情况下只能看到被同一个类装载器装载的别的类,被不同类装载器装载的类存放在不同的命名空间中,它们之间不能互相访问,除非显示的允许这样做。
Java class 文件是可以运行在任何支持Java虚拟机的硬件平台和操作系统上的二进制文件。
Java API是运行库的集合,它提供一套访问主机系统资源的标准方法。运行Java程序时,虚拟机装载程序的class文件所使用的Java API class 文件。由于Java API class 文件调用了本地方法,Java 程序就不需要再调用它们了。
第二章平台无关
本地方法在三种情况下适用:为了使用底层的主机平台的特性,而这个特性不能通过Java API访问;为了访问一个老的系统或者使用一个已有的库,而这个系统或库不是用Java编写的;为了加快程序的性能,而将一段时间敏感的代码作为本地方法实现。
在编写平台独立的Java程序时,还必须遵从两条原则:1,不要依赖及时终结(finalization)来达到程序的正确性 2,不要依赖线程的优先级来达到程序的正确性
第三章 安全
Java提供了一个用户可配置的“沙箱”,在沙箱中可以放置不可靠的Java程序,沙箱对不可靠程序的活动进行了限制。
组成Java沙箱的基本组件:类装载器结构,class文件检验器,内置于Java虚拟机的安全特性,安全管理器和Java API
第四章 网络移动性
Java应用程序从某个类的main()方法开始执行,其他的类在程序需要的时候才动态连接。
class文件被设计的很紧凑。
通过对象序列化和远程方法调用RMI,Java API提供了一个在本地对象模型上扩展而成的分布式对象模型。
Jini提供了一个运行时的基础结构,以允许服务提供者为客户机提供服务,也使得客户机可以找到并访问服务。
第五章 Java虚拟机
如果在同一台计算机上同时运行三个Java程序,将得到三个Java虚拟机实例。每个Java程序都运行于它自己的Java虚拟机实例中。
当程序中所有的非守护线程都终止了,虚拟机实例将自动退出。
当程序运行时,虚拟机会把所有该程序在运行时创建的对象都放到堆中。当每个新线程被创建时,它都将得到他自己的PC寄存器以及一个Java栈。
数据类型分为:基本类型和引用类型。
装载,连接以及初始化
运行时数据区:方法区,堆,Java栈,PC寄存器,本地方法栈
方法区中存放类型信息
Java程序在运行时创建的所有类实例或数组都放在同一个堆中,而一个Java虚拟机实例中只存在一个堆空间,因此所有线程都共享这个堆,而由于一个Java程序都占一个Java虚拟机实例,因而每个Java程序都有它自己的堆空间。
Java栈:Java栈以帧为单位保存线程的运行状态,栈帧由三部分组成:局部变量区,操作数栈和帧数据区
当某个线程调用一个本地方法时候,它就进入了一个全新的不受虚拟机限制的世界。
分享到:
相关推荐
深入 Java 虚拟机.pdf Java 虚拟机(Java Virtual Machine,JVM)是 Java 语言的 runtime 环境,是 Java 程序执行的核心组件。它提供了一个平台无关的环境,允许 Java 程序在不同的操作系统和硬件平台上运行。 一...
《深入Java虚拟机(原书第2版)》,原书名《Inside the Java Virtual Machine,Second Edition》,作者:【美】Bill Venners,翻译:曹晓钢、蒋靖,出版社:机械工业出版社,ISBN:7111128052,出版日期:2003 年 9 ...
《深入JAVA虚拟机第二版》是由Bill Venners撰写,并由曹晓钢和蒋靖翻译的中文书籍。这本书是Java开发者必备的经典读物,它详细地解析了Java虚拟机(JVM)的工作原理,帮助读者深入理解Java程序的运行机制。尽管描述...
首先,我们来看《深入JAVA虚拟机》这本书,它涵盖了JVM的各个关键方面,包括指令集、运行时数据区、方法区、堆内存、栈帧结构、编译与优化、异常处理和安全性等。书中通过实例解析,帮助读者理解JVM如何处理Java程序...
java虚拟机不用多少了吧。 深入java虚拟机第二版.pdf
深入JAVA虚拟机第二版.pdf深入JAVA虚拟机第二版.pdf深入JAVA虚拟机第二版.pdf深入JAVA虚拟机第二版.pdf深入JAVA虚拟机第二版.pdf深入JAVA虚拟机第二版.pdf
深入JAVA虚拟机,帮助大家在Java方面进行学习,深入JAVA虚拟机,帮助大家在Java方面进行学习,
Java虚拟机(JVM)是Java程序运行的基础,它提供了执行环境和各种内存区域,以支持Java代码的高效运行。本地方法栈是JVM的一部分,它主要负责处理与本地方法(通常是由C或C++编写)相关的调用。本地方法栈在Java线程...
《深入Java虚拟机(原书第二版清晰版)》这本书是为那些已经学习了Java编程语言,希望通过深入理解Java虚拟机(JVM)来进一步提升自己技术能力的Java程序员所准备的。本书详细介绍了JVM的内部工作机制,包括但不限于...
《深入Java虚拟机》 Java虚拟机(JVM)是Java程序的核心运行环境,它将Java源代码编译成字节码,然后解释执行这些字节码,使得Java程序可以在不同的操作系统上无缝运行,实现了“一次编写,到处运行”的目标。 1. ...
《深入Java虚拟机》这本书是Java开发者深入了解JVM(Java Virtual Machine)的必备经典之作。它详尽地探讨了Java虚拟机的工作原理、内存管理、类加载机制、字节码执行以及性能优化等多个核心主题,旨在帮助开发者...
《深入Java虚拟机》这本书是IT领域中关于Java虚拟机(JVM)的深度解析之作,主要聚焦于JVM的工作原理、内部结构以及优化技巧。Java虚拟机作为Java语言的核心组件,其性能直接影响到Java应用程序的运行效率。因此,对...
《深入Java虚拟机》是一本深受Java开发者喜爱的经典著作,它详细揭示了Java虚拟机(JVM)的工作原理,帮助开发者提升程序性能、理解和解决运行时问题。这本书的影印版以及附属光盘通常会包含一些补充材料,如源代码...
《深入JAVA虚拟机第二版》是一本深受Java开发者喜爱的经典著作,它详尽地剖析了Java虚拟机(JVM)的工作原理,为程序员提供了深入了解Java平台核心技术的机会。这本书结合了理论与实践,不仅讲解了JVM的内部机制,还...
讲述java虚拟机 唯二的书。本书作者曾因本书荣获专业技术杂志《Java Report》评选的优秀...作者以易于理解的方式深入揭示了Java虚拟机的内部工作原理,深入理解这些内容,将对读者更快速地编写更高效的程序大有裨益!
《深入Java虚拟机第二版》是探讨Java虚拟机(JVM)内部工作原理的经典之作,作者Bill Venners通过本书深入浅出地解析了Java虚拟机的体系结构和内部机制,为Java开发者提供了编写高效程序的基础理论支持。 Java...
### 深入Java虚拟机最新版:执行引擎与类加载机制详解 #### 执行引擎:一次探索之旅 Java虚拟机(JVM)的核心组件之一就是执行引擎,它负责将字节码转换为机器指令执行。在《深入Java虚拟机最新版》这本书中,我们...
《深入Java虚拟机第二版》是一本深受Java开发者喜爱的经典著作,它详尽地剖析了Java虚拟机(JVM)的工作原理,为程序员提供了深入了解Java平台核心机制的机会。随书光盘包含了书中提及的各种示例代码、实验数据以及...
深入JAVA虚拟机.part3.rar