当前位置:首页 > 虚拟机 > 正文

深入理解java虚拟机看着吃力


一、深入理解Java虚拟机:JVM高级特性与最佳实践的内容简介

作为一名Java程序员,您是否曾经想深入了解Java虚拟机,但却因其复杂性和深度而望而却步?没问题,《深入了解Java虚拟机:高级特性和JVM最佳实践》尽力简化复杂性,帮助您轻松领略Java虚拟机隐藏的秘密。《深入Java虚拟机:JVM高级特性与最佳实践》是近年来国内出版的唯一一本与Java虚拟机相关的专着。这也是唯一一本同时讨论核心理论和实际应用的书。对Java虚拟机的讨论不仅提供了透彻的理论分析,而且包含了具有重要现实意义的案例研究和最佳实践。
本书分为5部分。第一部分从宏观的角度介绍了整个Java技术体系的过去、现在和未来,以及如何独立编译openjdk7,有助于理解后面的内容。第二部分讲解JVM的自动内存管理,包括划分虚拟机内存区域的原理和各种内存溢出异常的原因,以及常见虚拟机监控原理和用法的特点和工作原理;的调试工具。第三部分分析了虚拟机的执行子系统,包括该层的文件结构以及如何存储和访问该层的数据;虚拟机的类创建机制和类加载器的运行原理及其对于虚拟机的意义;虚拟机执行代码时字节码执行引擎及其涉及的内存结构。第四节讲解程序编译和代码优化,讲解泛化、自动装箱和拆箱、条件编译等语法原理;还讲解了虚拟机的热点检测方法、热点的即时编译和触发编译的条件,以及如何从虚拟机外部观察和分析编译数据和结果。第五部分探讨Java中有效并发的原理,包括JVM内存模型的结构和运行;Java内存模型中原子性、可见性和顺序的体现及其先来先服务的用法;规则;Java语言中流的作用实现指南;对虚拟机进行一系列的锁定优化,以实现高效的并发。
《深入Java虚拟机:高级特性与JVM最佳实践》是适合所有Java程序员、系统和架构调优大师的阅读系统。


二、JAVA虚拟机是什么意思?Java虚拟机(JavaVirtualMachine,简称JVM)是​​一台想象中的计算机。从结构上看,它由六个部分组成:抽象指令集、寄存器组、类文件格式规范、堆栈、内存垃圾收集器和存储区域。指令集采用独立于平台集成的字节码形式。寄存器组包含程序计数器、堆栈指针、执行环境指针和变量指针。类文件也是平台无关的并返回操作结果。垃圾收集器收集不再使用的内存段,该存储区域用于存储字节码。JVM只规定了组件的功能和规格。虽然这些功能和规范是统一的,但没有规定这些组件的具体实现技术,即可以采用任何技术来实现。
Java引入了虚拟机的概念,在机器和编译器之间添加了一个抽象的虚拟机层。该虚拟机为任何平台上的编译器提供了通用接口。编译器只需要面向虚拟机,生成虚拟机可以理解的代码,然后解释器将虚拟机代码转换为特定系统的机器代码来执行。在Java中,这种虚拟机可理解的代码称为字节码(ByteCode)。它不面向任何特定处理器,而仅面向虚拟机。
各个平台的解释器不同,但实现的虚拟机是一样的。Java源程序经过编译器编译后成为字节码。字节码由虚拟机解释并执行。虚拟机将每个要执行的字节码发送给解释器,解释器将其翻译为特定机器上的机器。代码,然后在特定机器上运行它。
可以说,Java虚拟机是Java语言的基础。它是Java技术的要组成部分。Java虚拟机是一种抽象的计算机,它像真实的计算机一样具有指令集并使用不同的存储区域。它负责执行指令并管理数据、内存和寄存器。Java解释器负责将字节码翻译成特定机器的机器码。Java是一种简单的语言。它使用很少的概念,并且大多数程序员都熟悉。如果您是一名程序员,掌握Java对您来说很容易。即使你没有学过任何编程语言,学习Java也比学习C++容易得多。