美文网首页
大佬浅谈JVM

大佬浅谈JVM

作者: 阿斌在路上 | 来源:发表于2019-04-13 01:44 被阅读0次

    引出面试问题
    1、什么是JVM(java virtual Machine )?
    JVM 是 JAVA class 编译器,在不同的底层运行 例如linux、windows运行。
    下图关系:


    image.png

    2、为什么要学习JVM?
    在使用JAVA编程中,更好避开编程中 涉及到 JVM 坑。更好理解 JAVA编程对于对象实践。(例如 什么 bean 不会被回收,什么时候回收、回收过程)
    堆 存储对象 应用对象
    栈 先进后出 存储引用指针
    JVM 最小单位是线程(线程 执行 需要 参数 数据、指令、返回地址(存在虚拟机栈))
    3、深入 JVM 运行时数据区
    数据
    指令


    image.png

    程序技术器:线程执行当前的指令地址
    虚拟机栈:存储当前线程运行时所需要的数据、指令、返回地址


    image.png

    本地方法栈: native 修饰的 方法
    方法区:
    1、分包括1.7 以前存放:类信息、常量、静态变量、JIT
    2、1.7 以后 常量、JIT 放在堆里面的

    image.png

    head 和stack 模型


    image.png
    image.png

    继续深入
    参考:
    https://www.cnblogs.com/dingyingsi/p/3760447.html
    1、 什么类型的数据不可回收(不可达)
    2、GC 回收算法
    3、MAT 分析dump ,对代码进行调优分析

    详解JVM 基础:
    https://www.cnblogs.com/andy-zhou/p/5327288.html#_caption_19

    相关文章

      网友评论

          本文标题:大佬浅谈JVM

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