Contents - Cultural View
Contents - Cultural View
Contents - Cultural View
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Java Class Library 156<br />
[15] "Freetype font rasteriser" (http:/ / mail. openjdk. java. net/ pipermail/ font-scaler-dev/ 2007-August/ 000011. html). 2007-08-07. . Retrieved<br />
2007-11-24.<br />
[16] phoneme.dev.java.net/ (https:/ / phoneme. dev. java. net/ )<br />
[17] graphics-rasterizer project page (http:/ / openjdk. java. net/ projects/ graphics-rasterizer/ )<br />
[18] Graham, Jim (2007-10-03). "Open Source rasterizer" (http:/ / mail. openjdk. java. net/ pipermail/ 2d-dev/ 2007-October/ 000078. html). Sun<br />
Microsystems. . Retrieved 2007-05-09.<br />
[19] "Javascript is encumbered and there is no javascript plugin support." (http:/ / icedtea. classpath. org/ bugzilla/ show_bug. cgi?id=85).<br />
IcedTea. 2008-03-11. . Retrieved 2008-06-01. "Changing Summary. JavaScript is no longer encumbered, but we still need liveconnect<br />
support."<br />
[20] http:/ / java. sun. com/ j2se/<br />
[21] http:/ / java. sun. com/ reference/ api/ index. html<br />
[22] https:/ / jdk7. dev. java. net/<br />
[23] http:/ / java. sun. com/ javase/ 6/<br />
[24] http:/ / java. sun. com/ j2se/ 1. 5. 0/<br />
[25] http:/ / java. sun. com/ j2se/ 1. 4. 2/<br />
[26] http:/ / java. sun. com/ j2se/ 1. 3/<br />
Java Classloader<br />
The Java Classloader is a part of the Java Runtime Environment that dynamically loads Java classes into the Java<br />
Virtual Machine [1] . Usually classes are only loaded on demand. The Java run time system does not need to know<br />
about files and file systems because of class loaders. Delegation is an important concept to understand when learning<br />
about class loaders.<br />
A software library is a collection of more or less related object code. In the Java language, libraries are typically<br />
packaged in Jar files. Libraries can contain objects of different types. The most important type of object contained in<br />
a Jar file is a Java class. A class can be thought of as a named unit of code. The class loader is responsible for<br />
locating libraries, reading their contents, and loading the classes contained within the libraries. This loading is<br />
typically done "on demand", in that it does not occur until the class is actually used by the program. A class with a<br />
given name can only be loaded once by a given classloader.<br />
Class loading process<br />
Each Java class must be loaded by a class loader [2] . Furthermore, Java programs may make use of external libraries<br />
(that is, libraries written and provided by someone other than the author of the program) or may itself be composed,<br />
at least in part, by a number of libraries.<br />
When the JVM is started, three class loaders are used [3] [4] :<br />
1. Bootstrap class loader<br />
2. Extensions class loader<br />
3. System class loader<br />
The bootstrap class loader loads the core Java libraries [5] (/lib directory). This class loader, which<br />
is part of the core JVM, is written in native code.<br />
The extensions class loader loads the code in the extensions directories (/lib/ext or any other<br />
directory specified by the java.ext.dirs system property). It is implemented by the<br />
sun.misc.Launcher$ExtClassLoader class.<br />
The system class loader loads code found on java.class.path, which maps to the system CLASSPATH variable. This<br />
is implemented by the sun.misc.Launcher$AppClassLoader class.