![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 55
Leo_Hu666
这个作者很懒,什么都没留下…
展开
-
JVM双亲委派机制
是一种组织类加载器之间关系的一种规范,他的工作原理是:如果一个类加载器收到了类加载的请求,它不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成,这样层层递进,最终所有的加载请求都被传到最顶层的启动类加载器中,只有当父类加载器无法完成这个加载请求(它的搜索范围内没有找到所需的类)时,才会交给子类加载器去尝试加载.3.AppClassLoader:由Java语言实现,父类加载器为ExtClassLoader 自定义类加载器,父类加载器肯定为AppClassLoader。原创 2024-02-07 15:31:35 · 354 阅读 · 0 评论 -
JVM优化备份
5.减少GC对老年代的回收。设置生代带垃圾对象最大年龄,进量不要有大量连续内存空间的java对象,因为会直接到老年代,内存不够就会执行GC。1.在实际工作中,我们可以直接将初始的堆大小与最大堆大小相等, 这样的好处是可以减少程序运行时垃圾回收次数,从而提高效率。2.初始堆值和最大堆内存内存越大,吞吐量就越高, 但是也要根据自己电脑(服务器)的实际内存来比较。3.最好使用并行收集器,因为并行收集器速度比串行吞吐量高,速度快。4.设置堆内存新生代的比例和老年代的比例最好为1:2或者1:3。原创 2024-02-07 15:28:46 · 356 阅读 · 0 评论 -
JVM常用参数说明
XX:SurvivorRatio=n 年轻代中 Eden 区与两个 Survivor 区的比值。-XX:NewRatio=n 设置年轻代和年老代的比值。如: -XX:NewRatio=3,表示年轻代与年老代比值为 1:3,年轻代占整个年轻代+年老代和的 1/4。-Xmx:最大堆大小,JVM 运行过程中,如果初始堆空间不足的时候,最大可以扩展到多少。整个堆大小=年轻代大小+年老代大小+持久代大小。-XX:NewSize=n 设置年轻代初始化大小大小。-XX:MaxPermSize=n 设置持久代大小。原创 2024-02-07 15:27:03 · 345 阅读 · 0 评论 -
JVM jstat工具
S0 -Heap上的Survivor space 0区已使用空间的百分比。S1 -Heap上的Survivor space 1区已使用空间的百分比。YGCT -从应用程序启动到采样时Yang GC所用的时间【单位秒】GCT -从应用程序启动到采样时用于垃圾回收的总时间【单位秒】FGCT -从应用程序启动到采样时Full GC所用的时间。E -Heap上Eden space区已使用空间的百分比。O -Heap上的Old space区已使用空间的百分比。FGC -从应用程序启动到采样时Full GC的次数。原创 2024-02-07 14:03:38 · 317 阅读 · 0 评论 -
JVM虚拟机掌握和优化
一、Java文件编译的过程 :1.程序员编写的.java文件2.由javac编译成字节码文件.class:(为什么编译成class文件,因为JVM只认识.class文件)3.在由JVM编译成电脑认识的文件 (对于电脑系统来说 文件代表一切)二、Java是跨平台语言 :1.这个夸平台是中间语言(JVM)实现的夸平台 java有JVM从软件层面屏蔽了底层硬件、指令层面的细节让他兼容各种系统;2.难到 C 和 C++ 不能夸平台吗 其实也可以 C和C++需要在编译器层面去兼容不同操作系统的不同层面,写过C和C++原创 2024-02-07 13:58:27 · 841 阅读 · 0 评论