14.07.2013 Views

Contents - Cultural View

Contents - Cultural View

Contents - Cultural View

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!