- 浏览: 1899181 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
July01:
最近了解到一款StratoIO打印控件,功能如下:1、Html ...
jquery打印指定的div -
GentlemanQc:
...
quartz系列(二)spring3.2.5与quartz2.1.7集群版集成简要说明 -
静夜独窗:
你好,能说一下server.xml增加的配置是怎么影响性能的吗 ...
tomcat7.0性能优化-挑战极限精简版 -
beyondfengyu:
beyondfengyu 写道如果每个客户进程的时间不同步,时 ...
java并发(二十二)分布式锁 -
beyondfengyu:
如果每个客户进程的时间不同步,时间超前的进程是不是更容易得到锁 ...
java并发(二十二)分布式锁
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.有什么问题大家留言吧,我们一起交流.^-^
呃…没见到过IcedTea的预先build好的Windows版安装包。有能力的话自己build呗~ 在Windows上的部分其实没怎么变吧,跟OpenJDK相比。变化的点主要在别的地方,像是Zero/Shark啊、Linux上一些库和bug的更新啊啥的。
恩,感谢楼上的恢复,受益匪浅了。我这就是试一下windows版本的openjdk
只要生产环境下,不安装公共JRE就可以了
到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,看了圈,还是没有勇气和实力。。。
目前只见过已经编译好的
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,可以根据环境选择一些启动参数。
于是在比较现代的PC上,要满足这里的“服务器级别”的判定标准一点也不困难,满足该标准就会使HotSpot自动选择使用server模式来启动。这在OpenJDK和Oracle/Sun版JDK里都是一样的。
只不过这ergonomics在32位Windows上没开启,所以在这种环境下默认还是用-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
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,可以根据环境选择一些启动参数。
于是在比较现代的PC上,要满足这里的“服务器级别”的判定标准一点也不困难,满足该标准就会使HotSpot自动选择使用server模式来启动。这在OpenJDK和Oracle/Sun版JDK里都是一样的。
只不过这ergonomics在32位Windows上没开启,所以在这种环境下默认还是用-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
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下没有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
而且公共JRE下没有server这个目录
只有JDK自带的jre的目录下有server这个目录
那是不是生产环境不能安装公共JRE,还是有什么办法可以让系统自动使用JDK自带的JRE
发表评论
-
java for 的几种用法
2014-12-02 09:59 1260J2SE 1.5提供了另一 ... -
finally不执行的陷阱
2014-05-16 09:23 1124写了个DEMO,说明下finally在System.exit( ... -
URI和URL的区别
2014-03-26 10:38 1298String HttpServletRequest.getRe ... -
Iterator与ListIterator区别
2014-03-23 22:21 1137Iterator:只能正向遍历集合,适用于获取移除元素。Lis ... -
快速失败特性
2014-03-23 22:20 1148从高级别层次来说快速失败是一个系统或软件对于其故障做出 ... -
java继承静态方法复写
2014-03-12 09:28 4421最近和人交流,遇到了这样一个问题,就是继承当中,静态方法复写的 ... -
关于return和finally
2014-03-11 10:19 2836本来return和finally也不是个事。之前看虚拟机运行原 ... -
JVM内存分析系列(十三)内存实践理解
2014-01-22 10:09 3120java堆 包括 新生代:eden,survival(from ... -
JVM内存分析系列(十二)G1垃圾收集器的使用
2014-01-16 17:10 11519Garbage First(G1)致力于在多CPU和大内存服务 ... -
JVM内存分析系列(十一)GC基本情况与CMS垃圾收集器调优
2014-01-16 11:44 11599初始标记 CMS-initial-mark 并发标记 CMS- ... -
eclipse内存优化
2014-02-26 14:00 1547修改eclipse的配置文件,添加或者修改参数如下,其中XX: ... -
远程调试(二)JVM
2014-01-10 11:43 1745从J2SE 1.4.2开始,就已经提出并实现了JavaTM P ... -
JVM内存分析系列(九)JDK监控和故障处理工具
2014-01-08 18:33 2072jps JVM Process Status Tool,显示指 ... -
guava--google----用来替代commons的jar包
2014-01-06 18:21 16833Guava 是一个 Google ... -
JVM内存分析系列(八)垃圾收集器介绍及性能指标
2013-12-30 13:33 2037内存回收的具体实现。 停顿时间越短就越适合需要 ... -
JVM内存分析系列(七)垃圾收集算法
2013-12-30 12:58 1120内存回收的方法论 标记-清除算法 Mark-Sweep 分为 ... -
JVM内存分析系列(六)对象存活判断
2013-12-26 11:10 1138对象存活常用2种算法 引用计数算法 给对象中添加一个 ... -
JVM内存分析系列(五)浅谈finalize()方法
2013-12-28 18:47 1470根搜索算法中不可达对象在回收之前,要进行二次标记。 第 ... -
JVM内存分析系列(四)对象4种引用
2013-12-25 20:07 1324强引用:只要强引用还存在,垃圾收集器永远不会回收掉被引用的对象 ... -
JVM内存分析系列(三)JVM内存模型初步
2013-12-25 17:09 1163根据《Java虚拟机规范(第二版)》的规定,结构如下 1 ...
相关推荐
**Java Development Kit (JDK) 1.6 for 32-bit Systems** JDK(Java Development Kit)是Oracle公司提供的用于开发和运行Java应用程序的重要工具集。在标题"jdk-6u45-windows-i586"中,"6u45"表示的是JDK 1.6的第45...
由于CentOS 6.5默认安装了OpenJDK 1.7,这可能会与后续安装的JDK 1.7冲突,因此需要先卸载原有的OpenJDK。 ```shell # 查看系统当前的Java版本 java -version # 输出示例:java version "1.7.0" # OpenJDK Runtime ...
With JDK 1.8 installed, developers can leverage its advancements in developing robust and scalable applications for both client-side and server-side computing. It's crucial to keep JDK up to date for ...
- **动态编译器(Client Compiler 和 Server Compiler)**:JDK 1.6引入了C2(Server Compiler),它是一个更高效的编译器,能够在运行时对热点代码进行优化,提高整体性能。 - **改进的垃圾收集器**:如Parallel ...
6. **其他必需的依赖包:** 确保已经安装了 `glibc-32bit-8.1-9` 和 `glibc-devel-32bit-8.1-9`,否则在安装 Oracle 客户端时会出现 `UnsatisfiedLinkError exception loading native library: njni10` 错误。...
- [Direct Link](http://dev.mysql.com/downloads/mysql/5.0.html#linux-static-x86-32bit-rpms) - **步骤:** 1. 访问官方提供的下载页面。 2. 下载适用于 Linux x86 架构的 RPM 文件,包括 `MySQL-client`, `...
下载JDK并安装,设置安装路径(例如默认路径C:\Program Files(x86)\Java\jdk1.8.0_45)。安装完成后,还需要设置环境变量,确保可以在命令行工具中使用`java`命令。在Windows命令提示符中输入`java -version`命令,...
1. 检查与安装MySQL Ubuntu 18.04默认提供了LAMP(Linux、Apache、MySQL、PHP)套件,所以在安装系统时可能已经包含了MySQL。要检查MySQL是否已安装,可以尝试运行`mysql`命令: ``` lemon@ubuntu:~$ mysql ``` ...
首先,安装Zookeeper的前提条件是需要Java Development Kit (JDK) 1.6或以上版本。确保已安装JDK并设置了环境变量,可以通过`java -version`命令检查Java版本。 接下来,通过wget命令下载Zookeeper的3.4.6版本。在...
tar -zxvf guacamole-server-1.1.0.tar.gz cd guacamole-server-1.1.0 ``` - 检测依赖库是否安装完整: ``` ./configure --with-init-dir=/etc/init.d ``` - 如果检测结果显示所有依赖都已安装成功,则可以...
1. **Oracle Parameters 配置**:确保 Oracle DB 32-bit Client 已安装。 2. **TNS_ADMIN 配置**:设置 TNS_ADMIN 环境变量指向 Oracle DB 的网络配置文件。 3. **PATH 配置**:更新 PATH 变量,确保包含 Oracle DB ...
- 文本模式安装:适用于高级用户或没有图形界面的环境。 - 网络安装:从网络下载必要的安装文件。 - 最小化安装:仅安装最基本的操作系统组件。 #### 四、快速设置指南 - **修改源并更新升级Ubuntu**: - 通过...
这里,`dataDir` 和 `dataLogDir` 分别指定了数据目录和日志目录,`clientPort` 是客户端连接的端口,而 `server.X` 表示集群中的服务器配置,X是服务器ID,A是IP地址,B是follower与leader通信的端口,C是选举...
因此,在安装Zookeeper之前,请确保你的系统中已经正确安装并配置了JDK。如果没有,你需要先安装JDK,再进行Zookeeper的安装。 总结,安装和配置Zookeeper涉及的主要步骤包括下载安装包、解压、配置环境变量、修改...
32. **构造器Constructor是否可以被继承?是否可以被Override?** - 构造器不能被继承。 - 构造器不能被重写(Override),但可以通过super调用父类的构造器。 33. **Java序列化,如何实现Java序列化?** - 实现`...
carrera-producer 生产消息代理模块,内置 Thrift Server, 负责将 client 的生产的消息转发给 broker。 carrera-consumer 消费消息代理模块, 内置 Thrift Server, 提供 SDK 拉取和 HTTP 推送等方式将消息发给订阅...