欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

JVM虚拟机系列:通识、架构

时间:2023-05-17

JVM原理(一)JVM通识、JVM架构_多学习多思考-CSDN博客_jvm

一、JVM通识 

       学习JVM的目的

面试重灾区,我们必须搞懂它。生产过程中,肯定会面临JVM调优相关问题,需要也必须搞懂它。打基础,想搞懂我们java赖以生存的环境长什么样子,提升对Java知识点的理解。

1.1 程序的执行方式

     程序执行的方式主要有三种:静态编译执行,动态编译执行和动态解释执行。(编译是指:编译成可让操作系统直接执行的机器码)

      静态编译执行语言:C 、C++

      动态编译执行(运行中进行编译):JVM

      动态解释执行(一行编译一行执行):JVM

1.2 为啥使用JVM

    很显然 JVM帮我们屏蔽了操作系统。

    如果时C语言直接编译的机器码,在编译之前需要知道目标操作系统,比如Window操作系统编译之后的字节码时无法在 Linux操作系统上运行的。

      

1.3 机器码和字节码的区别

      机器码时电脑CPU直接是识别并读取的机器指令,运行速度很快,但是比较晦涩难懂,难以编写。字节码时一种中间状态的二进制文件,需要直译器翻译转译后才能成功机器码

1.4 JDK JRE JVM之间的关系

     显然,JDK包含了 JRE和编译器等一些开发工具,JRE时java程序运行环境。JDK:java开发工具包,既包含了JRE也包含了一些编译工具如:javac  javap。 JRE属于java程序运行环境。JVM在JRE中。

1.5 OracleJDK 和 OpenJdk

      OrcalJDK 是基于OpenJDK源代码构建的,因此OracleJDK 和 OpenJdk之间没有重大差异。

1.6  JVM和Hotspot之间的关系

        JVM是《JVM虚拟机规范》中提出来的规范。

Hotspot是使用JVM规范的商用产品,除此之外还有Oracle JRockit、IBM的J9也是JVM产品

1.7  JVM 和Java之间的关系

      JVM只认识 .class文件,但是并不是只有 java文件才可以编译成 class文件

1.8  JVM的运行模式

 JVM有两种运行模式:Server模式与Client模式。

两种模式的区别在于:

Client模式启动速度较快,Server模式启动较慢;
但是启动进入稳定期长期运行之后Server模式的程序运行速度比Client要快很多。
因为Server模式启动的JVM采用的是重量级的虚拟机,对程序采用了更多的优化;而Client模式启动的JVM采用的是轻量级的虚拟机。所以Server启动慢,但稳定后速度比Client远远要快。
 

一、JVM架构 

架构主要分为:class file、类加载子系统、运行时的数据区、执行引擎。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。