-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Closed
Description
Currently, the whole JDK is initialized at build time. This causes many issues with packages like java.awt where threads get stored into the image heap.
We plan to minimize the list of packages that are initialized at build time by default. The list should be designed with the following concerns:
- It should contain packages that are critical for performance of every-day user programs. All primitives, collections, strings, and similar must be initialized at build time.
- It should contain packages that are not hard to maintain (when build-time initialized) and hence cause trouble down the road.
- It should not bloat the "Hello, World!" image with many class initializers that will never be executed.
This will unfortunately be a breaking change for many projects. However, this change should bring fewer failures in native images and significantly ease the maintenance of the JDK.
sureshg, machaval, sdeleuze, fniephaus, morki and 1 more