- Java 11 and 12:New Features
- Mala Gupta
- 238字
- 2021-07-02 12:27:05
Driving factors
Imagine that you are a GC developer and you are supposed to know all the places where you could locate the code for GC in HotSpot. If this doesn't sound scary enough, imagine how it would feel if you didn't know how to extend it to your specific requirements. Or, imagine that you are a HotSpot developer (not a GC developer), and you can't seem to find a specific code for a GC. We are not done yet—now imagine that you must exclude a specific GC at build time. These cases are represented in the following diagram:

The preceding use cases demonstrate the major factors driving the changes to the code base—by pushing the creation of a clean GC interface.
Even though the code of the GCs was defined in their respective directories (for example, the src/hotspot/share/gc/g1 stored code for G1 GC), some code was defined outside these directories. A typical example of this is the barrier required by most of the GC. Since the barrier code was implemented in the C1 and C2 runtime interpreter, this code was defined in the directories that defined the code for C1 and C2. However, this leads to a fragmented GC code, which is hard to track and locate.
A GC interface introduces a layer of abstraction, taking the burden to track all the GC code off a developer (both GC and HotSpot).
- Flink SQL與DataStream入門、進(jìn)階與實戰(zhàn)
- Expert Android Programming
- Mastering Apache Maven 3
- Python Web數(shù)據(jù)分析可視化:基于Django框架的開發(fā)實戰(zhàn)
- Active Directory with PowerShell
- 深入分布式緩存:從原理到實踐
- Create React App 2 Quick Start Guide
- Programming with CodeIgniterMVC
- Python機(jī)器學(xué)習(xí)之金融風(fēng)險管理
- CRYENGINE Game Development Blueprints
- Python商務(wù)數(shù)據(jù)分析(微課版)
- Web程序設(shè)計:ASP.NET(第2版)
- C#程序設(shè)計基礎(chǔ)入門教程
- 實驗編程:PsychoPy從入門到精通
- HTML5程序開發(fā)范例寶典