栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

笔记(jvm)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

笔记(jvm)

jvm的组成部分及其作用
  • 类加载器
  • 运行时数据区
  • 执行引擎
  • 本地库文件

首先类加载器把java代码转化为字节码,运行时数据区把字节码传入内存,执行引擎把字节码转化为底层系统指令给cpu去执行,在这个过程中要用到其他语言的本地库接口来实现。

堆栈的区别
  • 栈存储的是局部变量,堆存储的是实体
  • 栈内的元素更新速度比堆快
  • 栈内的元素一旦生命周期到了就会释放掉,堆内的实体会通过回收机制不定时回收
双亲委派机制

当一个类加载器收到加载请求时,不会立即去加载这个请求,而是把这个请求发送给他的父类去加载,每一层的类加载器都是如此,这样所有的加载请求都会传送到顶层的启动类,只有当父类无法加载请求时,子类才会去尝试加载。

类加载过程

首先根据查找路径找到对应的class文件,然后检查class文件的正确性,准备给类中的静态变量分配存储空间,虚拟机将常量池中的符号引用替换为直接引用,最后对静态变量和代码执行初始化工作

jvm回收算法
  • 标记-清除
  • 标记-整理
  • 复制
  • 分代
新生代和老生代的垃圾回收器的区别

新生代一般用的时复制算法(效率高,内存利用率低)

老生代用的是标记-整理

jvm调优工具
  • jconsole 用于对jvm的内存、线程、类进行监控
  • jvisualvm jdk自带的全能分析工具,可以分析:内存快照、线程快照、程序死锁、内存变化、gc变化等
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/941293.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号