• 连续仨月霸占牛客榜首,京东T8呕心巨作:700页JVM虚拟机实战手册


    什么是Java虚拟机, 

    虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

    附面试思维导图:

     

    这种解释应该算是正确的,但是只描述了虚拟机的外部行为和功能,并没有针对内部原理做出说明。一般情况下我们不需要知道虚拟机的运行原理,只要专注写java代码就可以了,这也正是虚拟机之所以存在的原因--屏蔽底层操作系统平台的不同并且减少基于原生语言开发的复杂性,使java这门语言能够跨各种平台(只要虚拟机厂商在特定平台上实现了虚拟机),并且简单易用。这些都是虚拟机的外部特性,但是从这些信息来解释虚拟机,未免太笼统了,无法让我们知道内部原理。

    而借此机会呢团长找到了一份从入门到基础的一份手册,现分享给大家!

    说明:文章限于篇幅,只做部分展示,完整的文档小编已经整理好了。

    第一部分

    本部分将重点讲述Java技术体系所囊括的内容,以及Java的历史、 现状和未来的发展趋势。

    第二部分

    讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出异常产生的原因;常见的垃圾收集算法以及垃圾收集器的特点和工作原理;常见虚拟机监控与故障处理工具的原理和使用方法。

    第三部分

    分析了虚拟机的执行子系统,包括类文件结构、虚拟机类加载机制、虚拟机字节码执行引擎。

    第四部分

    Java程序从源码编译成字节码,再从字节码编译成本地机器码的这两个过程,从整体来看其实等同于一个传统编译器所执行的编译前端、后端过程。

    第五部分

    Java语言和虚拟机提供了原生的、完善的多线程支持,使得它天生就适合开发多线程并发的应用程序。不过我们不能期望系统来完成所有与并发相关的处理,了解并发的内幕也是成为一位高级程序员不可缺少的课程。

    结语

    世界上并没有完美的程序,但我们并不因此而沮丧,因为写程序本来就是一个不断追求完美的过程。

  • 相关阅读:
    Credly 数字证书
    java计算机毕业设计ssm+vue楼市销售系统
    每日一题2609. 最长平衡子字符串
    C++基础知识梳理<2>(引用、内联函数、auto关键字) [入门级】
    如何设置接口调用失败后自动重连
    由于bug造成truncate table卡住问题
    基于低代码平台的OA系统,更灵活高效!
    零信任架构分析【扬帆】
    【768. 最多能完成排序的块 II】
    DIN模型和SIM模型原理与实践
  • 原文地址:https://blog.csdn.net/m0_55849656/article/details/125434203