JVM
|Ringleader|
对游戏非常感兴趣的前Java后端程序员。
记录学习Unity过程,一步一个脚印成为游戏开发大佬,做出我心中的游戏,完成我的小说。
感兴趣的不妨关注一波。
展开
-
类加载器、双亲委派机制与打破(Driver、TCCL、Tomcat等)
类与类加载器、Class< T>对于任意一个类,都必须由加载它的类加载器和这个类本身一起共同确立其在Java虚拟机中的唯一性,每 一个类加载器,都拥有一个独立的类名称空间。这句话可以表达得更通俗一些:比较两个类是否“相 等”,只有在这两个类是由同一个类加载器加载的前提下才有意义,否则,即使这两个类来源于同一个 Class文件,被同一个Java虚拟机加载,只要加载它们的类加载器不同,那这两个类就必定不相等。这里所指的“相等”,包括代表类的Class对象的equals()方法、isAssigna原创 2020-08-08 02:19:40 · 588 阅读 · 0 评论 -
JVM学习笔记-GC(尚硅谷宋红康)
文章目录垃圾回收概述面试题什么是垃圾为什么需要GCJava垃圾回收机制垃圾回收相关算法标记阶段垃圾标记阶段:对象存活判断方式一:引用计数算法方式二:可达性分析算法(或根搜索算法、追踪性垃圾收集)GC Root对象的finalization机制MAT与JProfiler的GC Roots溯源垃圾清楚阶段标记清除算法(Mark-Sweep)复制算法(Copying)标记-压缩算法(或标记-整理、Mark-Compact)小结分代收集算法增量收集算法分区算法垃圾回收相关概念System.gc()的理解内存溢出与内原创 2020-08-03 23:10:49 · 916 阅读 · 0 评论 -
JVM学习笔记-执行引擎(尚硅谷宋红康JVM)
文章目录执行引擎概述Java代码编译和执行过程机器码、指令、汇编语言解释器JIT编器执行引擎概述执行引擎是Java虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定制指令集与执行引擎的结构体系,能够执行那些不被硬件直接支持的指令集格式。JVM的主要任务是负责装载字节码到其内部,但字节码并不能够直接运行在原创 2020-08-01 01:24:02 · 544 阅读 · 0 评论 -
JVM学习笔记-直接内存(尚硅谷宋红康JVM)
文章目录直接内存概述直接内存概述不是虚拟机运行时数据区的一部分,也不是《Java虚拟机规范》中定义的内存区域。直接内存是在Java堆外的、直接向系统申请的内存区间。来源于NIO,通过存在堆中的DirectByteBuffer操作Native内存通常,访问直接内存的速度会优于Java堆。即读写性能高。因此出于性能考虑,读写频繁的场合可能会考虑使用直接内存。Java的NIO库允许Java程序使用直接内存,用于数据缓冲区private static final int BUFFER =原创 2020-07-31 18:00:31 · 271 阅读 · 0 评论 -
JVM学习笔记--对象实例化内存布局与访问定位(尚硅谷宋红康JVM)
文章目录对象的实例化**创建对象步骤:**对象的内存布局对象的访问定位面试题对象的实例化对象创建方式:创建对象步骤:判断对象对应的类是否加载、链接、初始化虚拟机遇到一条new指令,首先去检查这个指令的参数能否在Metaspace的常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载、解析和初始化。(即判断类元信息是否存在)。如果没有,那么在双亲委派模式下,使用当前类加载器以ClassLoader+包名+类名为Key进行查找对应的.class文件。如果没有找到文件,则抛原创 2020-07-31 17:28:57 · 409 阅读 · 0 评论 -
JVM学习-方法区(尚硅谷JVM笔记)
文章目录1、栈、堆、方法区的交互关系2、方法区概述3、方法区的内部结构3.1 运行时常量池4、方法区使用举例5、方法区的演进细节6、方法区的垃圾回收总结1、栈、堆、方法区的交互关系运行时数据区结构从线程共享与否的角度来看:其他结构:2、方法区概述《Java虚拟机规范》中明确说明:“尽管所有的方法区在逻辑上是属于堆的一部,,但一些简单的实现可能不会选择去进行垃圾收集或者进行压缩。”但对于HotSpotJVM而言,方法区还有一个别名叫做Non-Heap(非堆),目的就是要和堆分开。所以,方原创 2020-07-31 15:47:41 · 245 阅读 · 0 评论 -
JVM学习笔记-堆空间
文章目录堆空间堆的核心概述堆-内存细分堆空间大小的设置年轻代与老年代对象分配过程(==待修改完善==)Minor GC、MajorGC、Full GC最简单的分代式GC策略的触发条件内存分配策略(或对象提升(Promotion)规则)对象分配过程:TLAB堆空间参数设置小结**逃逸分析——堆是分配对象存储的唯一选择吗?逃逸分析:代码优化**栈上分配:****同步省略(锁消除):****分离对象或标量替换:**总结堆空间堆的核心概述一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。原创 2020-07-30 12:09:30 · 504 阅读 · 0 评论