美文网首页
大佬浅谈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

    引出面试问题1、什么是JVM(java virtual Machine )?JVM 是 JAVA class 编译...

  • JAVA教程:浅谈JVM的优化

    浅谈JVM的优化 前言 前面我们了解过JVM中堆的GC分代回收机制,在运行Java程序时,我们可以使用JVM的参数...

  • 浅谈JVM

    堆、栈、方法区概念区别 1, Java 堆 堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java...

  • JVM浅谈

    前言 "跨平台":Java就是一门跨平台的语言,其实就是因为Java语言使用Java虚拟机屏蔽了与具体平台相关的信...

  • JVM浅谈

    前言 由于先前也遇到过一些性能问题,OOM算是其中的一大类了。因此也对jvm产生了一些兴趣。自己对jvm略做了些研...

  • Jvm常识

    引言: 浅谈理解 若有错欢迎大家及时纠正 JVM是什么: Java Virtual Machine(Java虚拟机...

  • 浅谈JVM原理

    概念 虚拟机:指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统,是物理机的软件实现...

  • JVM:浅谈CodeCache

      在一次使用Arthas查看线上服务的JVM参数的时候,偶然发现dashboard上出现了一个之前没有留意过的区...

  • JVM浅谈一

    前言 由于先前也遇到过一些性能问题,OOM算是其中的一大类了。因此也对jvm产生了一些兴趣。自己对jvm略做了...

  • jvm运行浅谈

    Java虚拟机(JVM)是基于栈结构的。对于最初的main方法产生的所有的方法调用,都会在栈中产生一个帧,这些帧各...

网友评论

      本文标题:大佬浅谈JVM

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