JDK/JRE/SERVER/CLIENT/JAVA/JAVAC/JAVAW等等
来源:互联网 发布:淘宝话题怎么玩 编辑:程序博客网 时间:2024/06/06 13:59
几个概念
一、
SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。
JDK是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。
JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。
二、
JVM Server模式与client模式启动,最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升。
原因是:当虚拟机运行在-client模式的时候,使用的是一个代号为C1的轻量级编译器, 而-server模式启动的虚拟机采用相对重量级,代号为C2的编译器。C2比C1编译器编译的相对彻底,,服务起来之后,性能更高。java -version 可以直接查看出你使用的是client还是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)
两种模式的切换可以通过更改jvm.cfg配置文件来实现或者在启动参数后面加上-server或者-client:
32位的虚拟机在目录JAVA_HOME/jre/lib/i386/jvm.cfg,
64位的在JAVA_HOME/jre/lib/amd64/jvm.cfg, 目前64位只支持server模式, 配置内容大致如下
32位 64位
-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
一般只要变更 -server KNOWN 与 -client KNOWN 两个配置位置先后顺序即可,前提是JAVA_HOME/jre/bin 目录下同时存在 server 与client两个文件夹,分别对应着各自的jvm。
三、
细节一、
安装JDK时一定会在其子目录下面安装一个JRE,同时在安装的过程也会询问你是否要安装一个外部的JRE。如果我们选择安装,则就同时拥有了两个jre。这两个JRE其实本质上是没有任何分别的。最主要的区别在于:JDK目录里面的JRE主要是设计用来运行JDK自带的那些工具的(Bin目录下)。而外部的JRE在安装的时候会自动拷贝到操作系统的某个路径下面,一般是:C:\Windows\system32文件夹下,该文件夹下包含:java.exe、javaw.exe、javaws.exe 三个文件。因此我们只要安装了外部的JRE,即使JDK没有安装,环境变量没有配置,则运行Java程序时都是用的外部JRE的java.exe程序来运行的。这是因为,默认情况下,system32这个path写在我们自己配置的path前面,当然这个顺序我们可以手动修改。
所以,这里要注意的是,如果在没有修改path的顺序的情况下,C:\Windows\system32里有这三个程序,那么单单修改我们的java环境变量是不够的,还要把C:\Windows\system32里的这三个程序删除才可以保证修改的环境变量有效。
细节二、
- JDK/JRE/SERVER/CLIENT/JAVA/JAVAC/JAVAW等等
- jre和jdk以及server与client相关知识
- JDK与JRE/Client or Server模式JVM
- JDK/bin目录下的不同exe文件的用途(appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii...)
- JDK/bin目录下的不同exe文件的用途(appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii...)
- JDK/bin目录下的不同exe文件的用途(appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii...)
- JDK/bin目录下的不同exe文件的用途(appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii...
- JDK/bin目录下的不同exe文件的用途(appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii...)
- java 各进程功能java,javac,javaw,javaws,javap
- java.exe,javac.exe,javaw.exe,jar,javadoc 区别
- java.exe,javac.exe,javaw.exe 是什么进程? (转载)
- javac.exe,java.exe,javaw.exe的区别
- Java基础(一)——JVM、JRE、JDK、Javac等
- java jdk jvm jre
- java-jdk jre jvm
- java jdk jre jvm
- java jdk和jre
- java jdk jre jvm
- Django实例--英文、数字与中文之间增加空格
- opencv各类滤波器详解
- 【Unity3D游戏开发】之定制Debug.log输出 (八)
- ngx_cycle_s
- 变量声明和定义的关系
- JDK/JRE/SERVER/CLIENT/JAVA/JAVAC/JAVAW等等
- 如何在网上办理电信宽带
- hive数据操作
- 多个AsynceTask无法同时运行的现象分析
- 《统计学习方法》读书笔记——感知机
- 解决mysql"Access denied for user'root'@'IP地址'"问题
- mtd和mtdblock的区别
- CXF生成客户端注意事项
- C++11中的匿名函数(lambda函数,lambda表达式) (转)