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

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

membalas semua(2)
小葫芦

Terdapat pembersih dalam DirectByteBuffer Apabila mengitar semula, kaedah clean() pembersih ini dipanggil GC akan menggunakan pembersih ini untuk mengitar semula, walaupun ia tidak dikitar semula ke dalam timbunan Java

.

Pelaksanaan peruntukan dan kitar semula adalah untuk memanggil unsafe's allocateMemory dan freeMemory, yang sebenarnya adalah sistem memanggil malloc dan percuma

洪涛
  1. Jika anda perlu mengambil inisiatif untuk membersihkan, anda perlu menggunakan kaedah hack Anda boleh merujuk kepada Java Apabila semua strim ditutup, adakah ralat akan dilaporkan semasa memadam fail pada hard cakera? Jawapan saya

  2. Jika ia adalah pembersihan sistem, apabila ia mendapati bahawa memori luar timbunan tidak mencukupi, ia akan memanggil System.gc() untuk membersihkan memori luar timbunan Anda boleh menambah -XX:+DisableExplicitGC untuk melimpah keluar -timbunan ingatan

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan