80 |
* treated as read-only. |
* treated as read-only. |
81 |
* |
* |
82 |
* No matter what class you start initialization with, it defers to the |
* No matter what class you start initialization with, it defers to the |
83 |
* superclass, therefore Object.<clinit> will be the first Java code |
* superclass, therefore Object.<clinit> will be the first Java code |
84 |
* executed. From there, the bootstrap sequence, up to the point that |
* executed. From there, the bootstrap sequence, up to the point that |
85 |
* native libraries are loaded (as of March 24, when I traced this |
* native libraries are loaded (as of March 24, when I traced this |
86 |
* manually) is as follows: |
* manually) is as follows: |
87 |
* |
* |
88 |
* Object.<clinit> uses a String literal, possibly triggering initialization |
* Object.<clinit> uses a String literal, possibly triggering initialization |
89 |
* String.<clinit> calls WeakHashMap.<init>, triggering initialization |
* String.<clinit> calls WeakHashMap.<init>, triggering initialization |
90 |
* AbstractMap, WeakHashMap, WeakHashMap$1 have no dependencies |
* AbstractMap, WeakHashMap, WeakHashMap$1 have no dependencies |
91 |
* String.<clinit> calls CaseInsensitiveComparator.<init>, triggering |
* String.<clinit> calls CaseInsensitiveComparator.<init>, triggering |
92 |
* initialization |
* initialization |
93 |
* CaseInsensitiveComparator has no dependencies |
* CaseInsensitiveComparator has no dependencies |
94 |
* Object.<clinit> calls System.loadLibrary, triggering initialization |
* Object.<clinit> calls System.loadLibrary, triggering initialization |
95 |
* System.<clinit> calls System.loadLibrary |
* System.<clinit> calls System.loadLibrary |
96 |
* System.loadLibrary calls Runtime.getRuntime, triggering initialization |
* System.loadLibrary calls Runtime.getRuntime, triggering initialization |
97 |
* Runtime.<clinit> calls Properties.<init>, triggering initialization |
* Runtime.<clinit> calls Properties.<init>, triggering initialization |
98 |
* Dictionary, Hashtable, and Properties have no dependencies |
* Dictionary, Hashtable, and Properties have no dependencies |
99 |
* Runtime.<clinit> calls VMRuntime.insertSystemProperties, triggering |
* Runtime.<clinit> calls VMRuntime.insertSystemProperties, triggering |
100 |
* initialization of VMRuntime; the VM must make sure that there are |
* initialization of VMRuntime; the VM must make sure that there are |
101 |
* not any harmful dependencies |
* not any harmful dependencies |
102 |
* Runtime.<clinit> calls Runtime.<init> |
* Runtime.<clinit> calls Runtime.<init> |
103 |
* Runtime.<init> calls StringTokenizer.<init>, triggering initialization |
* Runtime.<init> calls StringTokenizer.<init>, triggering initialization |
104 |
* StringTokenizer has no dependencies |
* StringTokenizer has no dependencies |
105 |
* System.loadLibrary calls Runtime.loadLibrary |
* System.loadLibrary calls Runtime.loadLibrary |
106 |
* Runtime.loadLibrary should be able to load the library, although it |
* Runtime.loadLibrary should be able to load the library, although it |