สิ่งตีพิมพ์ในหัวข้อ 'garbage-collection'
การรวบรวมขยะใน Javascript
การเก็บขยะคืออะไร
การรวบรวมขยะสามารถกำหนดเป็นกระบวนการทำลายหรือยกเลิกการกำหนดวัตถุหรือตัวแปรที่ไม่ได้ใช้ (ไม่ได้ใช้) ภายในหน่วยความจำซึ่งจะสร้างหน่วยความจำว่าง
เหตุใดจึงสำคัญ
ในฐานะมือใหม่ คุณอาจมองข้ามความสำคัญของการรวบรวมขยะในตอนแรก แต่คุณต้องดูแลมันจริงๆ เมื่อคุณเริ่มสร้างโปรเจ็กต์ที่ปรับขนาดได้ระดับไฮเอนด์ ซึ่งคุณอาจจัดการกับคำขอนับล้าน และตอนนี้คุณต้องจัดการหน่วยความจำของคุณอย่างมีประสิทธิภาพ ไม่อย่างนั้น..
การจัดการหน่วยความจำจาวา
แม้ว่าเรามักจะทำงานกับแอปพลิเคชัน Java จำนวนมาก แต่เราไม่รู้เลยเกี่ยวกับการจัดการที่ JVM ทำด้วยตัวเองเพื่อทำให้สิ่งต่าง ๆ เป็นเรื่องง่ายสำหรับเรา เพื่อให้เราสามารถมุ่งเน้นไปที่สิ่งที่เราทำได้ดีที่สุด พัฒนาแอปพลิเคชันที่ยอดเยี่ยม
ต่างจาก C, C++ ใน Java ที่เรามี Garbage Collector เพื่อช่วยเราไม่ให้ทำความสะอาดโต๊ะหลังจากที่เราทานอาหารเสร็จ ในส่วนนี้จะอธิบายโดยย่อเกี่ยวกับการจัดการหน่วยความจำใน Java
การจัดการหน่วยความจำมีสองส่วน
หน่วยความจำถูกจัดสรรและอ้างอิงอย่างไร..
ตัวรวบรวมขยะ: ทำให้การจัดการหน่วยความจำง่ายขึ้นในภาษาโปรแกรมสมัยใหม่
ตัวรวบรวมขยะเป็นส่วนสำคัญของภาษาโปรแกรมสมัยใหม่ โดยเฉพาะอย่างยิ่งภาษาที่ใช้การจัดการหน่วยความจำอัตโนมัติ ในบล็อกโพสต์นี้ เราจะพูดถึงว่าคนเก็บขยะคืออะไร ทำงานอย่างไร และข้อดีและข้อเสีย
คนเก็บขยะคืออะไร?
ในวิทยาการคอมพิวเตอร์ ตัวรวบรวมขยะคือโปรแกรมหรือกลไกที่จะเรียกคืนหน่วยความจำโดยอัตโนมัติซึ่งโปรแกรมไม่ได้ใช้งานอีกต่อไป เมื่อโปรแกรมจัดสรรหน่วยความจำแบบไดนามิก ระบบปฏิบัติการจะกำหนดบล็อกหน่วยความจำให้กับโปรแกรม อย่างไรก็ตาม ขึ้นอยู่กับโปรแกรมที่จะจัดการหน่วยความจำนั้นอย่างเหมาะสม..
คำถามในหัวข้อ 'garbage-collection'
วัตถุรวบรวมขยะซึ่งติดตามอินสแตนซ์ของตัวเองในแผนที่ภายใน
ในตัวสร้างของคลาสของฉัน ฉันแมปวัตถุปัจจุบัน ( สิ่งนี้ ) พร้อมกับคีย์ของมัน (สตริงที่ป้อนเป็นพารามิเตอร์ในตัวสร้าง) ลงใน LinkedHashMap แบบคงที่ เพื่อให้ฉันสามารถอ้างอิงวัตถุโดย สตริงทุกที่ที่ฉันอาจต้องการมันในภายหลัง
นี่คือรหัส (ถ้าช่วยได้):...
739 มุมมอง
schedule
09.01.2024
วัตถุ FileStream (.NETCF, C#) ที่สร้างขึ้นโดยใช้ตัวจัดการที่ส่งคืนจาก Win32 API CreateFile (C ++, P / Invoke) มีแนวโน้มที่จะเป็น. NET Garbage Collection
คำถามที่อัปเดต
เนื่องจาก .NETCF ไม่รองรับ ctor (public FileStream (ตัวจัดการ IntPtr, การเข้าถึง FileAccess) คุณช่วยแนะนำวิธีอื่นในการแชร์ไฟล์ขนาดใหญ่ในหน่วยความจำระหว่างโค้ดที่ได้รับการจัดการและไม่ได้รับการจัดการบนแพลตฟอร์มทรัพยากร (RAM) ที่จำกัด...
2140 มุมมอง
schedule
26.10.2023
การจัดการหน่วยความจำใน Objective-C และการตั้งค่าตัวชี้เป็นศูนย์
ตัวชี้ไปยังวัตถุจะไปที่ nil เมื่อนับเป็น 0 หรือเมื่อมีการเรียกการจัดสรรคืน ทำไมหรือทำไมไม่?
1467 มุมมอง
schedule
11.12.2023
การจัดการหน่วยความจำ Actionscript การรวบรวมขยะ
บล็อกนี้ (และอื่นๆ) ระบุว่าคุณควรตั้งค่า การอ้างอิงวัตถุเป็นโมฆะภายในวิธีการกำจัด () ของคุณเมื่อทำความสะอาดวัตถุ
อย่างไรก็ตาม Actionscript 3 (พร้อม Flash Player 9) ใช้ ทำเครื่องหมายและกวาด เพื่อล้างข้อมูลอ้างอิงแบบวงกลมให้กับคุณ...
2603 มุมมอง
schedule
09.01.2024
LogCat ของ Eclipse เต็มไปด้วย WAIT_FOR_CONCURRENT_GC กับ Android
ฉันกำลังเขียนเกม Android ขนาดเล็ก และเมื่อใดก็ตามที่ฉันรันครั้งแรก ทุกอย่างทำงานได้ดี แต่มันจะสุ่มหยุดและเริ่มส่งสแปมสิ่งนี้อย่างไม่มีที่สิ้นสุดใน LogCat ของ eclipse
12-30 12:40:05.344: D/dalvikvm(22831): WAIT_FOR_CONCURRENT_GC บล็อก 5ms 12-30...
1204 มุมมอง
schedule
13.12.2023
วิธีปรับปรุงประสิทธิภาพสำหรับ resources.getDrawable
ฉันมีกิจกรรมที่โหลดภาพ png สามภาพ บน hdpi คือ 20kb, 148kb และ 190kb นี่คือรหัสที่ฉันกำลังโหลดด้วย:
Drawable bronzePlaque = resources.getDrawable(R.drawable.bronze_plaque);
Drawable silverPlaque = resources.getDrawable(R.drawable.silver_plaque);...
450 มุมมอง
schedule
05.01.2024
การตรวจจับ/การบันทึก AS3 หยุดโลก GC หยุดชั่วคราว
บริบท : แอปพลิเคชัน AS3 ขนาดใหญ่ที่ อาจ ประสบปัญหาการหยุดการเก็บขยะ "หยุดโลก" บ่อยครั้งแต่ไม่อาจคาดเดาได้หยุดชั่วคราว เมื่อมีใครโจมตี อาจต้องใช้เวลา 30 วินาทีขึ้นไปจึงจะสรุปได้
สิ่งนี้ไม่ได้เกิดขึ้นในการทดสอบ แต่อาจเกิดขึ้นในการใช้งานจริง...
588 มุมมอง
schedule
30.12.2023
พื้นที่หน่วยความจำ Java และตัวรวบรวมขยะ
เมื่อวานฉันอ่านเรื่องการเก็บขยะและฉันไม่เข้าใจแนวคิดบางประการเกี่ยวกับเรื่องนี้ ฉันได้อ่านมาว่าสำหรับคอลเลกชันย่อยมักจะใช้เทคนิคการคัดลอกเพื่อย้ายวัตถุที่เข้าถึงได้ไปยังพื้นที่ของผู้รอดชีวิต และสำหรับคอลเลกชันหลักมักจะใช้การทำเครื่องหมายและกวาด...
399 มุมมอง
schedule
17.01.2024
สร้างตัวแปรหรือวิธีการโทรสองสามครั้ง - ไหนดีกว่ากัน?
ฉันสงสัยเกี่ยวกับการสร้างตัวแปรใหม่หรือวิธีการเรียกสองสามครั้ง อะไรจะดีไปกว่าประสิทธิภาพโดยรวมและการทำความสะอาด GC ลองดูสิ:
public static string GetValue(RegistryKey key, string value)
{
if (key.GetValue(value) == null)
return null;...
125 มุมมอง
schedule
08.11.2023
Minor GC และ GC เต็มในเวลาเดียวกัน?
นี่คือบันทึก GC ส่วนหนึ่งที่แสดงเหตุการณ์ CMS GC แบบเต็ม:
2016-12-29T22:44:34.741-0500: 27572.982: [GC (CMS Initial Mark) [1 CMS-initial-mark: 2508212K(23068672K)] 2931097K(26843584K), 0.0213349 secs] [Times: user=0.22 sys=0.00, real=0.02 secs]...
622 มุมมอง
schedule
02.12.2023
การรวบรวมขยะและการนับการอ้างอิงทำงานอย่างไรใน Xamarin
Xamarin มีเครื่องมือจัดการหน่วยความจำของตัวเองชื่อ Garbage Collector เนื่องจากใช้ C#
เมื่อเราพัฒนาจำนวนการอ้างอิงแอปพลิเคชัน iOS จะปรากฏเป็นภาพ
ฉันไม่เข้าใจจริงๆ ว่าเทคนิคการจัดการหน่วยความจำทั้งสองนี้ทำงานควบคู่กันได้อย่างไร...
180 มุมมอง
schedule
08.12.2023
เป็นไปได้ไหมที่จะรับ `git gc` เพื่อแพ็ควัตถุ reflog?
ตามคำแนะนำโดยคำตอบ https://stackoverflow.com/a/32025729 ฉันได้กำหนดค่า repo เปลือยระยะไกลด้วย
git config gc.pruneExpire never
git config gc.reflogExpire never
และด้วยเหตุนี้ ฉันจึงเก็บ Commit ที่เก็บไว้ทั้งหมดของ Branch และ Tags...
74 มุมมอง
schedule
16.11.2023