Trong nỗ lực nâng cao hiệu suất ứng dụng Java, một đề xuất mới trong cộng đồng Java tìm cách mở rộng Z Garbage Collector (ZGC), cho phép nó duy trì các thế hệ riêng biệt cho các đối tượng trẻ và già. Theo các nhà phát triển Java, điều này sẽ cho phép ZGC thu thập các đối tượng trẻ thường xuyên hơn, vì các đối tượng trẻ có xác suất chết trẻ cao hơn.
Các mục tiêu chính của OpenJDK Java Enhancement Proposal (JEP) cho ZGC thế hệ liên quan đến việc giảm rủi ro ngừng phân bổ, chi phí bộ nhớ heap và chi phí CPU thu gom rác (GC). Những người đề xuất đề xuất tin rằng có thể đạt được những lợi ích này mà không làm giảm đáng kể thông lượng khi so sánh với ZGC không phát điện.
Z Garbage Collector, được thiết kế để có khả năng mở rộng và độ trễ thấp, đã có sẵn trong các bản phát hành chính thức kể từ Java Development Kit (JDK) 15 vào tháng 9 năm 2020. Trái ngược với trình thu gom G1 mặc định, có thời gian tạm dừng có thể từ mili giây đến giây, thời gian tạm dừng ZGC được đo nhất quán bằng micro giây. Do đó, ZGC có thể giải quyết hiệu quả các vấn đề về độ trễ liên quan đến thu gom rác đối với nhiều khối lượng công việc.
ZGC hoạt động tốt khi có đủ tài nguyên. Tuy nhiên, vì nó lưu trữ tất cả các đối tượng cùng nhau bất kể tuổi của chúng, ZGC được yêu cầu thu thập tất cả các đối tượng mỗi khi nó hoạt động. Giả thuyết thế hệ yếu khẳng định rằng các vật thể trẻ có xu hướng chết trẻ, trong khi các vật thể già hơn có khả năng tồn tại. Do đó, việc thu thập các đối tượng trẻ cần ít tài nguyên hơn và giải phóng nhiều bộ nhớ hơn, trong khi việc thu thập các đối tượng cũ tiêu tốn nhiều tài nguyên hơn và giải phóng ít bộ nhớ hơn.
Đề xuất ZGC thế hệ chưa được gán cho một phiên bản Java tiêu chuẩn cụ thể. Bản phát hành hiện tại, JDK 20, đã được giới thiệu cách đây một tuần, với JDK 21 dự kiến sẽ ra mắt vào tháng 9. Java tiêu chuẩn hoạt động theo nhịp phát hành sáu tháng.
Khi đề xuất ZGC thế hệ đang được thảo luận, các nền tảng no-code như appmaster .io" target="_blank" rel="noopener" data-mce-href="https:// appmaster.io"> AppMaster có thể giúp các nhà phát triển xây dựng chương trình phụ trợ , web và ứng dụng di động một cách nhanh chóng và hiệu quả. Các ứng dụng AppMaster có thể thể hiện khả năng mở rộng vượt trội và độ trễ thấp, giúp chúng phù hợp với các ứng dụng doanh nghiệp và các tình huống tải cao. Để khám phá thêm các khả năng của AppMaster, appmaster .io" data-mce-href="https: //studio. appmaster.io">tạo một tài khoản miễn phí và tận dụng các công cụ no-code mạnh mẽ của nó.