สารบัญ:

เราสามารถเรียกตัวรวบรวมขยะด้วยตนเองใน Java ได้หรือไม่?
เราสามารถเรียกตัวรวบรวมขยะด้วยตนเองใน Java ได้หรือไม่?

วีดีโอ: เราสามารถเรียกตัวรวบรวมขยะด้วยตนเองใน Java ได้หรือไม่?

วีดีโอ: เราสามารถเรียกตัวรวบรวมขยะด้วยตนเองใน Java ได้หรือไม่?
วีดีโอ: Java memory leak makes you troubled? We have the methods to solve this! 2024, อาจ
Anonim

เก็บขยะ ใน java can ไม่ถูกบังคับ แต่บางครั้งก็ยัง เราเรียก ระบบ. gc () วิธีการอย่างชัดเจน gc () วิธีการเป็นเพียง "คำใบ้" ให้กับ JVM นั้น เก็บขยะ ควร วิ่ง.

นอกจากนี้คุณยังสามารถเรียกตัวรวบรวมขยะด้วยตนเองได้หรือไม่?

คุณสามารถโทรหา Garbage Collector อย่างชัดเจน แต่ JVM ตัดสินว่า ถึง ประมวลผล เรียก หรือไม่. ตามหลักการแล้ว คุณ ไม่ควรเขียนโค้ดขึ้นอยู่กับ เรียกคนเก็บขยะ . JVM ภายในใช้อัลกอริทึมบางอย่าง ถึง ตัดสินใจเมื่อ ถึง ทำสิ่งนี้ เรียก.

ทราบด้วยว่าวิธีเรียกตัวรวบรวมขยะต่างกันอย่างไร สิ่งสำคัญคือต้องเข้าใจตัวรวบรวมขยะแต่ละประเภทและใช้งานอย่างถูกต้องตามแอปพลิเคชัน

  • เก็บขยะแบบอนุกรม ตัวรวบรวมขยะแบบอนุกรมทำงานโดยเก็บเธรดแอปพลิเคชันทั้งหมดไว้
  • เครื่องเก็บขยะแบบขนาน
  • เครื่องเก็บขยะ CMS
  • G1 เก็บขยะ
  • ตัวเลือก JVM การเก็บขยะ

นอกเหนือจากข้างต้น คุณจะเรียกตัวรวบรวมขยะใน Java ได้อย่างไร

มีสองวิธีที่จะทำ:

  1. การใช้ระบบ. เมธอด gc(): คลาสระบบมีเมธอดแบบสแตติก gc() สำหรับขอให้ JVM เรียกใช้ Garbage Collector
  2. การใช้รันไทม์ รับรันไทม์ () เมธอด gc(): คลาสรันไทม์อนุญาตให้แอปพลิเคชันเชื่อมต่อกับ JVM ที่แอปพลิเคชันทำงานอยู่

ตัวรวบรวมขยะใน Java คืออะไร?

เก็บขยะ เป็นโปรแกรมที่จัดการหน่วยความจำโดยอัตโนมัติ โดยจะจัดการ de-allocation ของอ็อบเจ็กต์โดย Java แทนที่จะเป็นโปรแกรมเมอร์ เมื่อไม่มีการอ้างอิงถึงวัตถุ จะถือว่าไม่จำเป็นอีกต่อไป และหน่วยความจำที่ครอบครองโดยวัตถุนั้นสามารถเรียกคืนได้

แนะนำ: