
jvm从入门到精通
jvm入门到精通
沙漠662
自学javaEE
展开
-
JVM运行时参数
原创 2021-03-07 16:54:00 · 96 阅读 · 0 评论 -
jvisualVM
https://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.htmlhttps://visualvm.github.io/pluginscenters.html原创 2021-02-09 14:15:56 · 350 阅读 · 0 评论 -
jstated 远程主机信息收集
原创 2021-02-08 17:42:51 · 206 阅读 · 0 评论 -
jcmd
原创 2021-02-08 15:23:49 · 125 阅读 · 0 评论 -
jstack
package com.atguigu.jstack;/** * 演示线程:TIMED_WAITING * * @author shkstart * @create 15:28 */public class TreadSleepTest { public static void main(String[] args) { System.out.println("hello - 1"); try { Thread...原创 2021-02-08 15:14:44 · 195 阅读 · 0 评论 -
追踪当前进程中的所有的线程
new Thread(new Runnable() { @Override public void run() { Map<Thread, StackTraceElement[]> all = Thread.getAllStackTraces();//追踪当前进程中的所有的线程 Set<Map.Entry<Thread, StackTraceElement[]>&..原创 2021-02-08 15:02:33 · 262 阅读 · 0 评论 -
JVM jhat:JDK自带堆分析工具
执行成功后 访问 http://localhost:7000/翻译 2021-02-08 11:18:15 · 247 阅读 · 0 评论 -
jvm jmap 导出内存映像和内存使用情况
-Xms10m -Xmx10m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\m.hprof-Xms40m -Xmx40m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\m.hprofjmap -heap [pid]Attaching to process ID 38676, please wait...Debugger att...原创 2021-02-07 17:20:38 · 535 阅读 · 0 评论 -
JVM jinfo
原创 2021-02-07 15:46:20 · 126 阅读 · 0 评论 -
JVM命令 jstat
https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.htmlinterval:用于指定输出统计数据的周期,单位为毫秒,即:查询间隔(多少毫秒打印一次)count:用于指定查询的总次数(打印次数)-t参数:可以在输出信息加上一个Timestamp列 显示程序的试运行时间 单位:秒程序从开始执行到现在一共执行了多少秒-h参数:可以在周期性数据输出时 输出多少行数据后输出一个表头信息..原创 2021-02-07 15:27:01 · 180 阅读 · 0 评论 -
JVM命令行监控 JPS的使用
JPS:查看正在运行的java进程原创 2021-02-07 11:42:11 · 144 阅读 · 0 评论 -
Java 垃圾回收器
package com.atguigu.java;import java.util.ArrayList;/** * -XX:+PrintCommandLineFlags * * -XX:+UseSerialGC:表明新生代使用Serial GC ,同时老年代使用Serial Old GC * * -XX:+UseParNewGC:标明新生代使用ParNew GC * * -XX:+UseParallelGC:表明新生代使用Parallel GC * -XX...转载 2021-01-16 15:56:20 · 98 阅读 · 0 评论 -
2021-01-08
package com.atguigu.java;/** * @author shkstart shkstart@126.com * @create 2020 14:49 */public class SystemGCTest { public static void main(String[] args) { new SystemGCTest(); System.gc();//提醒jvm的垃圾回收器执行gc,但是不确定是否马上执行gc...原创 2021-01-08 19:09:46 · 97 阅读 · 0 评论 -
JVM 垃圾回收
GC的时候STWhttps://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/toc.html原创 2020-12-25 16:47:12 · 82 阅读 · 0 评论 -
JVM String底层结构
JDK1.9的String底层使用byte[]存储http://openjdk.java.net/jeps/254package com.atguigu.java;import org.junit.Test;/** * String的基本使用:体现String的不可变性 * * @author shkstart shkstart@126.com * @create 2020 23:42 */public class StringTest1 ...原创 2020-12-24 17:00:10 · 125 阅读 · 0 评论 -
JVM 执行引擎
Java字节码开头 CA FE BA BE原创 2020-12-24 13:37:34 · 87 阅读 · 0 评论 -
JVM对象的实例化内存布局与访问定位
测试对象实例化的过程* ① 加载类元信息 - ② 为对象分配内存 - ③ 处理并发问题 - ④ 属性的默认初始化(零值初始化)* - ⑤ 设置对象头的信息 - ⑥ 属性的显式初始化、代码块中初始化、构造器中初始化...原创 2020-12-23 14:09:11 · 170 阅读 · 0 评论 -
JVM 方法区
java虚拟机规范https://docs.oracle.com/javase/specs/jvms/se8/html/2.5.4. Method AreaThe Java Virtual Machine has a method area that is shared among all Java Virtual Machine threads. The method area is analogous to the storage area for compiled c...原创 2020-12-21 14:35:16 · 130 阅读 · 0 评论 -
JVM 堆
-Xms 用于表示堆区的起始内存,等价于 -XX:InitialHeapSize-Xmx 用于表示堆区的最大内存,等价于 -XX:MaxHeapSize一旦堆区的内存大于超过 -Xmx所指定的最大内存时,将会抛出OutOfMemoryError异常通常会将 -Xms和-Xmx两个参数配置相同的值,其目的是为了能够在java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小,从而提高性能默认情况下:初始化内存大小:物理电脑内存大小/64...原创 2020-12-17 11:30:17 · 243 阅读 · 0 评论 -
JVM 虚拟机栈
JVM 虚拟机栈描述https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html#jvms-2.5.22.5.2.Java Virtual Machine StacksEach Java Virtual Machine thread has a private Java Virtual Machine stack, created at the same time as the thread. A Java Virtual M...原创 2020-12-10 18:56:12 · 126 阅读 · 0 评论 -
类加载
https://zhuanlan.zhihu.com/p/268574484JVM 支持两种类型的类加载器 。分别为引导类加载器(Bootstrap ClassLoader)和自定义类加载器(User-Defined ClassLoader)。从概念上来讲,自定义类加载器一般指的是程序中由开发人员自定义的一类类加载器,但是 Java 虚拟机规范却没有这么定义,而是将所有派生于抽象类 ClassLoader 的类加载器都划分为自定义类加载器。 启动类加载器(引导类加载...转载 2020-12-10 11:31:49 · 163 阅读 · 0 评论 -
JVM架构
中文版原创 2020-12-04 19:44:39 · 92 阅读 · 0 评论