网站大量收购闲置独家精品文档,联系QQ:2885784924

提高Java网站的性能整理.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
提高Java网站的性能整理

如何用Java进行高性能网站开发 天极传媒 CTO 陈毅 2008.05 Java程序性能优化技巧     生成对象时,合理分配空间和大小: Java中的很多类都有它的默认的空间分配大小,对于一些有大小的对象的初始化,应该预计对象的大小,然后使用进行初始化。   例如:我们在使用Vector,当声明Vector vect=new Vector()时,系统调用: public Vector() {// 缺省构造函数  this(10); // 容量是 10; }   缺省分配10个对象大小容量。当执行add方法时,可以看到具体实现为:.. public synchronized boolean add(Object o) {  modCount++;  ensureCapacityHelper(elementCount+1);  elementData[elementCount++] =o;  return true; } Java程序性能优化技巧     生成对象时,合理分配空间和大小: private void ensureCapacityHelper(int minCapacity) {  int oldCapacity = elementData.length;  if (minCapacity > oldCapacity) {   Object oldData[] = elementData;   int newCapacity = (capacityIncrement > 0) ? (oldCapacity + capacityIncrement) : (oldCapacity * 2);   if (newCapacity < minCapacity) {    newCapacity = minCapacity;   }   elementData = new Object[newCapacity];   System.arraycopy(oldData, 0, elementData, 0, elementCount);  } }   我们可以看到,当Vector大小超过原来的大小时,一些代码的目的就是为了做容量的扩充,在预先知道该Vector大小的话,可以指定其大小,避免容量扩充的开销。 Java程序性能优化技巧     优化循环体: 循环是比较重复运行的地方,如果循环次数很大,循环体内不好的代码对效率的影响就会被放大而变的突出。让我们看看下面的代码片:.. Vector vect = new Vector(1000); ... for( inti=0; i<vect.size(); i++){  ... }   for循环部分改写成: int size = vect.size(); for( int i=0; i>size; i++){  ... }   如果size=1000,就可以减少1000次size()的系统调用开销,避免了循环体重复调用。    Java程序性能优化技巧     优化循环体:   再看如下的代码片:.. for (int i = 0;i <100000;i++) if (i%10 == 9) {  ... // 每十次执行一次 }   改写成也可以提高效率:.. for(inti =0,j =10; i<100000; i++,j--){  if(j == 0){   ... // 每十次执行一次   j = 10;  } }   所以,当有较大的循环时,应该检查循环内是否有效率不高的地方,寻找更优的方案加以改进。 Java程序性能优化技巧     少用new初始化一个实例: 尽量少用new来初始化一个类的实例,当一个对象是用new进行初始化时,其构造函数链的所有构造函数都被调用到,所以new操作符是很消耗系统资源的,new一个对象耗时往往是局部变量赋值耗时的上千倍。同时,当生成对象后,系统还要花时间进行垃圾回收和处理。   当new创建对象不可避免时,注意避免多次的使用new初始化一个对象。   尽量在使用时再创建该对象。如: NewObject object = new NewObject(); int value; if(i>0 ) {  value =object.getValue(); }    Java程序性能优化技巧     少用new初始化一个实例:   上面一段代码可以修改为: int value; if(i>0 ) {  NewObject object = new NewObject();  Value =object.getValue(); }   另外,应

文档评论(0)

chenchena + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档