JVM原理
文章平均质量分 82
JVM 原理,源码,性能调优。
街灯下的小草
这个作者很懒,什么都没留下…
展开
-
【JVM调优】JVM 参数说明
前言JVM 参数很多,不同 JDK 版本也有所不同,不同的搭配性能也不一样,只能反复根据自己业务进行压测调整,达到一个适合业务的较佳状态。下面以一个 JDK8 常用配置进行一些基本参数分析说明。一、项目参数export JAVA_OPTS=" -server -Xms5078M -Xmx5078M -Xmn3048M -Xss256K -XX:SurvivorRatio=8 -XX:MetaspaceSize=256m -XX:MaxMetaspaceS原创 2021-11-30 19:21:08 · 1944 阅读 · 0 评论 -
【JVM调优】Linux top 命令详解
Linux top 命令详情多核 cpu 显示每核信息,在上面基础上按 1 即可。二 top 命令详解针对此图进行说明。 项目 说明 top 基本信息名称 09:52:59 系统当前时间 up 1261 days, 18:11 系统开机到现在经过了多少时间 1 user 当前 1 个用原创 2021-11-18 11:50:05 · 1314 阅读 · 0 评论 -
【JVM原理】类加载机制
一 类加载的时机 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)七个阶段,如图:其中加载、验证、准备、初始化、卸载这5个阶段的顺序是确定的,类的...原创 2018-07-31 18:53:07 · 616 阅读 · 0 评论 -
【JVM原理】内存分配和回收策略
一 内存分配与回收策略概述对象的内存分配往大方向讲,就是在堆上分配(但也可能经过JIT编译后被拆散为标量类型并间接地栈上分配),对象主要分配在新生代的Eden区上,如果启用了本地线程分配缓冲,将按线程优先在TLAB上分配。少数情况下也可能直接分配在老年代中,分配的规则并不是百分百固定的,分配细节取决于垃圾收集器组合,还有虚拟机中与内存相关的参数设置。HotSpo...原创 2018-07-10 00:12:40 · 637 阅读 · 0 评论 -
【JVM原理】垃圾收集器
一垃圾收集器概述 垃圾收集器是垃圾收集算法(标记-清除算法、复制算法、标记-整理算法)的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、不同版本的虚拟机所提供的垃圾收集器都可能会有很大的差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。 这里主要讨论HotSpot虚拟机中的垃圾收集器。1...原创 2018-07-08 15:01:52 · 727 阅读 · 0 评论 -
【JVM原理】垃圾收集算法
"标记-清除"算法、"复制"算法、"标记-整理"算法、"分代收集"算法的思想、优缺点和应用场景。原创 2018-07-07 22:51:42 · 544 阅读 · 0 评论 -
【JVM原理】如何判定对象可以回收
一垃圾回收机制概述GC即垃圾收集机制是指JVM用于释放那些不再使用的对象所占用的内存。Java语言并不要求JVM有GC,也没有规定GC如何工作。不过常用的jvm都有GC,而且大多数GC都使用类似的算法管理内存和执行收集操作。在充分理解了垃圾收集算法和执行过程后,才能有效的优化它的性能。有些垃圾收集专用于特殊的应用程序。比如,实时应用程序主要是为了避免垃圾收集中断,而大多数...原创 2018-07-07 18:21:48 · 2988 阅读 · 0 评论 -
【JVM原理】内存溢出分析
一内存溢出概述 在Java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其他几个运行时数据区域都有发生内存溢出异常(OutOfMemoryError,简称OOM)的可能。 内存溢出就是在申请内存的时候,没有足够的内存,这个时候就会抛出内存溢出异常。 内存溢出和内存泄漏的区别: 内存泄漏是由于使用不当,把一部分内存“丢掉了”,导致这部分内存不可用。...原创 2018-07-07 00:06:25 · 4822 阅读 · 0 评论 -
【JVM原理】HotSpot对象创建、内存、访问
一 对象创建过程 在Java程序运行中无时无刻都有对象被创建出来,在Java语言层面,仅仅是一个new关键字而已。而当虚拟机遇到一条new指令时,会进行一序列对象创建的操作。1、检查常量池中是否有即将要创建的这个对象所属类的符号引用。1)如果常量池中没有这个类的符号引用,说明这个类没有被定义,则抛出ClassNotFoundException异常;2)如果有这个类的符号...原创 2018-07-03 16:48:56 · 998 阅读 · 0 评论 -
【JVM原理】jvm 内存结构
一 Java内存模型 Java虚拟机在执行程序的过程中会把它管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有些区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范(Java SE 7版)》分为如下几个运行时数据区域。其中"绿色"部分为线程共享数据区域,"黄色"部分为线程隔离的数据...原创 2018-07-02 23:27:00 · 847 阅读 · 0 评论