Quản lý bộ nhớ trong Java
HotSpot ™ Virtual Machine
Sun Microsystems
tháng tư năm 2006
Mục lục
1Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2Explicit so với quản lý bộ nhớ tự động. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3Garbage Collection khái niệm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Desirable Đặc Garbage Collector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Thiết kế Choices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Hiệu suất Metrics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Bộ sưu tập về thế hệ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4Garbage thu gom trong J2SE 5.0 HotSpot JVM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Hotspot Generations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
loại Garbage Collection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Allocation nhanh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
nối tiếp Collector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
song song Collector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Parallel nén Collector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Concurrent Mark-Sweep (CMS) Collector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5Ergonomics - Tự động Selections và hành vi chỉnh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Tự động lựa chọn của Collector, Heap kích cỡ, và Virtual Machine. . . . . . . . . . . . . . . . . . . . . . . . . 13
hành vi dựa trên Parallel Collector chỉnh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6Recommendations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Khi đến Chọn một Garbage Collector khác nhau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Heap Sizing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Chiến lược Tuning Collector Parallel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Làm gì về OutOfMemoryError. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7Tools để đánh giá Garbage Collection Performance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
XX: + PrintGCDetails Command Line Option. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
XX: + PrintGCTimeStamps Command Line Option. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
jmap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
jstat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
HPROF: Heap Profiler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
HAT: Heap Công cụ phân tích. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8Key tùy chọn liên quan đến Garbage Collection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
9For thêm thông tin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Sun Microsystems, Inc. 2 Mục lục
1Introduction
Một sức mạnh của Java ™ 2 Platform, Standard Edition (J2SE ™) là nó thực thi một bộ nhớ tự động
quản lý, do đó che chắn các nhà phát triển từ sự phức tạp của quản lý bộ nhớ rõ ràng.
Bài viết này cung cấp một nhìn tổng quan về quản lý bộ nhớ trong máy ảo Java HotSpot (JVM) trong
J2SE 5.0 phát hành của mặt trời. Nó mô tả những người thu gom rác có sẵn để thực hiện các
đang được dịch, vui lòng đợi..