易截截图软件、单文件、免安装、纯绿色、仅160KB

java程序性能

Java使得复杂应用的开发变得相对简单,毫无疑问,它的这种易用性对Java的大范围流行功不可没。然而,这种易用性实际上是一把双刃剑。一个设计良好的Java程序,性能表现往往不如一个同样设计良好的C++程序。在Java程序中,性能问题的大部分原因并不在于Java语言,而是在于程序本身。养成好的代码编写习惯非常重要,比如正确地、巧妙地运用java.lang.String类和java.util.Vector类,它能够显著地提高程序的性能。下面我们就来具体地分析一下这方面的问题。
  在java中,使用最频繁、同时也是滥用最多的一个类或许就是java.lang.String,它也是导致代码性能低下最主要的原因之一。请考虑下面这个例子:
String s1 = "Testing String";
String s2 = "Concatenation Performance";
String s3 = s1 + " " + s2;
  几乎所有的Java程序员都知道上面的代码效率不高。那么,我们应该怎么办呢?也许可以试试下面这种代码:
StringBuffer s = new StringBuffer();
s.append("Testing String");
s.append(" ");
s.append("Concatenation Performance");
String s3 = s.toString();
  这些代码会比第一个代码片段效率更高吗?答案是否定的。这里的代码实际上正是编译器编译第一个代码片段之后的结果。既然与使用多个独立的String对象相比,StringBuffer并没有使代码有任何效率上的提高,那为什么有那么多的Java书籍批评第一种方法、推荐使用第二种方法?
  第二个代码片段用到了StringBuffer类(编译器在第一个片段中也将使用StringBuffer类),我们来分析一下StringBuffer类的默认构造函数,下面是它的代码:
public StringBuffer() { this(16); }
  默认构造函数预设了16个字符的缓存容量。现在我们再来看看StringBuffer类的append()方法:
public synchronized StringBuffer append(String str) {
if (str == null) {
str = String.valueOf(str);
}
int len = str.length();
int newcount = count + len;
if (newcount > value.length) expandCapacity(newcount);
str.getChars(0, len, value, count);
count = newcount; return this;
}
  append()方法首先计算字符串追加完成后的总长度,如果这个总长度大于StringBuffer的存储能力,append()方法调用私有的expandCapacity()方法。expandCapacity()方法在每次被调用时使StringBuffer存储能力加倍,并把现有的字符数组内容复制到新的存储空间。
  在第二个代�


相关文档:

第二章 Java Project搭建

 
新建java项目,需要建立如图所示的包结构(这图是后面补上的,所以里面有建好的类):
 
 
点击项目,右键选择-》属性-》添加自定义库:
 
 
坚持以最少包原则,例如:
 
 
完成如下图所示:
 
 
 
项目结构大致如下:
 
 
对BookService� ......

JAVA 动态构建树

1.       对自己的总结和理解的升华是我喜欢做的一件事,在实际项目过程中,很多地方都用到动态生成树形菜单的地方,现在就给大家讲讲如何动态生成一棵树。
2.       首先我们必须要建立树的节点模型,其实树的节点模型中往往就是我们需要存放的数据对象,很 ......

JAVA学习之路:不走弯路,就是捷径(一)

0.引言
在ChinaITLAB导师制辅导中,笔者发现问得最多的问题莫过于"如何学习编程?JAVA该如何学习?"。类似的问题回答多了,难免会感觉厌烦,就萌生了写下本文的想法。到时候再有人问起类似的问题,我可以告诉他(她),请你去看看《JAVA学习之路》。拜读过台湾蔡学镛先生的《JAVA夜未眠》,有些文章如《JAVA学习之道》等� ......

java错题集


正多边形中最长的对角线就是主对角线,其余的对角线就是副对角线
lang 是 language(语言) 的简写
是java中常用方法最多的包
包含常用类
 
 
 
Runnable接口,只有一个方法run()
exit(int status)
          终止当前正在运行的 Jav ......

java学习方法总结

如果你java已经入门了,建议你先不去想代码。而是去想完成任务要做的步骤。想好了后哪怕你去粘贴代码都可以。编程是考验的思维,不是写代码的速度,和对代码的记忆性。
编程是一件经验活, 不是看书能解决的, 编程中遇到的问题千奇百怪, 根本不是一本书或者n本能给你解决的,必须自己亲自去体会
 
所以, 找本有实例� ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号