【发布时间】:2020-11-15 02:05:30
【问题描述】:
我想了解java如何在堆中分配对象。我想知道使用“new”关键字时会触发JDK代码的哪些部分。 如何定义用户可以从 java 代码调用并在 JDK 源代码中实现功能的函数? 我知道 jdk14 使用 G1GC 作为默认垃圾收集器并且 G1GC 代码存在于 jdk14/src/hotspot/share/GC/G1 文件夹中,但我无法遵循 G1Allocator 为用户线程分配内存(如果确实如此)。
【问题讨论】:
-
堆上的实际内存分配发生在JVM中,而不是在JDK代码中。
-
感谢您的回复。但是有没有像 malloc 这样的内部分配器。您还可以参考处理内部指针的代码。 Ps:我是刚开始接触源码,对内部是如何管理的东西有一点了解。
-
归结为“我需要链接”的问题被视为离题。
标签: java garbage-collection new-operator heap-memory