Several concepts one,
The SDK is software Development Kit generally refers to a software development package, which can include function libraries, compiler programs, and so on.
The JDK is the Java development Kit. Simply put, the JDK is a developer-oriented SDK that provides a Java development environment and a running environment.
The JRE is Java runtime enviroment, which refers to the Java Runtime Environment, and is intended for users of Java programs, not developers.
Two
The main difference between the JVM server mode and the client mode is that the-server mode starts slowly, but once it is running, the performance will be greatly improved.
The reason is that when the virtual machine is running in-client mode, it uses a lightweight compiler codenamed C1, while the-server mode-initiated virtual machine uses a relatively heavyweight, code-named C2 compiler. C2 is more thorough than the C1 compiler, and after service, performance is higher. Java-version can see directly whether you are using client or server.
Java version "1.6.0_38" Java (tm) SE Runtime Environment (build 1.6.0_38-b05) Java HotSpot (tm) 64-bit Server VM (Build 20.13- B02, Mixed mode)
Switching between the two modes can be achieved either by changing the jvm.cfg configuration file or by adding-server or-client after the startup parameter:
32-bit virtual machine in directory java_home/jre/lib/i386/jvm.cfg,
64-bit in Java_home/jre/lib/amd64/jvm.cfg, the current 64-bit support only server mode, the configuration content is roughly as follows
32-bit 64-bit
-server known -server known-client known -client ignore-hotspot aliased_to-client -hotspot ALIASED_TO- Server-classic WARN -classic warn-native error -native error-green error -green error
Generally as long as the change-server known and-client known two configuration location order can be, if the Java_home/jre/bin directory exists in both server and client two folders, respectively, corresponding to the respective JVM.
Java: Execute Java bytecode file, run through console, close the console will also close the Java program. JAVAW: Same as Java, but does not start with the console, it is not associated with the console, generally used to start the GUI program. Javac: Used to compile Java source files.
Details One,
When you install a JDK, you must install a JRE under its subdirectory, and during the installation process you will be asked if you want to install an external JRE. If we choose to install it, we have two JRE at the same time. The two JRE is essentially no different. The main difference is that the JRE in the JDK directory is primarily designed to run the tools that the JDK comes with (in the bin directory). While the external JRE will be automatically copied to the operating system under a path when installed, usually: under the C:\Windows\system32 folder, the folder contains: Java.exe, Javaw.exe, javaws.exe three files. So as soon as we install the external JRE, even if the JDK is not installed and the environment variable is not configured, the Java program is run with the external JRE's Java.exe program. This is because, by default, the path of System32 is written in front of our own configured path, which we can manually modify.
So, it is important to note that if there are three programs in C:\Windows\system32 without modifying the order of path, it is not enough to simply modify our Java environment variables, but also to C:\Windows\ These three program deletions in System32 ensure that the modified environment variables are valid.
Details two, now the JDK does not need to configure CLASSPATH, the default will be to find Javac and other directories in the upper directory of the JRE inside the jar package.
JDK/JRE/SERVER/CLIENT/JAVA/JAVAC/JAVAW, wait.