![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JVM
JVM解析
fanjia2shao
这个作者很懒,什么都没留下…
展开
-
JVM垃圾回收器
垃圾回收器GC分类与性能指标垃圾收集器分类按线程数分按工作模式分按碎片处理方式分评估GC的性能指标性能指标:吞吐量性能指标:暂停时间吞吐量vs暂停时间不同的垃圾回收器概述垃圾回收器发展史7种经典的垃圾收集器垃圾收集器的组合关系!如何查看默认垃圾收集器Serial回收器:串行回收Serial 0ld在Server模式下主要有两个用途:总结ParNew回收器:并行回收总结Parallel回收器:吞吐量优先参数配置CMS回收器:低延迟**初始标记**(Initial-Mark)阶段:**并发标记**(Concur原创 2020-09-16 20:06:50 · 257 阅读 · 0 评论 -
JVM垃圾回收相关概念
垃圾回收相关概念System.gc()的理解内存溢出Stop The World垃圾回收的并行与并发并发并行并发和并行对比垃圾回收的并行与并发安全点与安全区域System.gc()的理解在默认情况下,通过system.gc()者Runtime.getRuntime().gc() 的调用,会显式触发FullGC,同时对老年代和新生代进行回收,尝试释放被丢弃对象占用的内存。然而system.gc() )调用附带一个免责声明,无法保证对垃圾收集器的调用。(不能确保立即生效)JVM实现者可以通过system原创 2020-09-16 19:04:28 · 184 阅读 · 0 评论 -
JVM垃圾回收相关算法
垃圾回收相关算法标记阶段标记阶段:引用计数算法循环引用举例小结标记阶段:可达性分析算法概念思路GC Roots可以是哪些?对象的finalization机制描述注意对象三个状态具体过程MAT与JProfiler的GC Roots溯源MAT是什么?命令行使用 jmap使用JVIsualVM使用MAT打开Dump文件JProfiler的GC Roots溯源如何判断什么原因造成OOM清除阶段标记-清除算法执行过程什么是清除?缺点复制算法背景核心思想优点缺点标记-整理算法背景执行过程标清和标整的区别优点缺点小结扩展原创 2020-09-16 17:50:02 · 285 阅读 · 0 评论 -
JVM垃圾回收概述
垃圾回收概述概念什么是垃圾为什么需要GC早期垃圾回收Java垃圾回收机制优点担忧GC主要关注的区域概念这次我们主要关注的是黄色部分,内存的分配与回收什么是垃圾哪些内存需要回收?什么时候回收?如何回收?什么是垃圾?磁盘碎片整理如何回收?垃圾收集机制是Java的招牌能力,极大地提高了开发效率。如今,垃圾收集几乎成为现代语言的标配,即使经过如此长时间的发展,Java的垃圾收集机制仍然在不断的演进中,不同大小的设备、不同特征的应用场景,对垃圾收集提出了新的挑战,这当然也是面试的热点。什么原创 2020-09-16 16:44:48 · 130 阅读 · 0 评论 -
JVM StringTable字符串常量池
StringTableString的基本特性String的内存分配比如:string info="atguigu.com";为什么StringTable从永久代调整到堆中String的基本操作字符串拼接操作底层原理拼接操作和append性能对比intern()的使用StringTable的垃圾回收G1中的String去重操作描述实现开启面试题new String("ab")会创建几个对象new String("a") + new String("b") 会创建几个对象intern的使用:JDK6和JDK7J原创 2020-09-16 14:04:59 · 250 阅读 · 0 评论 -
jvm执行引擎
执行引擎执行引擎概述执行引擎的工作流程Java代码编译和执行过程什么是解释器(Interpreter)什么是JIT编译器为什么Java是半编译半解释型语言机器码、指令、汇编语言机器码指令指令集汇编语言高级语言C、C++源程序执行过程字节码解释器解释器分类现状JIT编译器概念解释热点探测技术方法调用计数器:用于统计方法的调用次数回边计数器HotSpotVM 可以设置程序执行方法HotSpotVM中 JIT 分类C1 和 C2编译器不同的优化策略分层编译策略总结AOT编译器写到最后执行引擎概述执行引擎属于J原创 2020-09-16 10:41:43 · 75 阅读 · 0 评论 -
JVM对象实例化内存布局与访问定位
对象实例化内存布局与访问定位对象实例化对象创建方式创建对象的步骤判断对象对应的类是否加载、链接、初始化为对象分配内存处理并发问题初始化分配到的内存设置对象的对象头执行init方法进行初始化对象内存布局对象头实例数据(Instance Data)对齐填充对象的访问定位对象实例化加载类元信息为对象分配内存处理并发问题属性的默认初始化(零值初始化)设置对象头信息属性的显示初始化、代码块中初始化、构造器中初始化对象创建方式new:最常见的方式、单例类中调用getInstance的静态类方法,原创 2020-09-12 18:13:09 · 100 阅读 · 0 评论 -
JVM方法区
方法区前言方法区的理解方法区的内部结构类型信息域信息方法(Method)信息non-final的类变量全局常量运行时常量池 VS 常量池运行时常量池常量池方法区的垃圾回收设置方法区大小与OOMjdk7及以前JDK8以后如何解决这些OOM栈、堆、方法区的交互关系方法区使用举例方法区的演进细节为什么永久代要被元空间替代?StringTable为什么要调整位置静态变量存放在那里?总结常见面试题前言这次所讲述的是运行时数据区的最后一个部分从线程共享与否的角度来看ThreadLocal:如何保证多个线程在原创 2020-09-12 14:31:12 · 127 阅读 · 0 评论 -
JVM堆
java堆堆的核心概念堆内存的大小是可以调节的。堆对象堆内存细分堆空间分代思想设置堆内存大小与OOM堆针对一个JVM进程来说是唯一的,也就是一个进程只有一个JVM,但是进程包含多个线程,他们是共享同一堆空间的。一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。Java堆区在JVM启动的时候即被创建,其空间大小也就确定了。是JVM管理的最大一块内存空间。堆的核心概念堆内存的大小是可以调节的。《Java虚拟机规范》规定,堆可以处于物理上不连续的内存空间中,但在逻辑上它应该被视为连续原创 2020-09-12 13:52:28 · 166 阅读 · 0 评论 -
JVM本地方法接口和本地方法栈
本地方法接口和本地方法栈本地方法接口什么是本地方法为什么使用Native Method?与Java环境的交互与操作系统的交互Sun's Java本地方法栈本地方法接口目前该方法使用的越来越少了,除非是与硬件有关的应用,比如通过Java程序驱动打印机或者Java系统管理生产设备,在企业级应用中已经比较少见。因为现在的异构领域间的通信很发达,比如可以使用Socket通信,也可以使用Web Service等等,不多做介绍什么是本地方法简单地讲,一个Native Methodt是一个Java调用非Java代原创 2020-09-02 09:48:59 · 139 阅读 · 0 评论 -
JVM虚拟机栈
程序计数器作用代码演示使用PC寄存器存储字节码指令地址有什么用呢?PC寄存器为什么被设定为私有的?CPU时间片JVM中的程序计数寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。这里,并非是广义上所指的物理寄存器,或许将其翻译为PC计数器(或指令计数器)会更加贴切(也称为程序钩子),并且也不容易引起一些不必要的误会。JVM中的PC寄存器是对物理PC寄存器的一种抽象模拟。它是一块很原创 2020-08-31 16:49:18 · 104 阅读 · 0 评论 -
JVM类加载子系统
类加载子系统概述类加载器子系统作用类的加载过程加载阶段加载class文件的方式链接阶段准备 Prepare解析 Resolve初始化阶段类加载器的分类虚拟机自带的加载器-启动类加载器(引导类加载器,Bootstrap ClassLoader)扩展类加载器(Extension ClassLoader)应用程序类加载器(系统类加载器,AppClassLoader)用户自定义类加载器查看根加载器所能加载的目录关于ClassLoader双亲委派机制工作原理双亲委派机制举例沙箱安全机制双亲委派机制的优势其它如何判断两原创 2020-08-31 15:06:58 · 89 阅读 · 0 评论 -
JVM与Java体系结构
JVM与Java体系结构前言架构师每天都在思考什么?为什么要学习JVM?Java vs C++Java生态圈字节码多语言混合编程Java发展的重大事件虚拟机与Java虚拟机虚拟机Java虚拟机特点JVMJVM的位置JVM整体结构Java代码执行流程JVM的架构模型举例字节码反编译总结栈JVM生命周期虚拟机的启动虚拟机的执行虚拟机的退出JVM发展历程Sun Classic VMExact VMHotSpot VMJRockitIBM的J9KVM和CDC / CLDC HotspotAzul VMLiquid原创 2020-08-31 14:08:03 · 197 阅读 · 0 评论