知识大全 透过 Java 参数来改善 Java 效能

Posted 程式

篇首语:会挽雕弓如满月,西北望,射天狼。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 透过 Java 参数来改善 Java 效能相关的知识,希望对你有一定的参考价值。

透过 Java 参数来改善 Java 效能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  透过 Java 参数来改善 Java 效能         作者 : 艾群科技 萧松瀛         我们都知道 Java 在执行的时候会吃掉不少记忆体 而当记忆体不够用的时候 JVM 会向系统要求更大的记忆体来使用 但是实际上对于 Java 来说 我们会发现资料可以存在许多不同的地方 其中有两个重要的是 Heap 以及 Stack 这两者有什么差别 我们在以后会提到 但是在这之前 我们先来看一个程式         public class testHeap          public static void main(String argv[])          StringBuffer sb = new StringBuffer();     long starttime;     long endtime;     starttime = System currentTimeMillis();     for(int i= ; i <=100000; i++)          sb.append(i).append("hello").append(i);     if(i % (100000/2) == 0)          System.out.println(Runtime.getRuntime().totalMemory());               endtime = System.currentTimeMillis();     System.out.println("Time: "+(endtime-starttime));                   执行的结果如下         C:\\java\\tmp> java testHeap                    Time:         在这里 我们看到 totalMemory 不断的上升 当然 这是正常现象 但    是实际上我们可以控制 JVM 一开始就抓取的记忆体大小 这样的好处是     JVM 一开始就抓取了大量的 Heap 怎么做呢? 我们先用 java X 来看    看他有哪些额外的参数可以下 没错 我看到我感兴趣的几个参数          Xms set initial Java heap size      Xmx set maximum Java heap size      Xss set java thread stack size         接着 我想要让 JVM 一开始就抓取大量的记忆体 因此我选择 Xms 这    个参数 底下是我的执行结果         C:\\java\\tmp> java Xms testHeap                    Time:         这时候我们看到 total 的记忆体维持不变 原因很简单 因为 testHeap     使用记忆体的量 并没有超过我们一开始抓到的量 但是有一个很有趣的现象是循环内的时间已经更短了 换一个角度来说 就是程式跑起来更有效率 这种以记忆体空间来换取执行时间的方式 也许并不是最棒的校    调方法 但是却是一个在不修改程式码的方式下 提高效率的方法 当然 我们也可以限制记忆体的最大用量 参数则为 Xmx 一般说来 我并不建议您设定 Xmx 原因很简单 因为一旦您设定了 Xmx 那么 JVM 所抓取的记忆体量到了这个值之后 便不会再抓取记忆体 也就是说您的程式将无法执行 我们看看底下的结果     C:\\java\\tmp> java Xmx testHeap               Exception in thread main java lang OutOfMemoryError            C:\\java\\tmp>    cha138/Article/program/Java/JSP/201311/19789

相关参考

知识大全 java图片裁剪原理

  总体思想  前台网页用js得到裁剪图片的id及xy宽度和高度  服务端根据id取出要裁剪的图片  根据这些参数来生成裁剪的图像后台代码如下  java代码  packagewodexiangce;

知识大全 Java通过System.getProperties()获取系统参数

Java通过System.getProperties()获取系统参数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 Java Socket重要参数讲解

JavaSocket重要参数讲解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JavaSock

知识大全 在Eclipse中运行带参数的 Java 程序

在Eclipse中运行带参数的Java程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishi

知识大全 Java 传递对象给期望原始类型参数的方法

Java传递对象给期望原始类型参数的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  术语au

知识大全 Java虚拟机几个命令行参数说明

Java虚拟机几个命令行参数说明  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一运行class

知识大全 三步教你改善Java代码质量

三步教你改善Java代码质量  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文讨论了如何以递进

知识大全 八个改善Java遗留系统的技巧

八个改善Java遗留系统的技巧  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  你没看错就是这个题

知识大全 改善Java企业级应用的可用性

改善Java企业级应用的可用性  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!对一个在线商务站点来说

知识大全 命令行参数

  我们把main成员函数的参数args称为命令行参数args可以用来接收外界传给Java应用程序的参数下面我们举一个例子来看看参数传递的具体过程  classdoRect      publicst