1.什么是直接缓冲区和非直接缓冲区 直接缓冲区:通过allocateDirect()方法分配的缓冲区,将缓存区建立在物理内存中,可以提高效率非直接缓冲区:通过allocate()方法分配的缓冲区,直接建立在JVM的内存中。 2.使用场景 直接缓冲区使用场景较少,虽然效率上会得到提升但是地弊端也很多,比如物理内存的消耗过大、数据安全等,使用场景是一些文件需要频繁读取的时候可以选择使用直接缓存区。 3.创建直接缓存区 ByteBuffer.allocateDirect(1024);