文档章节

java代码效率优化

踏破铁鞋无觅处
 踏破铁鞋无觅处
发布于 10/15 21:36
字数 680
阅读 7
收藏 0

1、 尽量指定类的final修饰符 带有final修饰符的类是不可派生的。 

2、 尽量重用对象。 

3、 尽量使用局部变量,调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(Stack)中,速度较快。

4、 不要重复初始化变量 

5、 在JAVA + ORACLE 的应用系统开发中,java中内嵌的SQL语句尽量使用大写的形式,以减轻ORACLE解析器的解析负担。

6、 Java 编程过程中,进行数据库连接、I/O流操作时务必小心,在使用完毕后,即使关闭以释放资源。 

7、 由于JVM的有其自身的GC机制,不需要程序开发者的过多考虑,从一定程度上减轻了开发者负担,但同时也遗漏了隐患,过分的创建对象会消耗系统的大量内 存,严重时会导致内存泄露,因此,保证过期对象的及时回收具有重要意义。

8、 在使用同步机制时,应尽量使用方法同步代替代码块同步。

9、 尽量减少对变量的重复计算

10、尽量采用lazy loading 的策略,即在需要的时候才开始创建。

11、慎用异常 

12、不要在循环中使用: 
Try { 
} catch() { 

应把其放置在最外层。

13、StringBuffer 的使用,可以通过StringBuffer的构造函数来设定它的初始化容量,这样可以明显地提升性能,无论何事只要StringBuffer到达它的最大容量它就不得 不创建一个新的字符数组然后重新将旧字符和新字符都拷贝一遍。

14、合理的使用Java类 java.util.Vector。 Vector的初始存储能力 是10个元素,如果新元素加入时存储能力不足,则以后存储能力每次加倍。Vector类就对象StringBuffer类一样,每次扩展存储能力时,所有 现有的元素都要复制到新的存储空间之中。

15、当复制大量数据时,使用System.arraycopy()命令。

16、代码重构:增强代码的可读性。

17、不用new关键词创建类的实例 

18、乘法和除法,用移位操作替代乘法操作可以极大地提高性能。

19、在JSP页面中关闭无用的会话。 

本文转载自:http://blog.163.com/user_zhaopeng/blog/static/16602270820122105731329/

共有 人打赏支持
踏破铁鞋无觅处
粉丝 2
博文 94
码字总数 32250
作品 0
海淀
程序员
私信 提问
【转】浅谈Java与C/C++的性能对比

大多数程序员都认为C/C++会比Java语言快,甚至于觉得从Java语言诞生以来,“执行速度缓慢”的帽子就应当被扣在头顶,这种观点的出现是由于Java刚出现的时候JIT编译技术还不成熟,主要靠解释器...

mj4738
2011/11/29
0
13
01-《深度拆解JVM》之Java代码是怎么运行的?

一、Java代码的运行方式 可以在开发工具中运行 可以双击执行 jar 文件运行 可以在命令行中运行 可以在网页中运行 当然,这些执行方式都离不开 JRE,也就是 Java 运行时环境。实际上,JRE 仅包...

飞鱼说编程
09/07
0
0
给Java字节码加上”翅膀“的JIT编译器

给Java字节码加上”翅膀“的JIT编译器 上面文章在介绍Java的内存模型的时候,提到过由于编译器的优化会导致重排序的问题,其中一个比较重要的点地方就是关于JIT编译器的功能。JIT的英文单词是...

九劫散仙
06/20
0
0
01《深入拆解JVM》之Java代码是怎么运行的?

本人本来也想买极客时间中Oracle 高级研究员,计算机博士郑雨迪老师的《深入拆解Java虚拟机》的专栏,但是朋友刚好买了,可以直接邀请我读,也就省去我的银子。由于知识版权原因,不能直接分...

飞鱼说编程
07/24
0
2
读《深入理解Java虚拟机》- 笔记08

《深入理解Java虚拟机:JVM高级特性与最佳实践》第2版 第10章 早期(编译期)优化 59. 语法糖 在计算机语言中添加某种语法,对语言的功能没有影响,但是方便开发人员使用。 泛型是一种语法糖...

阿历Ali
08/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

十月开源项目推荐:专为 Python 初学者准备的 IDE 你用过吗?

每月新增开源项目。顾名思义,每月更新一期。我们会从社区上个月新收录的开源项目中,挑选出有价值的、有用的、优秀的、或者好玩的开源项目来和大家分享。数量不多,但我们力求推荐的都是精品...

编辑部的故事
11分钟前
5
0
Java/Android 获取文件夹的文件列表(file.listFiles())并按名称排序,中文优先

排序规则 因为是中国人,习惯性看中文文件夹放前面比较顺眼,所以在别人博客(https://blog.csdn.net/da_caoyuan/article/details/56664673)的基础上,加上了自己的排序规则。 默认排序规则...

她叫我小渝
12分钟前
0
0
RabbitMQ通过shovel插件迁移数据

前言 生产环境中会遇到RabbitMQ数据迁移的场景,例如:切换云服务厂商、不同Region之间数据迁移、新搭建RabbitMQ实例,数据需要同步至新的RabbitMQ实例。 前提条件: 源RabbitMQ实例打开了s...

中间件小哥
15分钟前
0
0
kubernetes 环境搭建

kubernetes 简介:Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful)。 点击此处查看官网详情。...

MrPei
30分钟前
1
0
关于scala macro的example

http://www.bbartosz.com/blog/2016/09/24/fun-with-scalameta-examples-part1/

Littlebox
31分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部