jconsole查看线程池内部对象在jvm内存变化
来源:互联网 发布:淘宝代购订单管理系统 编辑:程序博客网 时间:2024/06/07 19:55
我们经常在使用线程时查看jvm的使用状况,以jconsole为例:
线程类MyRunnable :
public class MyRunnable implements Runnable { @Override public void run() { System.out.println("run"); } @Override protected void finalize() throws Throwable { // TODO Auto-generated method stub super.finalize(); System.err.println(Thread.currentThread().getName()+"-"+this.hashCode()+"-finalize"); }}
线程池:
import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class MyRunnableThreadPool { public static void main(String[] args) throws InterruptedException { Thread.sleep(1500); ExecutorService exe = Executors.newFixedThreadPool(30); for (int i = 0; i < 30; i++) { exe.execute(new MyRunnable()); } System.out.println("end"); }}
启动线程池,在之前加一个断点,留出时间打开jconsole:
打开C:\Program Files\Java\jdk1.7.0_79\bin目录下的jconsole.exe:
选择当前运行的线程。
放开断点,查看jconsole视图:
单击执行GC按钮:
可以看到执行GC之后线程池内部的MyRunnable对象被释放,调用了finalize,当对象被回收时此方法会被调用。
控制台打印:
0 0
- jconsole查看线程池内部对象在jvm内存变化
- 查看JVM内存使用情况jconsole+weblogic9.2
- jvm JConsole工具监控内存和线程演示
- JVM内存监控工具 Jconsole
- 对象实例化,jvm执行时内存变化,
- jvm内部线程介绍
- JVM内存监控:visualVM jconsole jstatd jmap
- JVM内存监控:visualVM jconsole jstatd jmap
- JVM内存分析以及Jconsole(一)
- JVM内存分析以及Jconsole(二)
- JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jsta (Linux 如何查看进程的各线程的CPU占用 )
- jvm 内存dump、gc查看、线程死锁,jmap、jstack、jstat
- jvm 内存dump、gc查看、线程死锁,jmap、jstack、jstat
- JAVA对象在JVM中内存分配
- 用JDK中的 jps、jinfo、jstat、jstack、jmap、jconsole等命令对JVM,内存,线程进行分析和故障诊断
- 用JDK中的 jps、jinfo、jstat、jstack、jmap、jconsole等命令对JVM,内存,线程进行分析和故障诊断
- 用JDK中的 jps、jinfo、jstat、jstack、jmap、jconsole等命令对JVM,内存,线程进行分析和故障诊断
- 用JDK中的 jps、jinfo、jstat、jstack、jmap、jconsole等命令对JVM,内存,线程进行分析和故障诊断
- 在共享Dll和静态库中使用MFC的区别
- Ajax提交之后,Method从POST变成GET
- 树与等价类
- rbac权限管理
- The program can't start because Qt5Cored.dll is missing from your computer最简单的解决方法
- jconsole查看线程池内部对象在jvm内存变化
- 免费数据集下载
- CentOS7搭建NFS服务
- 用cmd开启mysql数据库并建立数据库表
- SniperOJ WEB writeup
- UITableView 重用(dequeueReusableCellWithIdentifier:)
- python 的返回值为list 的 property 绕过 setter 的问题
- c++第五次上机实验
- 史上最清晰易懂的JAVA深克隆和浅克隆讲解