Tôi tự hỏi sự khác biệt là gì hoặc nếu nó giống nhau trên cả hai.Cách thu gom rác được thực hiện bằng Java và nó so sánh với .net như thế nào?
Trả lời
Tôi tìm thấy điều này link từ khác question on SO của chúng tôi trả lời một chút về sự khác biệt của bộ sưu tập rác trong Java và .NET/C# . Đối với những người khác đang tìm kiếm loại thông tin này, tại đây là
Trong các đối tượng Java được tạo bằng cách sử dụng từ khóa mới. Hầu hết các lớp học trong C# được tạo trên heap bằng cách sử dụng từ khóa mới. Cũng giống như JVM quản lý sự tàn phá của đối tượng như vậy cũng không CLR thông qua một Mark và thu gom rác thải nhỏ gọn thuật toán
LƯU Ý: C# cũng hỗ trợ dựa trên stack lớp, gọi là kiểu giá trị, đó là thảo luận bên dưới.
http://www.brpreiss.com//books/opus5/html/page428.html có thông tin tốt và thuật toán Marc và nhỏ gọn. –
Tôi cho rằng không có sự khác biệt về khái niệm. Vì các mô hình bộ nhớ khác nhau (for example volative difference), việc thực hiện có thể thay đổi.
Có thể không có sự khác biệt về mặt khái niệm ở mức cao (nghĩa là thu gom rác trên cả hai nền tảng có cùng chức năng - dọn dẹp các đối tượng không được tham chiếu nữa), nhưng có một số thuật toán khác nhau để thực hiện điều này, thực hiện, ngay cả giữa các phiên bản khác nhau của JVM của Sun, chẳng hạn. – Jesper
IMHO nếu bạn cần phải lo lắng về cách GC hoạt động trong 99% có nghĩa là bạn không cần GC ở tất cả. –
Câu hỏi này không phải là câu trả lời.
Thứ nhất, không có thông số kỹ thuật nào có liên quan sẽ nói bất cứ điều gì về cách Java hoặc .net nên triển khai thu thập rác. Vì vậy, theo nghĩa đen không có "cách GC được thực hiện" trong Java hoặc trong .net. Thứ hai, chi tiết về cách GC được thực hiện khác nhau giữa các nhà cung cấp khác nhau cho Java và .net tương ứng, và đối với bất kỳ nhà cung cấp nào, GC có thể thay đổi với mỗi nền tảng, mỗi phiên bản chính, phiên bản nhỏ và thậm chí mỗi phiên bản vá. Ngày đầu đó, một số triển khai của Java cho phép bạn lựa chọn giữa các bộ gom rác khác nhau bằng cách sử dụng các tùy chọn dòng lệnh.
Cuối cùng, không thực sự quan trọng như thế nào GC được thực hiện trong thực hiện Java hoặc .net cung cấp rằng nó có thể được thực hiện để hoạt động theo yêu cầu của ứng dụng. Và đối với Java, câu trả lời là nó có thể cho hầu hết các loại ứng dụng. (Các trường hợp ngoại lệ thường là các hệ thống/ứng dụng có yêu cầu thời gian thực khó khăn hoặc hạn chế về bộ nhớ rất chặt.)
Nhưng đối với một số lý thuyết cơ sở và nền tảng cơ bản: http://stackoverflow.com/questions/2910224/java-garbage-collection/2922042#2922042 –
@Andreas_D - có mô tả chi tiết hơn về Java GC xung quanh mô tả được tham chiếu. Và cả hai trang được tham chiếu đều cũ. Các GC Java chắc chắn đã thay đổi đáng kể kể từ 1.4.1. –
- 1. Thu gom rác trong Perl
- 2. .NET có giống như nhật ký thu gom rác của Java không?
- 3. đa và thu gom rác thải
- 4. Thu gom rác trễ?
- 5. Khi nào bộ thu gom rác net hoạt động?
- 6. Tôi có thể thử nghiệm thu gom rác bằng cách nào?
- 7. đế và bộ thu gom rác Đi
- 8. Thu gom rác thủ công bằng Python
- 9. Buộc thu gom rác thải
- 10. Phát hiện xem bộ thu gom rác đã được gọi (.Net)
- 11. Hiệu quả của bộ thu gom rác .NET
- 12. Bộ thu gom rác hoạt động như thế nào với các bài kiểm tra đơn vị?
- 13. Tham khảo chéo và thu gom rác
- 14. Khi nào để thu gom rác
- 15. Buộc thu gom rác của mảng, C#
- 16. Thực hiện so sánh Java
- 17. Thu gom rác - các nút gốc
- 18. Ràng buộc Lua với C++ và thu gom rác
- 19. Tiêu chí để kích hoạt thu gom rác trong .Net
- 20. Có thể ngừng thu gom rác thải .NET không?
- 21. Bộ thu gom rác nối tiếp của Java hoạt động tốt hơn nhiều so với các bộ thu gom rác khác?
- 22. Câu hỏi về Thu gom rác trong Java
- 23. Thông báo Thu gom Rác Bỏ lỡ
- 24. Làm thế nào tôi có thể xem java thu gom rác nào đang sử dụng
- 25. Python: hành vi thu gom rác thải với ctypes
- 26. Thu gom rác Java G1 trong sản xuất
- 27. Thời gian thu gom rác cực dài
- 28. Làm thế nào để buộc thu gom rác đầy đủ trong .NET 4.x?
- 29. so sánh và so sánh công việc như thế nào?
- 30. Thông báo thu gom rác thải?
Mọi người có thể bỏ phiếu để đóng mục này là "không phải là câu hỏi thực sự" để giải thích động cơ của họ không? Nó không giống như anh chàng có 100 đại diện. – Josh
Phần 1 ('làm thế nào là gc thực hiện trong Java') đã được bao phủ bởi hàng chục câu hỏi về SO. –
@Andreas để trích dẫn Dylan "Nếu có một ý tưởng ban đầu, tôi có thể sử dụng ngay bây giờ". Mọi câu hỏi đã được hỏi về SO bây giờ. Nhưng nếu mọi người muốn đóng nó như là một bản sao, ít nhất là chọn tùy chọn đó từ trình đơn vì nó cung cấp cho các tài liệu tham khảo OP cho các bài viết khác. – Josh