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

java虚拟机深入理解(java虚拟机底层原理大揭秘)

什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?Java虚拟机可以理解为一种特殊的“操作系统”,但它并不与硬件挂钩,而是与通用操作系统和Java程序挂钩。
正是得益于操作系统和程序之间的这种层次的联系,Java程序可以在一台机器上编译并在任何地方执行,只要有不同系统对应的Java虚拟机即可。因此Java被称为“平台无关”。

vpcext是什么指令?为了说明,我以JAVA虚拟机为例
Java虚拟机是通过软件模拟在实际计算机上实现的虚拟机器
。Java虚拟机有自己想象中的处理器、堆栈、寄存器等硬件,以及相应的命令系统。
1.为什么使用Java虚拟机?
Java语言的一个非常重要的特性是它的平台独立性。使用Java虚拟机是实现这一功能的关键。通用高级语言要想运行在不同的平台上,至少必须编译成不同的目标代码。Java语言虚拟机引入后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模型Java虚拟机保护了与特定平台相关的信息,因此Java语言编译器只需要生成在Java虚拟机上运行的目标代码(字节码)。无需修改即可在多个平台上运行。当Java虚拟机执行字节码时,它将字节码解释为机器指令,以便在特定平台上执行。
2.谁需要了解Java虚拟机?
Java虚拟机是Java语言底层实现的基础。对Java语言感兴趣的人应该回复Java虚拟机
你对机器有一个大概的了解。这有助于理解Java语言的一些特性,也有助于使用Java语言。
对于想要在特定平台上实现Java虚拟机的软件人、Java语言的编译器作者以及想要使用硬件芯片来实现Java虚拟机的人来说,必须拥有一个对Java虚拟机规范有深刻的理解。另外,
如果你想扩展Java语言或者将其他语言编译成Java语言的字节码,你还必须对Java虚拟机有深入的了解。

深入理解Java虚拟机的媒体推荐

Java程序是如何运行的?Java虚拟机在其中扮演什么角色?如何让Java程序具有更高的并发性?很多Java程序员都有这样的疑问。遗憾的是,国内很长一段时间没有一本从实际应用角度讲解Java虚拟机的书。《深入理解Java虚拟机:JVM高级特性与最佳实践》的出版可以说填补了这一空白。从Java程序员的角度出发,系统地整合了与运行Java程序相关的各种知识,并介绍了日常工作中可能出现的疑难案例,使读者能够轻松踏上探索Java虚拟机的旅程。对于对Java虚拟机感兴趣的读者来说,Journey是个好消息!
——虚拟机、编程语言爱好者莫术(RednaxelaFX)
武侠世界里,无论是最厉害的《易筋经》,还是极具女人味的《葵花宝典》,他们一切都与内在力量的发展密不可分。这些武术没有内功和精神力,只是花拳绣腿的无力表现。软件行业是武侠世界的复制品,也拥有大量的模型、套路、规范等外部能力。不过,如果你想“修外功,修内功”,这本书就是像“扩容僧”一样的无与伦比的大师,是必读的。
——秦晓波,资深Java技术专家/畅销书《设计模式之禅》作者
对于Java程序员来说,Java虚拟机可以说是既熟悉又神秘。可以抑制住你探索它的冲动。遗憾的是,分析JVM实现原理的书籍(尤其是国内作者出版的)很少。《深入理解Java虚拟机:JVM的高级特性与最佳实践》的出版对于Java程序员来说可谓是福音。作者展示了自己在Java虚拟领域多年的实践经验和研究心得,在这篇《Java虚拟机详解》《JVM高级功能与最佳实践》中不仅系统地讲解了Java虚拟机的工作机制和底层原理Java虚拟机,但更有价值的是它们很好地融入到实践中。具有很强的实用导向意义,强烈推荐!
——季文科,资深Java技术专家/畅销书《Spring技术内幕:深入解析Spring架构的设计与实现原理》作者

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

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