既然 Java 的垃圾回收机制能够自动的回收内存,怎么还会出现内存泄漏的情况呢
伊谢尔伦
伊谢尔伦 2017-04-18 10:49:43
0
10
822

既然 Java 的垃圾回收机制能够自动的回收内存,怎么还会出现内存泄漏的情况呢

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

membalas semua(10)
Ty80

Sumber memori adalah terhad Pengumpulan sampah hanya mengitar semula "sampah".

小葫芦

Terdapat dua situasi limpahan ingatan: satu ialah limpahan tindanan, seperti memanggil ulangan tak terhingga. Terdapat juga limpahan timbunan, iaitu objek yang keluar daripada baru tidak dimusnahkan serta-merta, seperti baru sepanjang masa.

黄舟

Oleh kerana sesetengah atur cara yang ditulis dengan buruk akan mencipta objek tanpa had sebelum mekanisme GC berkuat kuasa.

大家讲道理

Secara umumnya, kebocoran memori di Java merujuk kepada fakta bahawa memori yang diperuntukkan yang tidak lagi diperlukan oleh program tidak boleh dituntut semula.
Mekanisme pengumpulan sampah menentukan sama ada memori boleh dituntut semula melalui kebolehcapaian objek dan objek Root Walau bagaimanapun, disebabkan ralat pengaturcaraan atau sebab lain, rujukan objek yang telah tamat tempoh masih dipegang dan pengumpul sampah tidak boleh menuntut semula yang berkaitan. angkasa lepas.

伊谢尔伦

Tiada apa yang boleh dia lakukan jika dia menduduki lurang dan tidak membuang air besar.
Saya syorkan membaca blog yang ditulis oleh rakan sekerja saya: http://blog.csdn.net/zhanggan...

Peter_Zhu

Sesetengah objek tidak lagi diperlukan tetapi sentiasa dirujuk dan tidak boleh dikitar semula

PHPzhong

Buat masa ini, perkara yang dibuat oleh manusia tidak boleh mengatasi algoritma GC Java yang ditulis oleh manusia, bagaimanapun, sesetengah orang akan mempertaruhkan nyawa mereka dan menulis kod yang tidak boleh dikitar semula oleh GC

小葫芦

Ini sama dengan 中国那么大,为什么还有人在朝阳区懵逼.

PHPzhong

Pemahaman saya sendiri, sila betulkan saya jika saya salah.
Dalam JDK6, kaedah String dipanggil subString, yang digunakan untuk menjana substring. Untuk penjanaan yang lebih pantas, String mempunyai pembina,
String(int offset, int count, char value[]) {

this.value = value;
this.offset = offset;
this.count = count;

}
terus menghala ke tatasusunan String asal. Kita semua tahu bahawa rentetan String baharu dalam kolam malar akan dijana setiap kali. Walau bagaimanapun, rujukan ini menyebabkan String asal tidak dikitar semula. Kerana nilai subString akan menunjuk kepadanya. Ini akan menyebabkan kebocoran ingatan.

JVM melakukan GC dengan sendirinya tanpa terlalu banyak gangguan daripada pengaturcara Walau bagaimanapun, disebabkan oleh beberapa operasi yang salah, sesetengah objek yang tidak perlu digunakan masih mempunyai rujukan, yang membawa kepada kebocoran memori.

洪涛

JVM: Pengaturcara berpegang pada sampah, yang membuatkan saya sangat malu.

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