File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes CLASSPATH for System Classes Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "CLASSPATH for System Classes" Watch "CLASSPATH for System Classes" New topic

CLASSPATH for System Classes

munna next
Ranch Hand

Joined: Sep 28, 2004
Posts: 46
I have a basic question about CLASSPATH. I read and understood that when I write my own Java files I need to set CLASSPATH Environment variable in order to locate the specific file by the JAVA Class Loader. But my question is that I have a JAVA file in which I am importing

Statement# 1Import java.util.*;
Statement# 2 Import myOwnPackage.*;

// Have some Source

When I want to compile this File I need to set the Class Path for the statement#2 to tell the class loader where the Package and where the Class File. This can be done in the System Environmental variable or at compile time by -CLASSPATH option. Up to here I am very well understood. When I compile this Java Source file by giving Class path for the Statement#2 (With out giving the class path for java.util ) I am able to compile and run successfully. But my question is that why I am not required to give or set the CLASSPATH for java.util ? Is this because this is system class ? Even if it is system class how can Class Loader is able to locate this ?
In my system I do not have any CLASSPATH for the java.util. I have Installed the JAVA in C:\Program Files\Java\j2sdk1.4.2_03.

I know this is a basic question but I am not able to understand this. I appreciate for the reply on this.
Corey McGlone
Ranch Hand

Joined: Dec 20, 2001
Posts: 3271
Moving to Java in General (Beginner)

SCJP Tipline, etc.
Joel McNary

Joined: Aug 20, 2001
Posts: 1824

The JVM internally maintains a location to the system classes; thus, you do not have to specify them in the classpath. (In older versions of Java, you did have to; however, this produced problems when running with the -cp version, so they essentially "hard linked" those classes.) The default ClassLoader knows how to load those classes by default, so you don't have to do anything.

Piscis Babelis est parvus, flavus, et hiridicus, et est probabiliter insolitissima raritas in toto mundo.
Vishnu Munnangi
Ranch Hand

Joined: Sep 28, 2004
Posts: 114
Thanks for the clarification.
I agree. Here's the link:
subject: CLASSPATH for System Classes
It's not a secret anymore!