如何利用java开发高性能、高并发web应用
29页1、如何用Java进行高性能网站开发,Java程序性能优化技巧,生成对象时,合理分配空间和大小: Java中的很多类都有它的默认的空间分配大小,对于一些有大小的对象的初始化,应该预计对象的大小,然后使用进行初始化。 例如:我们在使用Vector,当声明Vector vectnew Vector()时,系统调用: public Vector() / 缺省构造函数 this(10); / 容量是 10; 缺省分配10个对象大小容量。当执行add方法时,可以看到具体实现为: public synchronized boolean add(Object o) modCount+; ensureCapacityHelper(elementCount+1); elementDataelementCount+ =o; return true; ,Java程序性能优化技巧,生成对象时,合理分配空间和大小: private void ensureCapacityHelper(int minCapacity) int oldCapacity = elementData.length; if (minCapac
2、ity oldCapacity) Object oldData = elementData; int newCapacity = (capacityIncrement 0) ? (oldCapacity + capacityIncrement) : (oldCapacity * 2); if (newCapacity minCapacity) newCapacity = minCapacity; elementData = new ObjectnewCapacity; System.arraycopy(oldData, 0, elementData, 0, elementCount); 我们可以看到,当Vector大小超过原来的大小时,一些代码的目的就是为了做容量的扩充,在预先知道该Vector大小的话,可以指定其大小,避免容量扩充的开销。,Java程序性能优化技巧,优化循环体: 循环是比较重复运行的地方,如果循环次数很大,循环体内不好的代码对效率的影响就会被放大而变的突出。让我们看看下面的代码片: Vector vect = new Vector(1000); . for( inti
3、=0; ivect.size(); i+) . for循环部分改写成: int size = vect.size(); for( int i=0; isize; i+) . 如果size=1000,就可以减少1000次size()的系统调用开销,避免了循环体重复调用。,Java程序性能优化技巧,优化循环体: 再看如下的代码片: for (int i = 0;i 100000;i+) if (i%10 = 9) . / 每十次执行一次 改写成也可以提高效率: for(inti =0,j =10; i100000; i+,j-) if(j = 0) . / 每十次执行一次 j = 10; 所以,当有较大的循环时,应该检查循环内是否有效率不高的地方,寻找更优的方案加以改进。,Java程序性能优化技巧,少用new初始化一个实例: 尽量少用new来初始化一个类的实例,当一个对象是用new进行初始化时,其构造函数链的所有构造函数都被调用到,所以new操作符是很消耗系统资源的,new一个对象耗时往往是局部变量赋值耗时的上千倍。同时,当生成对象后,系统还要花时间进行垃圾回收和处理。 当new创建对象不
4、可避免时,注意避免多次的使用new初始化一个对象。 尽量在使用时再创建该对象。如: NewObject object = new NewObject(); int value; if(i0 ) value =object.getValue(); ,少用new初始化一个实例: 上面一段代码可以修改为: int value; if(i0 ) NewObject object = new NewObject(); Value =object.getValue(); 另外,应该尽量重复使用一个对象,而不是声明新的同类对象。一个重用对象的方法是改变对象的值,如可以通过setValue之类的方法改变对象的变量达到重用的目的。,Java程序性能优化技巧,选择合适的方法调用: 在Java中,一切都是对象,如果有方法(Method)调用,处理器先要检查该方法是属于哪个对象,该对象是否有效,对象属于什么类型,然后选择合适的方法并调用。 可以减少方法的调用,同样一个方法: public void CallMethod(int i ) if( i =0 ) return; . / 其他处理 如果直接调用, i
《如何利用java开发高性能、高并发web应用》由会员xzh****18分享,可在线阅读,更多相关《如何利用java开发高性能、高并发web应用》请在金锄头文库上搜索。
爱心树活动教案
世界文化之旅0
七年级学年知识归纳
七年级历史下册第二单元第12课《蒙古的兴起和元朝的建立》课件人教新课标版
一片美丽的叶子
非谓语动词 (6)
[中学联盟]江苏省太仓市第二中学七年级英语上册教学课件:Unit3READING1 (2)
“数与代数”教材修订说明
2014年7月师院培训
字理教学快捷入门之一20140521s
议论文写作指导之新材料作文审题立意 (2)
压缩语段 (2)
琵琶行课件 (2)
2014年各年级的教学计划和建议
(苏教版)五年级数学下册找规律第二课时
秋姑娘的信 (5)
苏教版数学五年级上册《复式条形统计图》课件 (2)
【名校课时通】2014届九年级化学全册第二单元探秘水世界第三节原子的构成名师教学课件鲁教版
《逻辑与语文》课件2
《检阅》[1]
2021-04-07 29页
2018-10-15 35页
2018-10-15 40页
2018-10-15 87页
2018-10-15 12页
2018-10-15 12页
2018-10-15 33页
2018-10-15 21页
2018-10-15 89页