云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > Java编码规范

Java编码规范

  • 62 次阅读
  • 3 次下载
  • 2026/4/27 17:16:09

try {

statements;

} catch (exception-declaration) {

statements; } try {

statements; } finally {

statements; } try { statements;

} catch ( exception-declaration) {

statements; } finally {

statements; } 8.2.8

synchronized语句

synchronized (expression) {

statements; }

8.3 标签语句

标签语句通常用花括号封装,而标签本身则应在单独一行,后面跟一个冒号。 例如: statement-label: {

}// statement-label

9 性能优化常识

9.1 前提

首先让程序运行起来,再考虑变得更快--但只有在自己必须这样做、而且经证实在某部分代码中的确存在一个性能瓶颈的时候,才应进行优化。除非用专门的工具分析瓶颈,否则很有可能是在浪费自己的时间。性能提升的隐含代价是自己的代码变得难于理解,而且难于维护。

对于像字符串的连接操作不使用\+\而使用专有方法 concat等其他方法,这类问题,则不能称为性能优化,而只能叫做基本常识。因而这类问题的解决并不能影响程序的可读性和易维护性,所以我们提倡为性能优化打基础。以下将介绍一些常识:

9.2 运算时间

运算 示例 标准时间 本地赋值 i=n;

1.0

1.2

实例赋值 this.i=n; Int增值 i++;

1.5

Byte增值 b++; 2.0 Short增值 s++; 2.0 Float增值 f++;

2.0

Double增值 d++; 2.0 空循环

while(true) n++;

2.0

三元表达式 (x<0)?-x:x; 2.2

2.5

算术调用 Math.abs(x); 数组赋值 a[0]=n; 2.7 Long增值 l++;

3.5

方法调用 funct(); 5.9 Throw 或者catch 违例

Try{throw e;} 320

同步方法调用 synchMethod(); 570 新建对象 new Object(); 980 新建数组 new int[10];

3100

标准时间 = 语句执行时间/本地赋值时间

9.3 java.lang.String

字串的开销:字串连接运算符\+\看似简单,但实际需要消耗大量系统资源。编译器可高效地连接字串,但变量字串却要求可观的处理器时间。该操作要创建并拆除一个StringBuffer对象以及一个String对象。

上述问题的通常解决方法是新建一个StringBuffer(字串缓冲),用append方法追加自变量,然后用toString()将结果转换回一个字串。当要追加多个字串,则可考虑直接使用一个字串缓冲--特别是能在一个循环里重复利用它的时候。通过在每次循环里禁止新建一个字串缓冲,可节省980单位的对象创建时间(见上表)。

更有效的解决办法是:在构造 StringBuffer 时,应该粗略的估计出它最终的总长度。默认构造函数预设了16个字符的缓存容量。append()方法首先计算字符串追加完成后的总长度,如果这个总长度大于StringBuffer的存储能力,append()方法调用私有的expandCapacity()方法。expandCapacity()方法在每次被调用时使StringBuffer存储能力加倍,并把现有的字符数组内容复制到新的存储空间。存储能力的扩展,从而导致了两次代价昂贵的复制操作。因此,我们至少有一电可以做得比编译器更好,这就是分配一个初始存储容量大于或者等于最终字符长度StringBuffer。

因此,使用默认构造函数创建的StringBuffer在字符串连接操作上的效率其实和用\+\是一样的。如果首先估计出整个字符串最终的总长度,才会显著提高效率!

沈阳东软软件股份有限公司 版权所有 2006 19 JAVA 编码规范

其他的字符串运算操作尽可能使用 String 已经提供的方法。比如,短字符串的连接可以使用 concat;子串的查找可以使用 indexOf,substring 等。

9.4 java.util.Vector

一个Vector就是一个java.lang.Object实例的数组。Vector与数组相似,它的元素可以通过整数形式的索引访问。但是,Vector类型的对象在创建之后,对象的大小能够根据元素的增加或者删除而扩展、缩小。

1) 避免把新元素添加到Vector 的最前面

除非有绝对充足的理由要求每次都把新元素插入到Vector的前面,否则对性能不利。在默认构造函数中,Vector的初始存储能力是10个元素,如果新元素加入时存储能力不足,则以后存储能力每次加倍。Vector类就象StringBuffer类一样,每次扩展存储能力时,所有

搜索更多关于: Java编码规范 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

try { statements; } catch (exception-declaration) { statements; } try { statements; } finally { statements; } try { statements; } catch ( exception-declaration) { statements; } finally { statements; } 8.2.8 synchronized语句 synchro

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com