- Optimization Using Escape Analysis
- Compressed Object Pointers
- Garbage First (G1) Garbage Collector
補充:sby大神提示,Apache Harmony早在兩年前就支援escape analysis及相關的優化技術了。
第二項其實也不新了,早在兩三年前的學術界裡就出現過相關的討論了。簡單的來說,為了避免64bit pointer帶來的space overhead,可以用類似offset的方式來記錄objects的address。缺點就是,存取時會帶來一些execution time overhead,heap的大小也會有限制。優點當然就是heap空間的節省了。也可以參考這篇簡介或這裡。
第三項Garbage First (G1) Garbage Collector,主要演算法來自於2004年的一篇paper,內容還沒有時間好好看過,但據說有不少好處:
Garbage First, or G1, is a low pause, server style collector. G1's primary advantages over the Concurrent Mark-Sweep (CMS) collector include incremental compaction, better predictability and ease of use.
以上提到的新特色,其中一部分將會成為JDK 7的標準功能,可以想見這些特色在未來將會更為成熟完整。
BTW,Hotspot中有不少功能或優化技術,實際上是學業界合作的成果,除了上面提到的部分外,像是client compiler裡的SSA support,也是學界的成果。研究的成果能夠被用在實際的產品中,其實是很棒的事,除了代表成果有實際的用途外,也代表了來自業界的肯定,真是令人嚮往啊...