![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 70
月下未来
既然是对自己未来有帮助的事情,那么为什么不努力的去做呢
展开
-
JVM排查工具
本片摘录于收藏的微信公众号文章,排版会有些乱目录JDK 监控和故障处理工具总结JDK 命令行工具jps:查看所有 Java 进程jstat: 监视虚拟机各种运行状态信息jinfo: 实时地查看和调整虚拟机各项参数jmap:生成堆转储快照jhat: 分析 heapdump 文件jstack:生成虚拟机当前时刻的线程快照JDK 可视化分析工具JConsole:Java 监视与管理控制台Visual VM:多合一故障处理工具JDK 命令行工具这些命令...原创 2021-04-03 22:44:35 · 231 阅读 · 0 评论 -
JVM参数
开启GC收集细节-XX:+PrintGCDetails // 开启 -XX:-PrintGCDetails // 关闭使用串行垃圾回收器-XX:+UseSerialGC // 使用初始化堆大小-Xms1024m 等价于 -XX:InitialHeapSize=1024m最大堆大小-Xmx1024m 等价于 -XX:MaxHeapSize=1024m设置垃圾最大年龄-XX:PretenureSizeThreshold=15报oom时自...原创 2021-04-03 22:39:05 · 105 阅读 · 0 评论 -
垃圾收集算法、垃圾收集器
垃圾收集算法为什么要有GC自动监测对象是否超过作用域从而达到自动回收内存的目的Java垃圾回收机制Jvm中,有一个垃圾回收线程,它的优先级很低的线程,正常情况下它是不会触发执行的,只有当虚拟机空闲或者内存不足的时候,才会回收没有任何引用的对象垃圾收集器可以马上回收内存吗?通过system.gc()提醒虚拟机:希望进行一次垃圾回收,但是它不能保证垃圾回收一定会进行。GC算法1.标记-清除算法:标记出所有需要回收的对象,在标记完成后统一回收掉所有标记的对象2....原创 2021-04-03 22:08:06 · 72 阅读 · 0 评论 -
JVM内存模型
JVM各个区域堆:成员变量(成员变量作为对象的属性,当然是放在堆里了。对象在堆里,对象中的内容就是各种字段) 各种对象 字符串常量池(⽤于存放编译期⽣成的各种字⾯量和符号引⽤,这个以前在运行时常量池内)方法区:加载的类信息(Class实例)、常量、静态变量 运行时常量池:常量池是方法区中的一部分,主要用来存放常量和类中的符号引用等信息程序计数器:记录虚拟机字节码指令的地址,为了线程切换后恢复到正确的执行位置(唯一一个没有OOM的区域,生命周期随着线程的创建而创建,死亡而死亡) .原创 2021-04-03 21:53:03 · 62 阅读 · 0 评论 -
类加载器
JVM类加载器种类根类加载器:加载Java的核心类,无法直接获取 扩展类加载器:加载JRE的扩展目录 应用程序类加载器:加载.class文件进入方法区 自定义类加载器类加载器加载Class的8个步骤检测此Class是否载入过,即在缓冲区中是否有此Class,如果有直接进入第8步,否则进入第2步。 如果没有父类加载器,则要么Parent是根类加载器,要么本身就是根类加载器,则跳到第4步,如果父类加载器存在,则进入第3步。 请求使用父类加载器去载入目标类,如果载入成功则跳至第8..原创 2021-04-03 21:32:31 · 85 阅读 · 0 评论 -
JVM起始篇
目录1.JVM虚拟机2.JVM类加载1.JVM虚拟机 JVM运行于操作系统,是一个可以执行Java字节码的进程,进程是操作系统的执行单位 JVM有三个子系统:类加载器、执行引擎、垃圾收集器 https://blog.csdn.net/zhangjg_blog/article/details/20380971?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute...原创 2021-04-03 21:07:20 · 77 阅读 · 0 评论