记一次JMX远程连接失败的问题
今日测试服上发现了一个堆内存问题,想要用jvisualvm远程连接jmx过去查看,但是发现连接失败了。 我赶紧查看服务器上的jvm参数,参数正常—— ` -Djava.rmi.server.hostname=192.168.12.17 -Dcom.sun.management.jmxremote.p
今日测试服上发现了一个堆内存问题,想要用jvisualvm远程连接jmx过去查看,但是发现连接失败了。 我赶紧查看服务器上的jvm参数,参数正常—— ` -Djava.rmi.server.hostname=192.168.12.17 -Dcom.sun.management.jmxremote.p
如果一个对象具有软引用,内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。这通常能够用在缓存删除的场景,让缓存对象实现软引用,那么在内存不够的时候,缓存对象就能被回收,释放内存。 案例1,不使用软引用 jvm参数设置:-Xms5M -Xmx5M -XX:+PrintG
在《深入理解java虚拟机》第二版中第3章,有写到: 强引用就是指在程序代码之中普遍存在的,类似“Object obj = new Object()”这类的引用,只要强引用还存在,垃圾收集器永远不会回收掉被引用的对象。《深入理解java虚拟机》 这段话很容易让人理解成, 类似“Object obj
jvm内存区域 [ ]() 1、程序计数器:每个线程都有自己的一个程序计数器,记录所执行的字节码的行号。 2、虚拟机栈:每个线程独有的,生命周期与线程相同。一个方法被执行的时候就会创建一个栈帧,方法的执行至结束对应着栈帧的入栈至出栈的过程。 3、本地方法栈: 与虚拟机栈作用类似,但它只为本地nati
一、程序 ` public class Test5 { public static void main(String[] args) { byte[] b =null; for (int i = 0; i < 10; i++) { b=
一、程序 ` public class Test5 { public static void main(String[] args) { byte[] b =null; for (int i = 0; i < 10; i++) { b=
一、程序 ` public class Test4 { public static void main(String[] args) { byte[] b =null; for (int i = 0; i < 10; i++) { b=
一、程序 ` public class Test3 { public static void main(String[] args) { byte[] b =null; for (int i = 0; i < 10; i++) { b=
程序 ` public class Test2 { public static void main(String[] args) { byte[] b =null; for (int i = 0; i < 10; i++) { b=ne
1、程序Test1 ` public class Test1 { public static void main(String[] args) { byte[] b =null; for (int i = 0; i < 10; i++) {