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 · 228 阅读 · 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 · 85 阅读 · 0 评论 -
垃圾收集算法、垃圾收集器
垃圾收集算法 为什么要有GC 自动监测对象是否超过作用域从而达到自动回收内存的目的 Java垃圾回收机制 Jvm中,有一个垃圾回收线程,它的优先级很低的线程,正常情况下它是不会触发执行的,只有当虚拟机空闲或者内存不足的时候,才会回收没有任何引用的对象 垃圾收集器可以马上回收内存吗? 通过system.gc()提醒虚拟机:希望进行一次垃圾回收,但是它不能保证垃圾回收一定会进行。 GC算法 1.标记-清除算法:标记出所有需要回收的对象,在标记完成后统一回收掉所有标记的对象 2....原创 2021-04-03 22:08:06 · 69 阅读 · 0 评论 -
JVM内存模型
JVM各个区域 堆: 成员变量(成员变量作为对象的属性,当然是放在堆里了。对象在堆里,对象中的内容就是各种字段) 各种对象 字符串常量池(⽤于存放编译期⽣成的各种字⾯量和符号引⽤,这个以前在运行时常量池内) 方法区: 加载的类信息(Class实例)、常量、静态变量 运行时常量池:常量池是方法区中的一部分,主要用来存放常量和类中的符号引用等信息 程序计数器: 记录虚拟机字节码指令的地址,为了线程切换后恢复到正确的执行位置(唯一一个没有OOM的区域,生命周期随着线程的创建而创建,死亡而死亡) .原创 2021-04-03 21:53:03 · 57 阅读 · 0 评论 -
类加载器
JVM类加载器种类 根类加载器:加载Java的核心类,无法直接获取 扩展类加载器:加载JRE的扩展目录 应用程序类加载器:加载.class文件进入方法区 自定义类加载器 类加载器加载Class的8个步骤 检测此Class是否载入过,即在缓冲区中是否有此Class,如果有直接进入第8步,否则进入第2步。 如果没有父类加载器,则要么Parent是根类加载器,要么本身就是根类加载器,则跳到第4步,如果父类加载器存在,则进入第3步。 请求使用父类加载器去载入目标类,如果载入成功则跳至第8..原创 2021-04-03 21:32:31 · 83 阅读 · 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 · 76 阅读 · 0 评论