JVM
way_more
You can be way more.
展开
-
这个关于GC调优的总结,通俗易懂,值得一看
GC 调优原则在调优之前,我们需要记住下面的原则:多数的 Java 应用不需要在服务器上进行 GC 优化; 多数导致 GC 问题的 Java 应用,都不是因为我们参数设置错误,而是代码问题; 在应用上线之前,先考虑将机器的 JVM 参数设置到最优(最适合); 减少创建对象的数量; 减少使用全局变量和大对象; GC 优化是到最后不得已才采用的手段; 在实际使用中,分析 GC 情况优化代码比优化 GC 参数要多得多。GC 调优目的将转移到老年代的对象数量降低到最小; 减少 GC 的执行时间。##转载 2020-05-30 14:37:55 · 206 阅读 · 0 评论 -
JVM配置参数,看这篇就行了
查看GC日志首先学习JVM,那我们就必须学会查看GC日志那么,我们就要学会IDE的控制台打印GC日志下面是idea打开GC日志的方法1.首先点击Run,选择Edit Configurations2.选中对应的项目,在Configuration的Environment中的VM options,加上-XX:+PrintGCDetails3.启动项目,即可在控制台看到对应的日志注意:以下为JDK10的G1垃圾收集器的日志,不同的JDK使用不同的收集器分析:#堆每块1M大小[0.024s原创 2020-05-30 13:12:15 · 272 阅读 · 1 评论 -
你知道类是如何加载的吗?不知道赶紧看这篇文章
类的生命周期一个类的完整生命周期如下:’类加载过程Class 文件需要加载到虚拟机中之后才能运行和使用,那么虚拟机是如何加载这些 Class 文件呢?系统加载 Class 类型的文件主要三步:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。加载类加载过程的第一步,主要完成下面3件事情:1.通过全类名获取定义此类的二进制字节流2.将字节流所代表的静态存储结构转换为方法区的运行时数据结构3.在内存中生成一个代表该类的 Class 对象,作为方法区转载 2020-05-29 11:40:58 · 149 阅读 · 1 评论 -
你必须知道的JVM垃圾回收,看完不怕面试
本节常见面试题如何判断对象是否死亡(两种方法)。简单的介绍一下强引用、软引用、弱引用、虚引用(虚引用与软引用和弱引用的区别、使用软引用能带来的好处)。如何判断一个常量是废弃常量如何判断一个类是无用的类垃圾收集有哪些算法,各自的特点?HotSpot 为什么要分为新生代和老年代?常见的垃圾回收器有哪些?介绍一下 CMS,G1 收集器。Minor Gc 和 Full GC 有什么不同呢?本文导火索当需要排查各种内存溢出问题、当垃圾收集成为系统达到更高并发的瓶颈时,我们就需要对这些“自动化”转载 2020-05-28 21:22:15 · 180 阅读 · 0 评论 -
想了解JVM?先看这篇博客
一 概述对于 Java 程序员来说,在虚拟机自动内存管理机制下,不再需要像 C/C++程序开发程序员这样为每一个 new 操作去写对应的 delete/free 操作,不容易出现内存泄漏和内存溢出问题。正是因为 Java 程序员把内存控制权利交给 Java 虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会是一个非常艰巨的任务。二 运行时数据区域Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域。JDK. 1.8 和之前转载 2020-05-24 23:31:42 · 148 阅读 · 0 评论 -
Java程序员必须知道的OutOfMemoryError和StackOverFlowError原因及解决方法
OutOfMemoryError以下介绍常见的OOM原因及解决方法Java heap space当堆内存(Heap Space)没有足够空间存放新创建的对象时,就会抛出 java.lang.OutOfMemoryError: Java heap space 错误(根据实际生产经验,可以对程序日志中的 OutOfMemoryError 配置关键字告警,一经发现,立即处理)。原因分析Java heap space 错误产生的常见原因可以分为以下几类:1.请求创建一个超大对象,通常是一个大数组。转载 2020-05-24 00:47:03 · 831 阅读 · 0 评论