展开全部

1)尽量指定类、方62616964757a686964616fe59b9ee7ad9431333433623731法的final修饰符。带有final修饰符的类是不可派生的,Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,此举能够使性能平均提高50%。

2)尽量重用对象。由于Java虚拟机不仅要花时间生成对象,以后可能还需要花时间对这些对象进行垃圾回收和处理,因此生成过多的对象将会给程序的性能带来很大的影响。

3)尽可能使用局部变量。调用方法时传递的参数以及在调用中创建的临时变量都保存在栈中速度较快,其他变量,如静态变量、实例变量等,都在堆中创建速度较慢。

4)慎用异常。异常对性能不利,只要有异常被抛出,Java虚拟机就必须调整调用堆栈,因为在处理过程中创建了一个新的对象。异常只能用于错误处理,不应该用来控制程序流程。

5)乘法和除法使用移位操作。用移位操作可以极大地提高性能,因为在计算机底层,对位的操作是最方便、最快的,但是移位操作虽然快,可能会使代码不太好理解,因此最好加上相应的注释。

6)尽量使用HashMap、ArrayList、StringBuilder,除非线程安全需要,否则不推荐使用 Hashtable、Vector、StringBuffer,后三者由于使用同步机制而导致了性能开销。

尽量在合适的场合使用单例。使用单例可以减轻加载的负担、缩短加载的时间、提高加载的效率,但并不是所有地方都适用于单例。

java程序性能优化_怎么做JAVA程序性能优化相关推荐

  1. 整站SEO优化需要怎么做?SEO整站优化的思路及步骤

    整站SEO优化需要怎么做?整站SEO优化为使网站全体各各细节到达很优的作用,不扔掉任何有关于网站事务的长尾要害词,高掩盖方针客户集体,有层次的定位网站要害词. 和要害词排名不同的时,单纯地进犯几个要害 ...

  2. 怎么在微信上做小程序卖货?怎样做小程序卖货

    如今,微信用户总数非常大,超过7亿,每年仍在快速增长,所以很多人看到了微信业务的商机.买一个小程序卖货是个好主意,那么如何做小程序卖货呢?这三种方法都可以选择. 一.找专业的小程序卖货服务商 如何做小 ...

  3. 实战java虚拟机 百度云_《实战JAVA虚拟机 JVM故障诊断与性能优化》pdf百度云下载...

    内容简介· · · · · · 随着越来越多的第三方语言(Groovy.Scala.JRuby等)在Java虚拟机上运行,Java也俨然成为了一个充满活力的生态圈.<实战Java虚拟机--JVM ...

  4. java 哪一个gc好_优秀的Java程序员必须了解的GC哪些

    作者丨灵犀一脚C http://www.cnblogs.com/ckwblogs/p/5975921.html 一个优秀的Java程序员必须了解GC的工作原理.如何优化GC的性能.如何与GC进行有限的 ...

  5. 招聘java是什么意思_企业招聘Java程序员的标准到底是什么?

    为什么Java程序员找工作那么难?是否市场已经饱和?企业招聘Java程序员的标准是什么?很多找不到工作的Java程序员在经历过几次面试之后,就会对自己的技术能力产生怀疑,然而找工作和"酒香不 ...

  6. java发展前景选兄弟连_兄弟连:Java程序员未来应该如何发展

    兄弟连:Java程序员未来应该如何发展 2017-09-13 | 北京 | 点击59次 | 信息编号:2017913101729121697951254323 广州兄弟连教育:http://gz.it ...

  7. java反编译工具_如何保护Java程序 才能防止Java反编译

    简介:Java是一种跨平台的.解释型语言.Java 源代码编译中间"字节码"存储于class文件中.Class文件是一种字节码形式的中间代码,该字节码中包括了很多源代码的信息,例如 ...

  8. Java程序员情人节_七夕情人节 Java程序员如何表白

    作为程序员都有女朋友吗,木有女朋友的怎么办呢,也许你认为好办,那就一个字,追.看过<爱是从表白开始的>没,怎么着也得有个轰轰烈烈滴表白啊!下面就来看看程序员怎如何在七夕情人节来个创意表白吧 ...

  9. java trace优化_使用Arthas trace定位并优化接口响应慢的问题.md

    ## Arthas trace命令介绍 > **打印方法内部调用路径,并输出方法路径上的每个节点上耗时.** *trace命令只会trace匹配到的函数里的子调用,并不会向下trace多层.因为 ...

最新文章

  1. Spring AOP 知识整理
  2. 封属于旋转轴密封件吗_氧化铝95瓷属于普通型的一种吗?
  3. 世界是一台超级计算机,这个世界其实是一个超级计算机
  4. 奇怪的Residential Gateway Device设备
  5. docker容器日志清理
  6. 如何在Linux中使用sFTP上传或下载文件与文件夹
  7. WinForm开发(36)——WinForm开发微软官方最全综合详解指南(包括bug出现的可能原因分析及解决方法)
  8. OpenWrt--高通QCA9563添加多wan口方法
  9. html动态图片怎么设背景,[gif制作教程]如何把gif动态图片的背景变透明,仍保留有动画效果...
  10. 测量运放的输入偏置电流 - 实验准备
  11. 关于舵轮AGV 的数学模型
  12. 混合移动开发 相关技术梳理(自用)
  13. 数据分析(商业数据分析师理论认知之二商业分析师入门指南)
  14. 【神经网络】Pytorch构建自己的训练数据集
  15. sql子表求和在总表中显示,并参与搜索
  16. 微信小程序实现下载功能(以下载视频为例)
  17. 国外问卷调查是骗人的吗?
  18. ROS-Melodic-Moveit 实时控制UR5机械臂
  19. IRIS平台部署手册及基本操作
  20. 空间转录组整合方法SPOTlight

热门文章

  1. 演练 实现等腰三角形
  2. php 使用 array_reduce 实现多维数组分组(groupby)聚合
  3. python使用print语句时显示特殊字符
  4. 关于Struts2中的值栈与OGNL表达式
  5. 如何防止应用程序泄密?
  6. 华为成功完成中国联通NFV三层解耦测试验证
  7. HashMap Hashtable区别
  8. SwarmKit知多少——来自源码世界的深入解读
  9. 第三章 第一部分 不定积分例题
  10. JavaScript 属性介绍