132.提升Java性能的方法

1.不要在循环里面计算(如果在循环里面计算,每循环一次就计算一次,这会降低系统效率)

例:while(i

2.尽量把不变的属性、方法、数组等声明为final static

例:public final static  String[] cums = {"零","壹","贰","叁","肆","伍","陆","柒","玐","玖"} ; 这样,它只会在类加载的时候创建,以后直接使用。如果在方法里面声明非final static的数组,则每次调用该方法,就会重新生成一个数组,从而消耗了系统性能

3.缩小变量的作用范围

关于变量,能定义在方法内的就定义在方法内,能定义在一个循环体内的就定义在一个循环体内,能在try-catch中的就放在try-catch,其目地就是加快GC的回收

4.频繁的字符串操作使用StringBuffer或StringBuilder

5.使用非线性检索

如果在ArrayList中存储了大量数据,检索应该使用java.util.Collections.binarySearch()进行检索。(它使用的是二分搜索法,在检索前应该先排序,否则准确性不可靠)

ArrayList中的少量数据用自身的indexOf()方法,它是逐个元素进行比较

6.覆写Exception的fillInStackTrace

7.不建立冗余对象

例如下面这段代码:变量exceptionMsg,在调用刚方法的时候,变量就创建了,但是只有当catch,才会用到该变量,没出问题的时候是不会用到该变量的。正确的做法是把该变量声明到catch语句中(这点就相当于第3点,缩小变量的作用域)

总结:

133.若非必要,不要克隆对象

克隆对象并不比直接生成对象高

java151和152_编写高质量代码:改善Java的151个建议(性能和效率)132-133相关推荐

  1. java 151建议_编写高质量代码改善java程序的151个建议——导航开篇

    前言 系列文章: 下个星期度过这几天的奋战,会抓紧java的进阶学习.听过一句话,大哥说过,你一个月前的代码去看下,惨不忍睹是吧.确实,人和代码一样都在成长,都在变好当中.有时候只是实现功能的编程,长 ...

  2. 编写高质量代码:改善Java程序的151个建议(第1章:JAVA开发中通用的方法和准则___建议1~5)...

                 The reasonable man adapts himself to the world; The unreasonable one persists in trying ...

  3. 编写高质量代码改善程序的157个建议:第87个建议之区分WPF和WinForm的线程模型...

    今天有时间了,继续<编写高质量代码改善程序的157个建议>的阅读,当我阅读到建议87的时候,里面的一些代码示例和文中所说的不一致了,是不是我现在用的是NetFramework 4.0的缘故 ...

  4. 博友的 编写高质量代码 改善java程序的151个建议

    编写高质量代码 改善java程序的151个建议 http://www.cnblogs.com/selene/category/876189.html 转载于:https://www.cnblogs.c ...

  5. Github即将破百万的PDF:编写高质量代码改善JAVA程序的151个建议

    代码是我们前进的基石. 废话不多说直接把本书部分内容展示出来 目录 == 第1章Java开发中通用的方法和准则/1 建议1:不要在常量和变量中出现易混淆的字母/2 建议2:莫让常量蜕变成变量12 建议 ...

  6. 编写高质量代码改善java程序的151个建议——[110-117]异常及Web项目中异常处理

    编写高质量代码改善java程序的151个建议--[110-117]异常及Web项目中异常处理 原创地址:http://www.cnblogs.com/Alandre/(泥沙砖瓦浆木匠),需要转载的,保 ...

  7. 编写高质量代码:改善Java程序的151个建议 --[106~117]

    编写高质量代码:改善Java程序的151个建议 --[106~117] 动态代理可以使代理模式更加灵活 interface Subject {// 定义一个方法public void request( ...

  8. 转载----编写高质量代码:改善Java程序的151个建议(第1章:JAVA开发中通用的方法和准则___建议1~5)...

    阅读目录 建议1:不要在常量和变量中出现易混淆的字母 建议2:莫让常量蜕变成变量 建议3:三元操作符的类型务必一致 建议4:避免带有变长参数的方法重载 建议5:别让null值和空值威胁到变长方法    ...

  9. 编写高质量代码:改善Java程序的151个建议(第9章:多线程和并发___建议125~131)

    建议125:优先选择线程池 建议126:适时选择不同的线程池来实现 建议127:lock与synchronized是不一样的 建议128:预防线程死锁 建议129:适当设置阻塞队列的长度 建议130: ...

  10. 读-秦小波-编写高质量代码:改善java程序的151个建议

    有些建议不太用到,但是用到的时候如果不注意就会进坑,所以书名改成java的151个坑更合适. 不要在常量和变量中出现易混淆的字母 包名全小写,类名首字母全大写,常量全大写下划线分割,变量驼峰: 字母l ...

最新文章

  1. MindSpore技术理解(下)
  2. 如何 给给软件开发 添加 代理_如何与软件开发公司有效沟通
  3. 医药行业进销存软件 零售药店管理软件
  4. 向前差分格式 matlab,热传导方程向前差分格式的matlab程序
  5. (VUM验证学习11) 使用ahb vip对GPIO进行验证框架搭建,寄存器模型集成和测试点拆解编写
  6. 金蝶旗舰版固定资产计提折旧报错‘费用分配表所引用的*是非明细的核算项目’,如何解决?
  7. Apache开启rewrite重写模块
  8. mysql一对多查询_MySQL 一对多查询
  9. html document自动加载,document.html
  10. VS插件--Resharper
  11. Cesium 日常问题整理
  12. 用批处理文件实现文件夹加密
  13. Android设备用指令查看设备mac地址的两种方法
  14. Unity Animator 动画没切换
  15. mac搜索文件为什么啥都搜不出来?
  16. 浏览器兼容性问题总结
  17. VSCode 安装教程(超详细)
  18. Non-Salient Region Object Mining for Weakly Supervised Semantic Segmentation
  19. 硬盘分区损坏后数据恢复方法[分区恢复,分区修复,分区丢失,数据恢复,数据丢失,数据修复]
  20. Apache Flink

热门文章

  1. 从Iris数据集开始---机器学习入门
  2. .Net基础篇_学习笔记_第六天_For循环语法
  3. ios笔记-单例文字代码详解
  4. 省市区三级联动菜单(附数据库)
  5. Kendo UI开发教程(25): 单页面应用(三) View
  6. UML基础与应用系列文章汇总
  7. Java线程安全策略
  8. 前端基础知识(持续更新中)
  9. 智能交通|智慧产业园区管理系统集成搭建
  10. 如何使用@vue/cli 3.0在npm上创建,发布和使用你自己的Vue.js组件库