
jvm
文章平均质量分 80
凌寒ᨐ舞
欲买桂花同载酒,终不似少年游
展开
-
jvm内存结构
在Java 8中,永久代(PermGen,早期JVM中方法区的一种实现)被完全移除,取而代之的是元空间(Metaspace)。元空间主要存储类的元数据,它从本地内存中分配空间,而Java堆和方法区的其他部分仍然存在于虚拟机内存中。在Java虚拟机(JVM)中,方法区(Method Area)是一个特殊的内存区域,主要用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等。:包括字段和方法的信息,如字段的名称、类型、修饰符以及方法的名称、返回类型、参数、修饰符等。也叫永久代,用于存储。原创 2024-04-19 18:04:57 · 443 阅读 · 0 评论 -
Java类加载
某些高度定义的场景比如从特定的网络位置加载类,或者从加密文件中加载类继承类,并重写其findClass方法。继承类:创建一个新类,继承自。重写findClass方法:在这个方法中,你需要定义如何查找类。如果类在你的搜索范围内(比如,你的文件系统中的一个特定目录),你需要读取类的字节码,然后调用方法来定义这个类。(可选)重写loadClass方法:在某些复杂的场景下,如果你想完全控制类的加载过程,可以重写loadClass方法。但是这样做时需要非常小心,以避免破坏双亲委派模型。try {原创 2024-04-19 17:45:57 · 1218 阅读 · 0 评论 -
JMM的组成和它的作用
JMM是一种抽象的概念,旨在定义程序中变量的访问规则,以及在并发的情况下如何和何时可以看到其他线程引起的变化,JMM是为了帮助开发者了解多线程程序的内存可见性,原子性,有序性问题。原创 2024-04-19 16:40:23 · 342 阅读 · 0 评论 -
JVM内存结构
Program Counter Register程序计数器(寄存器)可以看做是当前线程所执行的字节码的行号指示器,字节码解释器的工作时就是通过改变这个计数器的值来选取下一条执行的字节码指令特点线程私有的(因为每个线程执行的程序是不一样的)不会内存溢出每个线程运行时需要的内存,成为虚拟机栈每个栈由多个栈帧(Frame)组成,对应着每次方法调用时所占用的内存每个线程只能有一个活动栈,对于着当前正在执行的方法栈的默认大小问题垃圾回收是否涉及栈内存?原创 2023-10-06 15:23:14 · 446 阅读 · 0 评论