[Knowledge] relationship between jdk, JRE, and JVM

Source: Internet
Author: User
If JDK is installed, you will find that your computer has two sets of JRE, one for/JRE and the other for C: in the/program files/Java/j2re1.4.1 _ 01 directory, this set of Java virtual machines with fewer servers is followed by the previous set. However, simply copy the previous set of server-side Java virtual machines. When installing JDK, you can choose whether to install the JRE in the C:/program files/Jav a directory.

If you only install JRE instead of JDK, only a unique set of JRE will be installed in the C:/program files/Java directory.

The status of JRE is just like that of a PC. The Win32 application we write requires the operating system to help us run it. Similarly, the Java program we write must also run JRE. So after installing JDK, if two sets of JRE are installed in two different locations on the hard disk, you can imagine that your computer has two virtual Java PCs, all have the function of running Java programs.

So we can say that as long as your computer has installed JRE, you can run the Jav a application correctly.

1. Why does Sun need JDK to install two identical JRE?

This is because JDK has a lot of Java-compiled development tools (such as javac.exe‑jar.exe), and they are all stored in/lib/tools. jar.

As shown in the following example. jar is renamed to ols1.jar. after javac.exe is run, the following result is displayed: exception in thread "Main" Java. lang. noclassdeffounderror: COM/Sun/tools/javac/Main. You can input javac.exe and Java-cp c:/JDK/lib/tools. jar COM. sun. tools. javac. the main is the same and the same result is obtained.

From this we can prove that javac.exe is just a wrapper, and the purpose is to prevent developers from entering too long fingers. In addition, we can find that the programs in the/lib directory are very small, not greater than 2 9 K. Here we can draw a conclusion. That is, the JDK tool is almost written in Java, so it is also a Jav a application. Therefore, to use the tool attached to JDK to develop Java programs, you must also attach a set of JRE, therefore, the set of JRE located in the C:/program files/Java directory is used to run general Java programs.

2. If two or more JRE are installed on a computer, who will decide?

This major task falls on java.exe. The job of java.exe is to find the appropriate JRE to run the Java program. Java.exe searches for jre in the following order: whether JRE is in its own directory; whether JRE is in its parent directory; and query the registry: [HKEY_LOCAL_MACHINE/software/kerberoft/Java Runtime Environment] The running result of java.exe is closely related to which JRE is executed on your computer.

3. Introduction to JVM

The bin directory under the JRE directory has two directories: server and client. This is where the real JVM. dll is located. JVM. DLL cannot work independently when JVM. after the DLL is started, it will use the explicit method (that is, using loadlibrary () and getprocaddress () in the Win32 API to load the dynamic link library of the auxiliary ), these auxiliary Dynamic Link Libraries (. DLL) must be in the JVM. the parent directory of the dll Directory. Therefore, you only need to set the path to the JVM. dll under the directory where JRE is located.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.