
JVM
文章平均质量分 95
lix2560
联系博主WX: l2560i 邮箱:l2560i@163.com
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
学习日志:双亲委派模型
类加载器有很多种,当我们想要加载一个类的时候,具体是哪个类加载器加载呢?这就需要提到双亲委派模型了。ClassLoader 类使用委托模型来搜索类和资源。双亲委派模型要求除了顶层的启动类加载器外,其余的类加载器都应有自己的父类加载器。ClassLoader 实例会在试图亲自查找类或资源之前,将搜索类或资源的任务委托给其父类加载器。原创 2024-07-28 16:44:06 · 857 阅读 · 0 评论 -
学习日志:类加载器
类加载过程:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。加载是类加载过程的第一步,主要完成下面 3 件事情:1.通过全类名获取定义此类的二进制字节流2.将字节流所代表的静态存储结构转换为方法区的运行时数据结构3.在内存中生成一个代表该类的 Class 对象,作为方法区这些数据的访问入口类加载器类加载器从 JDK 1.0 就出现了,最初只是为了满足 Java Applet(已经被淘汰) 的需要。原创 2024-07-28 15:32:54 · 856 阅读 · 0 评论 -
学习日志:类加载过程
(字节码)。对于 () 方法的调用,虚拟机会自己确保其在多线程环境中的安全性。因为 () 方法是带锁线程安全,所以在多线程环境下进行类初始化的话可能会引起多个线程阻塞,并且这种阻塞很难被发现。原创 2024-07-27 15:09:10 · 681 阅读 · 0 评论 -
学习日志:类文件结构
在 Java 中,JVM 可以理解的代码就叫做字节码(即扩展名为 .class 的文件),它不面向任何特定的处理器,只面向虚拟机。Java 语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以 Java 程序运行时比较高效,而且,由于字节码并不针对一种特定的机器,因此,Java 程序无须重新编译便可在多种不同操作系统的计算机上运行。原创 2024-07-24 16:04:50 · 956 阅读 · 0 评论 -
学习日志:JVM垃圾回收
当需要排查各种内存溢出问题、当垃圾收集成为系统达到更高并发的瓶颈时,我们就需要对这些“自动化”的技术实施必要的监控和调节。可达性算法中描述的对象引用,一般指的是强引用,即是GCRoot对象对普通对象有引用关系,只要这层关系存在普通对象就不会被回收。原创 2024-07-23 19:39:32 · 2080 阅读 · 0 评论 -
学习日志:HotSpot 虚拟机对象
详细介绍了 HotSpot 虚拟机在 Java 堆中对象分配、布局和访问的全过程。原创 2024-07-22 19:26:59 · 848 阅读 · 0 评论 -
学习日志:Java内存区域
在虚拟机自动内存管理机制下,不再需要像 C/C++程序开发程序员这样为每一个 new 操作去写对应的 delete/free 操作,不容易出现内存泄漏和内存溢出问题。正是因为 Java 程序员把内存控制权利交给 Java 虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会是一个非常艰巨的任务。原创 2024-07-22 17:09:42 · 782 阅读 · 0 评论