性能优化实现方式(单纯考虑代码层面):

1.减小代码体积

2.提高运行效率

如何做:

1.尽量指定类.方法的final修饰符

带有final修饰的类是不可派生的,该类所有的方法都是final的,java编译器会寻找机会内联所有的final方法,有助于提高运行效率.

2.尽量复用对象

对象的创建和维护都会花费java虚拟机的精力,特别是String对象的使用,出现的字符串连接要使用StringBuilder/StringBuffer来替代+号,因此,生成过多的对象将会给虚拟机带来不必要的负担;

3.及时关闭流

使用I/O流对数据进行操作是会对系统造成非常大的负担,用完要及时close;

4.不要在循环语句中进行复杂的处理,以及一些异常处理,应该把这些提取到循环外层

例如try...catch...应该放在外层

5.循环内不要进行对象的频繁创建,除非不得已的情况下;

6.尽量使用HashMap、ArrayList、StringBuilder,除非对线程安全有需求,不推荐使用HashTable、Vector、StringBuffer后三者因为做了同步机制对性能有较高的要求;

7.清除不需要的会话;

8.将常量声明为static final,并且用大写来命名

9.不创建一些不使用的对象,不导入一些不使用的包

10.程序运行过程中避免使用反射,可以考虑在项目启动的时候通过反射创建对象并且加载到内存中

发射是java非常强大的一个功能,但是功能强大的同时也意味着效率不高,尤其是Method的invoke方法

11.使用数据库连接池和线程池

这样前者可以避免频繁的打开和关闭流,后者可以避免频繁的创建和销毁线程;

12.使用带缓冲的流进行I/O操作

13.public修饰的方法中形参最对不要超过3个

形参过多会导致方法的容错率降低,如果有很多方法可以用实体类包装传递;

14.在使用equals的时候把常量放在前面

这样可以避免空指针异常

15.不要对数组使用toString()方法

因为对数组使用只会打印出一串对象地址,而且有可能因为数据引用is为空而导致空指针异常,不过可以对集合使用toString()方法,因为集合的父类AbstractCollections重写了toString()方法;

16.不要对超出数据范围的基本数据类型做向下的强制类型转换,会导致精度损失

17.对基本数据类型转换为字符串最快的方式是toString(),其次是String.valueOf(数据),再次是+"" 最慢

18.对资源的关闭建议分开操作

例如

try{

stream.close();

fileInPutStream.close();

}catch(Exception e){

.....

}

建议修改为

try{stream.close}catch(Exception e){....}

try{fileInPutStream.close()}catch(Exception e){....}

第一种写法,假如stream流出了问题,抛了异常,那么fileInPutStream就无法关闭,这样代码一多,就有可能引起资源句柄泄露.

第二种写法虽然麻烦但是无论如何都会关闭,更加安全,当然也可以使用finall来关闭.

Java性能优化的小细节的更多相关文章

  1. Java 性能优化的55个细节(珍藏版)

    在Java程序中,性能问题的大部分原因并不在于Java语言,而是程序本身.养成良好的编码习惯非常重要,能够显著地提升程序性能. 1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间 ...

  2. java 性能优化(代码优化)

    参考博文: java 性能优化:35 个小细节,让你提升 java 代码的运行效率

  3. 《Java性能优化权威指南》

    <Java性能优化权威指南> 基本信息 原书名:Java performance 原出版社: Addison-Wesley Professional 作者: (美)Charlie Hunt ...

  4. Java 性能优化手册 — 提高 Java 代码性能的各种技巧

    转载: Java 性能优化手册 - 提高 Java 代码性能的各种技巧 Java 6,7,8 中的 String.intern - 字符串池 这篇文章将要讨论 Java 6 中是如何实现 String ...

  5. 44个Java性能优化

    44个Java性能优化 首先,代码优化的目标是: 减小代码的体积 提高代码运行效率 代码优化细节 1 .尽量指定类.方法的final修饰符 ​ 带有final修饰符的类是不可派生的.在Java核心AP ...

  6. 推荐:Java性能优化系列集锦

    Java性能问题一直困扰着广大程序员,由于平台复杂性,要定位问题,找出其根源确实很难.随着10多年Java平台的改进以及新出现的多核多处理器,Java软件的性能和扩展性已经今非昔比了.现代JVM持续演 ...

  7. JVM——九大工具助你玩转Java性能优化

    本文转载自 http://www.importnew.com/12324.html 本文由 ImportNew - 陈 晓舜 翻译自 idrsolutions.欢迎加入翻译小组.转载请参见文章末尾的要 ...

  8. Java 性能优化的五大技巧

    要对你的 Java 代码进行优化,需要理解 Java 不同要素之间的相互作用,以及它是如何与其运行时的操作系统进行交互的.使用下面这五个技巧和资源,开始学习如何分析和优化你的代码吧. 在我们开始之前, ...

  9. 【转】10种简单的Java性能优化

    10种简单的Java性能优化 2015/06/23 | 分类: 基础技术 | 14 条评论 | 标签: 性能优化 分享到: 本文由 ImportNew - 一直在路上 翻译自 jaxenter.欢迎加 ...

随机推荐

  1. 新建Servlet工程——IDEA

    Servlet是sun公司提供的一套接口规范,是运行在服务端的java程序.实现了Servlet的类能够被服务器识别,而普通的java类不能被识别. 1.新建工程 2. 3.工程名字“: 4.在WEB ...

  2. Spring Boot 多站点利用 Redis 实现 Session 共享

    如何在不同站点(web服务进程)之间共享会话 Session 呢,原理很简单,就是把这个 Session 独立存储在一个地方,所有的站点都从这个地方读取 Session. 通常我们使用 Redis 来 ...

  3. 【POJ - 3723 】Conscription(最小生成树)

    Conscription Descriptions 需要征募女兵N人,男兵M人. 每招募一个人需要花费10000美元. 如果已经招募的人中有一些关系亲密的人,那么可以少花一些钱. 给出若干男女之前的1 ...

  4. H5当弹出弹窗遮罩时如何阻止滚动穿透(使用css方式)

    最近的一个H5活动中有一个是点击[分享]弹窗指引遮罩弹窗引导用户进行分享,但突然发现弹出弹窗的时候下层仍然可以进行滑动,这个问题是个H5经久不衰讨论的问题,重点是我这个页面在安卓系统上有明显的滑动闪烁 ...

  5. FormatMessage将错误代码转换成对应的字符串

    // ConsoleApplication1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" int _tmain(int argc, _T ...

  6. 读取unicode日志文件并清除记录的垃圾文件

    //读取unicode文件,并清除记录的垃圾文件 //参数1:日志文件路径 bool ReadFilePath(const wchar_t *DataFilePath) { wchar_t ChBuf ...

  7. Android类似日历的翻转控件

    最近写了个翻转面板的控件拿出来与大家分享一下,类似日历的那种,写的比较简单有需要的可以直接拿去用.直接上效果图吧,代码我放在百度云了,有问题的话直接回复就好呢,大家一起交流下. http://pan. ...

  8. 01、JDBC连接

    ① 下载JDBC-MySQL数据库驱动 链接:https://pan.baidu.com/s/1KtSZZ5hXlxu2QrmsXg3lkA 提取码:1pbl ② 加载JDBC-MySQL数据库驱动 ...

  9. python串口助手

    最近项目中要使用模拟数据源通过向外发送数据,以前都是用C#编写,最近在研究python,所以就用python写了一个串口助手,方便以后的测试. 在电脑上通过虚拟串口助手产生两个虚拟串口,运行编写的串口 ...

  10. 2019 中国.NET 开发者峰会正式启动

    2014年微软组织并成立.NET基金会,微软在成为主要的开源参与者的道路上又前进了一步.2014年以来已经有众多知名公司加入.NET基金会,Google,微软,AWS三大云厂商已经齐聚.NET基金会, ...