Utama/Video/Bagaimana Garbage Collector Menguruskan Memori Dalam Java, Python & C#?
Teknologi dan AI dalam 2 Minit
Bagaimana Garbage Collector Menguruskan Memori Dalam Java, Python & C#?
Kalau kau simpan setiap objek dalam rak memori dan tak pernah buang satu pun, lama-lama rak tu melimpah dan program kau pun tumbang!
Apa anda akan pelajari
Tapi Ram komputer terhad, dan program yang tak pernah buang sampah akhirnya kehabisan memori!
Java dan C Sharp guna cara ni, Python pula ada pengutip kitaran sendiri.
Tapi masa robot mengemas, seluruh kilang terpaksa berhenti dan aplikasi kau tersekat seketika!
Siri Teknologi dan AI dalam animasi 3D LEGO (V916-024) oleh KongsikanDotCom.
Kongsi video ini
Nota video
Teks penuh video
Kalau kau simpan setiap objek dalam rak memori dan tak pernah buang satu pun, lama-lama rak tu melimpah dan program kau pun tumbang! Tapi Ram komputer terhad, dan program yang tak pernah buang sampah akhirnya kehabisan memori! Jadi, macam dalam Python, setiap bata ada kaunter yang kira berapa tali rujukan masih terikat padanya, dan bila kaunter jadi sifar, bata tu terus dibuang.
Ini namanya reference counting. Tapi kalau dua bata saling ikat tali sesama sendiri, kaunter takkan jadi sifar walaupun tiada siapa guna mereka lagi! Jadi, robot pengutip mula dari akar, iaitu pemboleh ubah yang masih aktif, tandakan semua bata yang boleh dicapai, kemudian sapu buang yang tak bertanda.
Java dan C Sharp guna cara ni, Python pula ada pengutip kitaran sendiri. Ini namanya mark and sweep. Tapi lepas disapu, rak jadi berlubang-lubang sampai objek besar tak muat walaupun jumlah ruang kosong cukup!
Jadi, robot tolak semua bata yang masih hidup rapat ke satu hujung supaya ruang kosong jadi satu blok panjang. Ini namanya compaction. Tapi mengimbas seluruh gudang setiap kali memang lambat, apatah lagi bila rak makin tinggi!
Jadi, sebab kebanyakan objek mati muda, memori dibahagi ikut umur, robot kerap kemas rak muda dan jarang sentuh rak tua. Ini namanya generational garbage collection. Tapi masa robot mengemas, seluruh kilang terpaksa berhenti dan aplikasi kau tersekat seketika!
Jadi, pengutip moden macam zed ji si dalam Java atau background ji si dalam C Sharp buat kerja serentak sambil kilang terus berjalan. Ini namanya concurrent garbage collection. Sekarang kau faham, garbage collector cuma buang objek yang dah tiada sesiapa rujuk.
Kalau kau masih pegang rujukan yang tak perlu, contohnya cache yang tak pernah dikosongkan, memori tetap bocor, dan itulah memory leak. Lepas ni nak belajar apa pula?
Siri Teknologi dan AI dalam animasi 3D LEGO (V916-024) oleh KongsikanDotCom. Tonton lagi di
Animasi 3D dibina dengan kod (Three.js); suara latar dijana dengan bantuan AI dan disemak oleh pasukan KongsikanDotCom.
Teruskan menonton
Video berkaitan
-

Apa Itu Model OSI 7 Lapisan (OSI Model) & Bagaimana Data Mengalir Di Dalamnya?
-

Bagaimana HTTPS & Sijil SSL/TLS Mengenkripsi Trafik Pelayar Web Anda?
-

Apa Itu BGP (Border Gateway Protocol) & Kenapa Kesilapan BGP Boleh Lumpuhkan Internet Dunia?
-

Bagaimana Kabel Dasar Laut (Submarine Cables) Menghubungkan Internet Seluruh Dunia?
-

Apa Itu Perbezaan TCP vs UDP: Bilakah Masa Sesuai Menggunakan Setiap Satu?
Jangan terlepas video seterusnya
Langgan channel YouTube KongsikanDotCom untuk video ilmu, sains & fakta serta doa harian — kandungan baharu diterbitkan setiap hari.





