JVM
java_leejin
持续记录,持续输出----2019.07.27
展开
-
JVM-----IDEA中查看JVM状态
怎么获取 Java 程序使用的内存?堆使用的百分比?可以通过 java.lang.Runtime 类中与内存相关方法来获取剩余的内存,总内存及最大堆内存。通过这些方法你也可以获取到堆使用的百分比及堆内存的剩余空间。 Runtime.freeMemory() 方法返回剩余空间的字节数,Runtime.totalMemory() 方法总内存的字节数,Runtime.maxMemory() 返回最大内...原创 2019-07-27 12:37:50 · 9369 阅读 · 0 评论 -
JVM-----内存分区、分配
标题JVM内存分区内存分区模型图1.1 JVM栈JVM栈是线程私有的,每个线程创建的同时都会创建JVM栈,栈中存的是基本数据类型和堆中对象的引用(java中定义的八种基本类 型:boolean、char、byte、short、int、long、float、double),由于JVM栈是线程私有的,因此其在内存分配上非常高效,并且当线程运行完毕后,这些内存也就被自动回收。1.2 Hea...原创 2019-07-27 12:41:53 · 180 阅读 · 0 评论 -
JVM-----GC垃圾回收机制及垃圾收集器
垃圾收集器一般必须完成两件事:检测出垃圾;回收垃圾1 垃圾回收算法:1.1、标记-清除算法(Mark-Sweep)“标记-清除”算法是最基础的算法,分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收掉所有被标记的对象。它主要由两个缺点:一个是效率问题,标记和清除过程的效率都不高;另一个是空间问题,标记清除之后会产生大量不连续的内存碎片,空间碎片太多可能会导...原创 2019-07-27 12:47:10 · 151 阅读 · 0 评论 -
JVM-----调优指令
1、调优指令设置JVM内存的参数有四个:-Xmx Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;-Xms Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;-Xmn Java Heap Young区大小,不熟悉最好保留默认值;-Xss 每个线程的...原创 2019-07-27 13:05:38 · 312 阅读 · 0 评论 -
JVM-----常见问题
1)你能保证 GC 执行吗?(答案)不能,虽然你可以调用 System.gc() 或者 Runtime.gc(),但是没有办法保证 GC 的执行。2)怎么获取 Java 程序使用的内存?堆使用的百分比?可以通过 java.lang.Runtime 类中与内存相关方法来获取剩余的内存,总内存及最大堆内存。通过这些方法你也可以获取到堆使用的百分比及堆内存的剩余空间。 Runtime.freeMe...原创 2019-07-27 13:08:16 · 174 阅读 · 0 评论