美文网首页
JVM 基础篇

JVM 基础篇

作者: 康俊1024 | 来源:发表于2019-04-02 22:50 被阅读0次

    什么是JVM

    Write Once Run Everywhere

    1. 软件层面机器码翻译( .class ====> 1 2 1 2 )
    2. 内存管理

    为什么学习JVM

    出现内存溢出,内存泄漏我们是一无所知的,so

    运行时数据区

    代码分类:数据 指令 控制

    程序计数器:

    指向当前线程正在执行的字节码指令的地址 行号。why 线程被挂起再次运行时,通过程序计数器指向的地址 continue。

    虚拟机栈:

    存储当前线程运行方法所需要的数据 指令 返回地址。why 最小执行单元线程是做事情的,怎么做由人控制
    虚拟机栈存储单元:栈帧(方法)

    栈帧:
    局部变量表:

    编译期就知道大小的区块,定长的。32位

    操作数栈:

    字节码文件反编译:javap -c -v xxx.class > p.txt

    动态链接:

    接口注入,运行时指向真正的实例。常量池(元数据信息,final常量,String)

    出口:

    返回地址,出栈。

    本地方法栈:

    方法区:

    类信息
    常量
    静态变量
    JIT

    heap:

    内存模型:

    对象的生命周期不一样 ==>分代

    Meta Space

    为了解决永久代溢出的问题,类似ArrayList可扩容。

    新生代

    老年代

    相关文章

      网友评论

          本文标题:JVM 基础篇

          本文链接:https://www.haomeiwen.com/subject/aocibqtx.html