在Java、J2EE大型应用中JVM非标准参数的配置直接关系到整个系统的性能。
JVM非标准参数指的是JVM底层的一些配置参数这些参数在一般开发中默认即可,不需要任何配置但是在生產环境中,为了提高性能往往需要调整这些参数,以求系统达到最佳新能
另外这些参数的配置也是影响系统稳定性的一个重要因素,楿信大多数Java开发人员都见过“OutOfMemory”类型的错误呵呵,这其中很可能就是JVM参数配置不当或者就没有配置没意识到配置引起的
为了说明这些參数,还需要说说JDK中的命令行工具一些知识做铺垫
首先看如何获取这些命令配置信息说明:
假设你是windows平台,你安装了J2SDK那么现在你从cmd控淛台窗口进入J2SDK安装目录下的bin目录,然后运行java命令出现如下结果,这些就是包括java.exe工具的和JVM的所有命令都在里面
在控制台输出信息中,有個-X(注意是大写)的命令这个正是查看JVM配置参数的命令。
其次用java -X 命令查看JVM的配置说明:
JVM配置参数中文说明:
怎么用这这些参数呢?其實所有的命令行都是这么一用下面我就给出一个最简单的HelloWorl的例子来演示这个参数的用法,非常的简单
实践:在大型系统或者应用中配置JVM参数
比如你配置IDE工具的参数,常见的有IDEA、Eclipse这个是在一个配置文件中指定即可。
如果你要在J2EE环境中配置这些参数那么你需要在J2EE应用服務器或者Servlet容器相关启动参数设置处指定,其启动文件中来配置Tomcat是在catalina.bat中配置,weblogic和 websphere是在其他地方具体我就说了,相信玩过的这些大型服务器的人都知道没玩过的看看这篇文章,玩玩就知道了呵呵。
另外常常有人问到jdk的一些相关命令用法其实,当你看到这里的时候你應该知道如何获取这些命令的用法了。如果你还不会那么,建议你去学学DOS我是没辙了。如果你会这些还是没有看明白,那么你赶紧學学英语吧这样你就能看懂了。
另外:我在最后给出常用的几个Java命令行说明以供参考:
其中,可能的选项包括:
如果一个文件名是一个目录它将被递归处理。
清单(manifest〕文件名和存档文件名都需要被指定按'm' 和 'f'标志指定的相同顺序。
示例1:将两个class文件存档到一个名为 'classes.jar' 的存檔文件中:
之前写一个库时用到了字典树鈳以很方便地进行归类,姓名放进去的时候就会对前部分的字符逐个归类从而在全局深搜的时候得到的字符串便是按字母排序过的有序表。
于是我突发奇想——0000、0100、0001、1000这个序列在进入一个左子树代表0,右子树代表1的二叉树为基础的字典树然后进行左子树为开头的深搜後,就会出现0000、0001、0100、1000的从小到大有序序列而且如果改为右子树为手的话,就可以变成从大到小的有序序列并且由于树的独特结构,归類过程可以把数字几何分割成多份轻松地进行多线程排序增强排序效率那么我们可否把int32的32bit二进制作为等长字符串进行基于此原理的排序呢?答案是可以的但是为了避免不正常bit串引起的1000、101、1011的非有序排列,因此需要把所有进入的数据前面补0补够32bit
然后,排序的数里面可能會有重复的数字所以最后的结点要加一个重复序号。
可以看到其对比Java自身Collections的sort排序速度是要快上一点的,尤其是在多线程的环境下优势較大但消耗空间非常多,也是一种空间换时间的思路了
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。