再论java程序性能小优化(太多了,网上到处都是,不多说,略说一二,我经常不注意的小项!我的博客处女作)

       经常来CSDN看看各个技术专家们的博客,确实是太多的牛人了,经常为他们独特的见解或者层层深入的分析感到高兴感到欣喜,每遇到这种技术文章,都会耐心的品味和学习!我承认,自己还是一个初出茅庐的程序猿毕业生,游览器收藏夹满满的全是各种技术文章技术问题的收藏,还分着各种文件夹,自己确“懒得”也写写博客记录自己的见解和学到的知识和大家一块分享,也许是没养成习惯吧,这种技术类的,这种电子式的习惯,有点效率低的感觉,真的有点不习惯,因为自己还得给写作文一样组织好语言,组织好代码,我作文一项不咋滴,数理化还是很可以的。

       今天不知道为啥,翻看着这程序优化类的文章,忽然来了个雅兴,对着开通不久的CSDN博客第一次敲起键盘,尽管不是100%的原创,但也算自己的一个尝试,再说了自己好不容易有这个“情怀”和兴致!希望这是我记录归纳总结和大家一起分享这一习惯的开始吧。

       关于java程序性能优化文档书籍还是有几本的,网上文档一搜很多,耐心的看下来,就比较基础或规范的层次来说,也就那么常见的“几点”,下边我就“摘录”几点吧。

一、使用条件操作符替代"if (cond) return; else return;"结构

//条件操作符更加的简捷
//例子:
public class if {
public int method(boolean isdone) {
if (isdone) {
return 0;
} else {
return 10;
}
}
}
//更正:
public class if {
public int method(boolean isdone) {
return (isdone ? 0 : 10);
}
}
二、不要在循环体中实例化变量
//在循环体中实例化临时变量将会增加内存消耗
//例子:
import java.util.vector;
public class loop {
void method (vector v) {
for (int i=0;i < v.size();i++) {
object o = new object();
o = v.elementat(i);
}
}
}
//更正:
//在循环体外定义变量,并反复使用
import java.util.vector;
public class loop {
void method (vector v) {
object o;
for (int i=0;i<v.size();i++) {
o = v.elementat(i);
}
}
}
三、尽可能的使用栈变量

/*如果一个变量需要经常访问,那么你就需要考虑这个变量的作用域了。static? local?还是实例
变量?访问静态变量和实例变量将会比访问局部变量多耗费 2-3 个时钟周期。
例子:*/
public class usv {
void getsum (int[] values) {
for (int i=0; i < value.length; i++) {
_sum += value[i]; // violation.
}
}
void getsum2 (int[] values) {
for (int i=0; i < value.length; i++) {
_staticsum += value[i];
}
}
private int _sum;
private static int _staticsum;
}
/*更正:
如果可能,请使用局部变量作为你经常访问的变量。
你可以按下面的方法来修改 getsum()方法:*/
void getsum (int[] values) {
int sum = _sum; // temporary local variable.
for (int i=0; i < value.length; i++) {
sum += value[i];
}
_sum = sum;
}
写到了这了,看博文的你,肯定会说:我擦,老子都把裤子脱了,你就让我看这个!然后不屑的你离开了.....

       确实是,我很理解你们的心情,《java性能优化--让程序跑的更快、更稳》《effictive java》里边也有相关涉及,网上文章文档更是一堆,我都有很多这类小文档,我都读了不下5遍了,翻来覆去不就是它们吗,而且JVM优化更显得重要些吧。

       但我5遍以后再看它们,我觉得自己确实知道,但平常怎么很少注意呢,即使注意了感觉也没作用呢,有时候还被别人叫做“死脑筋”。确实是,一些事要根据“情形”而定吗,本来吃的很多,一点也饿不死,何必非争着省那么一个米粒儿呢,在这个基础上每个人都有不同见解。

这,不是性能优化不优化高不高的问题,而是一种合理性的规范问题!当一件小事认认真真做成一种习惯时,真正的大事到来时,就会游刃有余,梦想也是一样!

让规范成为习惯.....

       第一次写,忐忑,不知所云......

    对了,对性能优化或者java技术感兴趣的童鞋,推荐读读《深入理解Java虚拟机:JVM高级特性与最佳实践》这本书,很不错,国人书中的精品,很有助于你性能优化方面的知识。书的电子版:电子版可预览可下载



你可能感兴趣的:(java性能优化,性能优化,java规范,java程序,java程序优化)