JVM
文章平均质量分 95
JVM
不做挖坑人
一事无成到事事都成,戒矫戒躁,厚积薄发。不愿做菜鸟,那只能笨鸟先飞。
展开
-
十、方法调用的底层实现
Lambda 语言实际上是通过methodhanle方法句柄来完成的,大致这么实现(JVM 编译的时候使用 invokedynamic 实现 Lambda 表达式,invokedynamic的是使用 MethodHandle 实现的,所以 JVM 会根据你编写的 Lambda 表达式的代码,编译出一套可以去调用 MethodHandle 的字节码代码,参考实例类:MethodHandleDemo)句柄类型(MethodType)是我们对方法的具体描述,配合方法名称,能够定位到一类函数。原创 2023-12-28 22:21:52 · 852 阅读 · 0 评论 -
八、类加载机制与类加载
ClassLoader 中的 loadClass 方法中的代码逻辑就是双亲委派模型:在自定义 ClassLoader 的子类时候,我们常见的会有两种做法,一种是重写 loadClass 方法,另一种是重写 findClass 方法。其实这两种方法本质上差不多,毕竟 loadClass 也会调用 findClass,但是从逻辑上讲我们最好不要直接修改 loadClass 的内部逻辑。建议的做法是只在 findClass 里重写自定义类的加载方法。原创 2023-12-26 23:33:04 · 977 阅读 · 0 评论 -
七、Class文件结构及深入字节码指
不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码(ByteCode)是构成平台无关性的基石,也是语言无关性的基础。Java 虚拟机不和任何语言绑定,它只与“Class 文件”这种特定的二进制文件格式所关联,Class 文件中包含了 Java 虚拟机指令集和符号表以及若干其他辅助信息。任何一个 Class 文件都对应着唯一一个类或接口的定义信息,而且Class 文件实际上它并不一定以磁盘文件的形式存在(比如可以动态生成、或者直接送入类加载器中)。原创 2023-12-25 13:53:32 · 937 阅读 · 0 评论 -
六、ZGC深度剖析
停顿时间不超过10ms(JDK16已经达到不超过1ms)停顿时间不会随着堆的大小,或者活跃对象的大小而增加;也就是说,几十G堆的停顿时间是10ms以下,几百G甚至上T堆的停顿时间也是10ms以下支持8MB~4TB级别的堆,JDK15后已经可以支持16TB最糟糕的情况下吞吐量会降低15%。这都不是事,停顿时间足够优秀。至于吞吐量,通过扩容分分钟解决。原创 2023-12-11 11:44:04 · 1090 阅读 · 0 评论 -
五、HotSpot细节实现
问题:三色标记到底发生在什么阶段,替代了什么。并发标记。原创 2023-12-08 14:20:08 · 1223 阅读 · 0 评论 -
四、分代垃圾回收机制及垃圾回收算法
自动化的垃圾回收机制回收区域:堆:堆中的对象是垃圾回收的重点方法区/元空间:这一块也会发生垃圾回收,不过这块的效率比较低,回收 class,常量,静态常量,字符串常量池CMS 问题比较多,所以现在没有一个版本默认是 CMS,只能手工指定。但是它毕竟是第一个并发垃圾回收器,对于了解并发垃圾回收具有一定意义,所以我们必须了解。原创 2023-12-07 19:13:43 · 1329 阅读 · 0 评论 -
三、jvm中的对象及引用
检查加载-->分配内存-->内存空间初始化-->设置-->对象初始化。原创 2023-12-06 21:42:16 · 995 阅读 · 0 评论 -
二、深入理解JVM的内存区域
第一部分:运行时内存的划分第二部分:堆上对象的创建,对象的内存布局,对象的访问定位第三部分:OutOfMemoryError异常,堆溢出,栈和本地方法区溢出,方法区和运行时常量池溢出,本地直接内存溢出第一部分:一、主要讲解内存划分,用途,创建及销毁时间,有些区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。运行时内存的划分●栈●堆(共享)...原创 2019-10-12 13:51:51 · 165 阅读 · 0 评论 -
一、JVM内存分布
一、JVM(Java Virtual Machine)基础知识JVM 全称 Java Virtual Machine,也就是我们耳熟能详的 Java 虚拟机。它能识别 .class 后缀的文件,并且能够解析它的指令,最终调用操作系统上的函数,完成我们想要的操作。1、java程序的运行过程java文件通过javac命令编译成.class字节码文件,然后JVM将其加载到方法区(jdk7以及之前叫永久代,jdk8叫元空间),JVM执行引擎会将字节码翻译成机器码,操作系统...原创 2021-07-12 11:35:54 · 715 阅读 · 0 评论