`
85977328
  • 浏览: 1865807 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jdk(32bit)的高级安装---client模式与server模式

阅读更多
1.这个问题讨论起来其实挺简单,但笔者也是最近才恍然大悟.受益匪浅.刚开始,笔者误认为openJDK的性能强于sun的HotSpot,后来发现,openJDK的默认运行模式是server,而HotSpot的默认模式client,所以拿出来心得,与朋友们分享,如果大家觉得这篇文章有用,请跟帖讨论,本人以后还会拿出更多的心得与大家交流学习.
到http://www.oracle.com/technetwork/java/javase/downloads/index.html
下载jdk-6u23-windows-i586.exe
安装到C:\Java,安装的时候,javaDB和jre笔者认为,没有安装的必要,只安装JDK.

2.设定环境变量,一般不推荐变量的引用,有些环境下会出问题,例如eclipse下的javadoc,所以PATH,CLASSPATH尽量写全,不要引用%JAVA_HOME%
JAVA_HOME    C:\Java\jdk1.6.0_23
PATH    %JAVA_HOME%\bin
CLASSPATH    .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

3.虚拟机版本与模式查看
java -version //查看JVM默认的环境
java -client -version //查看JVM的客户端环境,针对GUI优化,启动速度快,运行速度不如server
java -server -version //查看JVM的服务器端环境,针对生产环境优化,运行速度快,启动速度慢

4.虚拟机模式切换
目录JAVA_HOME/jre/bin下,会有2个目录,server与client.这个就是他们的运行环境的动态库.那么怎么切换呢?找到JAVA_HOME/jre/lib/i386/jvm.cfg,这就是JVM默认的查找顺序,内容如下
-client KNOWN
-server KNOWN
-hotspot ALIASED_TO -client
-classic WARN
-native ERROR
-green ERROR
只需要把-server和-clent换个位置就行了.如下
-server KNOWN
-client KNOWN
-hotspot ALIASED_TO -client
-classic WARN
-native ERROR
-green ERROR
这个时候在输入java -version看看吧,是不是默认的使用服务器端了呢,一般开发环境是使用client,而生产环境会使用server.有什么问题大家留言吧,我们一起交流.^-^
分享到:
评论
11 楼 lucane 2011-03-08  
自己编译IcedTea估计蛮要点功夫

目前只见过已经编译好的
hello@KNIGHT:~$ /usr/lib/jvm/java-6-openjdk/jre/bin/java -cacao -version
java version "1.6.0_20"
IcedTea Runtime Environment (IcedTea6 1.9.7) (6b20-1.9.7-0ubuntu1)
CACAO (build 1.1.0pre1, compiled mode)

hello@KNIGHT:~$ /usr/lib/jvm/java-6-openjdk/jre/bin/java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.7) (6b20-1.9.7-0ubuntu1)
OpenJDK Server VM (build 19.0-b09, mixed mode)
hello@KNIGHT:~$ /usr/lib/jvm/java-6-openjdk/jre/bin/java -client -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.7) (6b20-1.9.7-0ubuntu1)
OpenJDK Client VM (build 19.0-b09, mixed mode, sharing)

以前到是想过在X86编译Dalvik,看了圈,还是没有勇气和实力。。。
10 楼 jorneyR 2011-01-08  
Mac下默认使用的就是Server,不用修改,*^o^*
9 楼 wkoffee 2011-01-08  
client 和 server的本质区别是他们内部使用的jit compiler是不一样的,在hotspot内部分别称作 c1 和 c2 (有人知道c3吗 ,sun一直想将这两个jit compiler合并,即TieredCompilation,已经说了好多年了,现在看来已经有实际进展了,如果build最新的hotspot server jvm的话,可以看到c1的代码也会被编译,以前是忽略的,在jdk7中应该能看到这个feature
8 楼 RednaxelaFX 2011-01-07  
85977328 写道
那icetea怎么安装呢?有win32的吗

呃…没见到过IcedTea的预先build好的Windows版安装包。有能力的话自己build呗~ 在Windows上的部分其实没怎么变吧,跟OpenJDK相比。变化的点主要在别的地方,像是Zero/Shark啊、Linux上一些库和bug的更新啊啥的。
7 楼 85977328 2011-01-07  
那icetea怎么安装呢?有win32的吗
6 楼 RednaxelaFX 2011-01-07  
前面提到的OpenJDK在Windows XP SP3 32位上默认的:
D:\sdk\OpenJDK\openjdk-6.20.1\bin>java -version
openjdk version "1.6.0-OpenSCG-Build-20"
OpenJDK Runtime Environment (build 1.6.0-OpenSCG-Build-20-b1)
OpenJDK Client VM (build 17.0-b16, mixed mode)
5 楼 85977328 2011-01-07  
RednaxelaFX 写道
OpenJDK如果在Windows上build出来的话,默认的运行模式也是-client吧 =_=
只不过OpenJDK官网并没有直接提供Windows上build好的安装包,所以这个对很多人来说变得难以验证。

在这个网站有OpenJDK在Windows/Linux/Mac OS X上build好的安装包:http://www.openscg.com/se/

见到用OpenJDK的有许多是在Linux上的。从Java 5开始,HotSpot就自带了ergonomics,可以根据环境选择一些启动参数。
引用
In the J2SE platform version 5.0 a class of machine referred to as a server-class machine has been defined as a machine with
2 or more physical processors
2 or more Gbytes of physical memory

于是在比较现代的PC上,要满足这里的“服务器级别”的判定标准一点也不困难,满足该标准就会使HotSpot自动选择使用server模式来启动。这在OpenJDK和Oracle/Sun版JDK里都是一样的。

只不过这ergonomics在32位Windows上没开启,所以在这种环境下默认还是用-client而已。

恩,感谢楼上的恢复,受益匪浅了。我这就是试一下windows版本的openjdk
4 楼 RednaxelaFX 2011-01-07  
OpenJDK如果在Windows上build出来的话,默认的运行模式也是-client吧 =_=
只不过OpenJDK官网并没有直接提供Windows上build好的安装包,所以这个对很多人来说变得难以验证。

在这个网站有OpenJDK在Windows/Linux/Mac OS X上build好的安装包:http://www.openscg.com/se/

见到用OpenJDK的有许多是在Linux上的。从Java 5开始,HotSpot就自带了ergonomics,可以根据环境选择一些启动参数。
引用
In the J2SE platform version 5.0 a class of machine referred to as a server-class machine has been defined as a machine with
2 or more physical processors
2 or more Gbytes of physical memory

于是在比较现代的PC上,要满足这里的“服务器级别”的判定标准一点也不困难,满足该标准就会使HotSpot自动选择使用server模式来启动。这在OpenJDK和Oracle/Sun版JDK里都是一样的。

只不过这ergonomics在32位Windows上没开启,所以在这种环境下默认还是用-client而已。
3 楼 85977328 2011-01-04  
只要有JDK下的JRE,就没必要在安装的时候,再选择独立的JRE了
2 楼 85977328 2011-01-04  
superxgz 写道
如果装了公共JRE,运行 “java -server -version”会报“Error: no `server' JVM at `C:\Program Files\Java\jre6\bin\server\jvm.dll'.”这个错
而且公共JRE下没有server这个目录
只有JDK自带的jre的目录下有server这个目录
那是不是生产环境不能安装公共JRE,还是有什么办法可以让系统自动使用JDK自带的JRE

只要生产环境下,不安装公共JRE就可以了
1 楼 superxgz 2011-01-04  
如果装了公共JRE,运行 “java -server -version”会报“Error: no `server' JVM at `C:\Program Files\Java\jre6\bin\server\jvm.dll'.”这个错
而且公共JRE下没有server这个目录
只有JDK自带的jre的目录下有server这个目录
那是不是生产环境不能安装公共JRE,还是有什么办法可以让系统自动使用JDK自带的JRE

相关推荐

    jdk-8u311-windows-x64.exe

    jdk-8u311-windows-x64.exe jdk-8u311-windows-x64.exe.zip jdk-8u311-windows-x64.exe jdk-8u311-windows-x64.exe.zip jdk-8u311-windows-x64.exe jdk-8u311-windows-x64.exe.zip jdk-8u311-windows-x64.exe jdk-8u...

    jdk-6u39-windows-i586

    jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows...

    jdk-6u21-windows-x64

    jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-...

    jdk-8u301-linux.zip

    压缩包内容: Java SE Development ...(3)jdk-8u301-linux-arm32-vfp-hflt.tar.gz (4)jdk-8u301-linux-i586.rpm (5)jdk-8u301-linux-i586.tar.gz (6)jdk-8u301-linux-x64.rpm (7)jdk-8u301-linux-x64.tar.gz

    jdk-8u131-windows-x32下载【官方纯净版】

    jdk-8u131-windows-x32下载 - 官方纯净版【带环境变量...jdk-8u131-windows-x32 ,windows 版本32位,下载后双击.exe即可懒人安装,一直下一步即可,。 =========亲试可用^_^==========,在此下载比官网速度快不止10倍

    jdk1.7 32位官方正式版 jdk-7u79-windows-i586 下载

    jdk-7u79-windows-i586.exe JDK7 稳定版 源官方下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

    java-jdk1.8-8u361-all-jdk-win-linux

    java-jdk1.8-8u361-all-jdk-win-linux 该压缩包中包含jdk1.8-8u361下windows版本和linux版本,其包含快速安装包和对应的jdk压缩包版本,具体内容如下: jdk-8u361-linux-aarch64.rpm jdk-8u361-linux-i586.rpm jdk-8...

    JDK-1.6-Windows-32位 官方

    JDK-1.6-Windows-32位 纯官方安装版 JDK-1.6-Windows-32位 纯官方安装版

    jdk-8u221-windows-x64.rar

    jdk-8u221-windows-x64.exe 支持Win10 64位 jdk-8u221-windows-x64.exe 支持Win10 64位 jdk-8u221-windows-x64.exe 支持Win10 64位 jdk-8u221-windows-x64.exe 支持Win10 64位 jdk-8u221-windows-x64.exe 支持Win10...

    jdk-7-windows-x32

    jdk-7-windows-x32 32为 JDK 7

    开发工具 jdk-8u121-windows-i586

    开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8...

    jdk-6u32-linux-x64.part2

    jdk-6u32-linux-x64.part2.rar这是安装文件的第二部分,搜索下载jdk-6u32-linux-x64.part1.rar和jdk-6u32-linux-x64.part2.rar放到WINDOWS系统的同一个目录,用winrar解压会自动变成一个安装文件。创建/usr/java ,...

    JDK1.8 win32 jdk-8u271-windows-i586

    JDK1.8 win32 jdk-8u271-windows-i586 jdk官方需要登录,方便大家下载

    JDK版本:jdk-8u162-windows-x64.exe资源与安装教程

    JDK版本:jdk-8u162-windows-x64.exe资源与安装教程

    jdk-8u131-windows-x32 - 官方纯净版

    jdk-8u131-windows-x32 ,windows 版本32位,下载后双击.exe即可懒人安装,一直下一步即可,环境变量自己配置下(百度), =========亲试可用^_^==========,在此下载比官网速度快不止10倍

    jdk1.8 doc(jdk-8u191-docs-all)

    Java jdk1.8说明文档,直接下载并拷贝到jdk目下 jdk1.8 doc(jdk-8u191-docs-all)

    jdk-8u281-windows-x64.exe

    资源名称:jdk-8u281-windows-x64.exe 资源类型:软件安装包 资源描述:jdk-8u281-windows-x64.exe是Java开发工具包(JDK)的一个版本,适用于Windows 64位操作系统。JDK是Java开发的核心工具包,包括Java编译器、...

    jdk1.6-jdk-6u43-windows32-i586

    jdk1.6-jdk-6u43-windows32-i586

    jdk1.8 32位官方正式版 jdk-8u91-windows-i586.rar

    jdk-8u91-windows-i586,jdk1.8 32位官方正式版 jdk-8u91-windows-i586

    jdk-8u281-linux-x64.tar.gz.zip

    1.下载后重命名:jdk-8u281-linux-x64.tar.gz 2.解压 tar -zxvf jdk-8u281-linux-x64.tar.gz 3.配置环境变量:vim /etc/profile 最后添加: export JAVA_HOME=/opt/jdk export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$...

Global site tag (gtag.js) - Google Analytics