1.初识JVM

2020-03-18 16:01:04来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

1.初识JVM

JVM的概念

  • JVM是Java Virtual Machine的简称。意为Java虚拟机。
  • JVM使用软件模拟Java字节码的指令集。

规范

java语言规范

  • 语法
    if-else-else if、函数等语法
  • 词法
    行终结符、空白符、注释、标识符、关键字等
  • java内存模型
  • 类加载连接过程
  • 异常
  • ...

JVM规范

JVM主要定义二进制class文件和JVM指令集等。Java语言和JVM相对独立,Groovy、Clojure、Scala等也可以运行在JVM中。

  • Class文件格式
  • 数字的内部表示和存储
    Byte ?-128 to 127 (-27?to 27?- 1)
  • returnAddress数据类型定义
    指向操作码的指针。不对应Java数据类型,不能在运行时修改。Finally实现需要
  • 定义PC、堆、栈、方法区
  • 整数、浮点数的表示与定义
  • 特殊的方法
    • <clinit>
    • <init>
  • VM指令集
    • 类型转化
      l2i
    • 出栈入栈操作
      aload astore
    • 运算
      iadd isub
    • 流程控制
      ifeq ifne
    • 函数调用
      invokevirtual invokeinterface invokespecial invokestatic
  • JVM需要对Java Library 提供以下支持
    • 反射 java.lang.reflect
    • ClassLoader
    • 初始化class和interface
    • 安全相关 java.security
    • 多线程
    • 弱引用
  • JVM的编译
    • 源码到JVM指令的对应格式
    • Javap
    • JVM反汇编的格式
      (index)?(opcode)?[?(operand1)?[?(operand2)...?]]?[(comment)]

原文链接:https://www.cnblogs.com/lee2guang/p/12520579.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Devtools 热部署配置

下一篇:java 内部类