上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 23 下一页
摘要: Java 中的 JIT(Just-In-Time)编译器 1. JIT 的定义 JIT(Just-In-Time)编译器是一种用于 Java 虚拟机(JVM)的动态编译技术。它在 Java 程序运行时,将 Java 字节码(Bytecode)转换为本地机器代码,从而提高程序的运行效率。 位置:JIT 阅读全文
posted @ 2024-12-10 23:06 Eiffelzero 阅读(1128) 评论(0) 推荐(0)
摘要: Java 类加载器(ClassLoader) Java 中的类加载器是用于加载 .class 文件到 JVM 中的组件,它的核心作用是将字节码(.class 文件)加载到内存,并且使它能够被 JVM 执行。类加载器决定了类的加载顺序和加载方式,是 Java 应用程序在运行时执行的重要部分。 1. 类 阅读全文
posted @ 2024-12-10 22:39 Eiffelzero 阅读(193) 评论(0) 推荐(0)
摘要: Java 中的字符串常量池和运行时常量池 1. 字符串常量池(String Constant Pool) 定义 字符串常量池是 JVM 内存中专门用于存储字符串字面量和通过 intern() 方法加入的字符串对象的区域。它的目的是避免重复创建相同的字符串对象,以节省内存,并提高性能。 如何工作 每当 阅读全文
posted @ 2024-12-10 22:22 Eiffelzero 阅读(463) 评论(0) 推荐(1)
摘要: Java 中的常量池 Java 中的常量池(Constant Pool)是用于存放程序中常量(如字符串、数字、类、方法等)的内存区域。常量池的主要作用是提高内存的使用效率和性能,避免重复创建相同的常量实例。 常量池主要分为两种类型: 1. 字符串常量池(String Constant Pool) 定 阅读全文
posted @ 2024-12-10 22:09 Eiffelzero 阅读(193) 评论(0) 推荐(0)
摘要: Java 中的直接内存(堆外内存) 在 Java 中,直接内存(Direct Memory)指的是不受 JVM 堆管理的内存区域,也称为堆外内存。直接内存的使用通常与 Java NIO(New I/O)相关,尤其是通过 ByteBuffer.allocateDirect() 方法分配的内存。 1. 阅读全文
posted @ 2024-12-10 22:00 Eiffelzero 阅读(496) 评论(0) 推荐(0)
摘要: Java 中堆和栈的区别 Java 中的堆(Heap)和栈(Stack)是两种不同的内存区域,它们有着不同的用途和特点。以下是它们的主要区别: 1. 存储内容 堆:用于存储对象实例以及类的实例变量。所有通过 new 关键字创建的对象都会分配在堆中。 栈:用于存储方法调用时的局部变量和方法的执行上下文 阅读全文
posted @ 2024-12-10 21:51 Eiffelzero 阅读(340) 评论(0) 推荐(0)
摘要: JVM 有哪些情况会产生 OOM(内存溢出)? JVM 的内存溢出(OutOfMemoryError, OOM)是指程序在运行过程中,JVM 无法从操作系统申请到足够的内存,导致程序抛出内存溢出异常。OOM 可能发生在不同的内存区域,以下是常见的几种情况: 1. Java 堆内存溢出 发生原因 对象 阅读全文
posted @ 2024-12-10 21:44 Eiffelzero 阅读(313) 评论(0) 推荐(0)
摘要: JVM 方法区是否会出现内存溢出? 方法区内存溢出的可能性 方法区是 JVM 内存中的一个重要组成部分,存储类的元信息、静态变量和运行时常量池等。尽管它是一个独立的内存区域,但如果内存使用过多,也可能导致内存溢出(OutOfMemoryError)。 1. 原因 以下情况可能导致方法区发生内存溢出: 阅读全文
posted @ 2024-12-10 19:16 Eiffelzero 阅读(91) 评论(0) 推荐(0)
摘要: JVM 的内存区域划分 JVM 在运行时会将内存划分为多个区域,用于管理程序运行时的不同类型数据。以下是 JVM 内存的主要划分: 1. 方法区(Method Area) 定义: 方法区是运行时数据区的一部分,用于存储类的元信息(元数据)以及与类相关的常量。 存储内容: 类的元信息(类名、访问修饰符 阅读全文
posted @ 2024-12-10 19:07 Eiffelzero 阅读(224) 评论(0) 推荐(0)
摘要: 编译执行与解释执行的区别 1. 编译执行(Compiled Execution) 定义: 将源代码一次性翻译为机器码(目标代码),生成可直接运行的二进制文件。 特点: 翻译只发生一次,生成的目标代码可以直接运行。 运行时速度快,因为无需再次翻译。 依赖于编译平台,目标代码可能需要为不同的硬件或操作系 阅读全文
posted @ 2024-12-10 18:57 Eiffelzero 阅读(300) 评论(0) 推荐(0)
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 23 下一页
点击右上角即可分享
微信分享提示