Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我知道这是一个长镜头,但我需要构造一个安全的临时对象,并且一个想法是在内存中构造一个不会被换出到驱动器的缓冲区。这在Java中可能吗?
NIO 支持一种通常称为直接缓冲区的 ByteBuffer。直接缓冲区本质上可以像任何其他 ByteBuffer 一样使用(并作为 ByteBuffer 子类实现),但具有其底层内存分配在 Java 堆之外的属性。
但是从知道开始,缓冲区就在操作系统的控制之下。据我所知,您无法指示操作系统不要交换它。
简而言之:没有。
您可以尝试 JNI 直接与主机操作系统交互(当然这不会是平台独立的)。