垃圾收集语言是否可以直接访问内存?
Is it possible for garbage collected languages to have direct memory acccess?
垃圾收集语言是否可以直接访问内存?
比如我想展示这样的东西
void crash(){
for(int i=0; i<1000000; i++){malloc(42)};
}
在垃圾收集语言中不会产生任何问题,但我不确定如何展示它。
简而言之:是的。
我将以java为例。
很长一段时间以来,您可以使用 sun.misc.Unsafe
访问堆外内存,尽管这是不受欢迎的,并且伴随着可怕的警告,它会在某个时候消失。
一种更简单的方法是使用 DirectByteBuffer
,它使用堆外内存。
Java 正在继续采用新的、更受认可的堆外内存访问方式,JEP-370 (https://openjdk.java.net/jeps/370) and JEP-383 (https://openjdk.java.net/jeps/383)。
垃圾收集语言是否可以直接访问内存?
比如我想展示这样的东西
void crash(){
for(int i=0; i<1000000; i++){malloc(42)};
}
在垃圾收集语言中不会产生任何问题,但我不确定如何展示它。
简而言之:是的。
我将以java为例。 很长一段时间以来,您可以使用
sun.misc.Unsafe
访问堆外内存,尽管这是不受欢迎的,并且伴随着可怕的警告,它会在某个时候消失。
一种更简单的方法是使用 DirectByteBuffer
,它使用堆外内存。
Java 正在继续采用新的、更受认可的堆外内存访问方式,JEP-370 (https://openjdk.java.net/jeps/370) and JEP-383 (https://openjdk.java.net/jeps/383)。