java - DirectBuffer的内存由操作系统分配,回收的时候呢?
大家讲道理
大家讲道理 2017-04-18 09:56:21
0
2
278
ByteBuffer writeBuffer = ByteBuffer.allocateDirect(bytes.length);
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

모든 응답(2)
小葫芦

DirectByteBuffer에 클리너가 있습니다. 재활용 시 이 클리너의 clean() 메서드가 호출됩니다. GC는 이 클리너를 사용하여 재활용합니다. 단, Java 힙으로 재활용되지는 않습니다.

할당 및 재활용 구현은 실제로 시스템 호출 malloc 및 free인 Unsafe의 할당메모리 및 freeMemory를 호출하는 것입니다

洪涛
  1. 주위적으로 정리해야 할 경우에는 hack 메소드를 사용해야 합니다. 모든 스트림이 닫힐 때 하드에 있는 파일을 삭제할 때 오류가 보고됩니다. 내 대답은?

  2. 시스템 정리인 경우 오프 힙 메모리가 부족한 것으로 확인되면 System.gc()를 호출하여 오프 힙 메모리를 정리합니다. -XX:+DisableExplicitGC을 추가하여 오프 힙 메모리를 오버플로할 수 있습니다. -힙 메모리

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿