JVM
不会JAVA的运营不是好数分
这个作者很懒,什么都没留下…
展开
-
运行时数据区域
运行时数据区域 Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域。JDK. 1.8 和之前的版本略有不同,下面会介绍到。 JDK 1.8 之前: JDK 1.8 : 程序计数器:当前线程所执行的字节码的行号指示器。指导下一次需要执行哪一行也保存任务信息。 虚拟机栈:存储局部变量表、操作数栈、动态链接、方法出口等信息 本地方法栈:本地方法栈是为虚拟机调用 Native 方法服务的 堆 : 主要储存对象。 方法区:已被虚拟机加载的类信息、常量、静态变量、即时编译后的原创 2020-06-11 19:56:25 · 203 阅读 · 0 评论 -
类的生命周期和类的加载
类的生命周期 一个类的完整生命周期如下: 加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的 解析阶段在某些情况下,可以在初始化阶段之后再开始 虚拟机规范规定,以下5种场景需要立即对类进行初始化工作 遇到特定字节码指令的时候 字节码指令:new、getstatic、putstatic、invokestatic 使用new关键字实例化对象 set/get类的静态字段(排除final修饰的字段) 调用类的静态方法 对类进行反射操作的时候 初始化一个类的时候,必原创 2020-06-11 19:54:10 · 311 阅读 · 0 评论 -
JVM垃圾回收算法和垃圾回收器
JVM垃圾回收算法和垃圾回收器 堆的基本结构 ava 的自动内存管理主要是针对对象内存的回收和对象内存的分配。同时,Java 自动内存管理最核心的功能是 堆 内存中对象的分配与回收。 Java 堆是垃圾收集器管理的主要区域,因此也被称作GC 堆(Garbage Collected Heap).从垃圾回收的角度,由于现在收集器基本都采用分代垃圾收集算法,所以 Java 堆还可以细分为:新生代和老年代:再细致一点有:Eden 空间、From Survivor、To Survivor 空间等。进一步划分的目的是更原创 2020-06-11 19:51:14 · 231 阅读 · 0 评论 -
GC调优和JVM参数设置
GC调优和JVM参数设置 JVM 配置常用参数 堆参数; 回收器参数; 项目中常用配置; 常用组合; 堆参数 回收器参数 如上表所示,目前主要有串行、并行和并发三种,对于大内存的应用而言,串行的性能太低,因此使用到的主要是并行和并发两种。并行和并发 GC 的策略通过 UseParallelGC和UseConcMarkSweepGC 来指定,还有一些细节的配置参数用来配置策略的执行方式。例如:XX:ParallelGCThreads, XX:CMSInitiatingOccupancyFraction原创 2020-06-11 19:48:42 · 284 阅读 · 0 评论