欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

JAVA性能优化总结,

来源: javaer 分享于  点击 23645 次 点评:111

JAVA性能优化总结,


  我们知道JAVA语言与C语言的其中一个区别就是JVM中有垃圾回收器可以通过对运行中的对象进行判断是否存活并且将在内存中已经不在使用的对象进行回收释放其所占用的内存,而C语言需要进行手动的释放内存,1个对象的创建使用释放都需要程序进行显式的操作。当然不管是C还是JAVA都有自己适合的开发领域。
  对于代码性能优化,对于项目前期由于前期数据量并不是太大但是随着时间的推移数据量的激增,如果没有良好的编码习惯后期会带来较大的性能开销,故项目初期编码过程应养成良好的习惯避免后期繁重的codereview等。
  本篇博客将笔者在工作过程中遇到的性能瓶颈以及在其中是如何进行优化进行记录,以便后续有相关需求的小伙伴进行采纳借鉴。
***

对象篇

  在JMM中(JAVA内存模型)中保存对象的开销其实是相当大的,并且JMM要求对象必须按照8个字节对齐,虽然JMM会提供对字段的重排序来避免用户随意指定对象字段的顺序以此来尝试各个字段重排达到降低整体的对象开销。但是即使是这样1个空的String对象仍然得占用 对象头(8 字节)+ 引用 (4 字节 ) + char 数组(16 字节)+ 1个 int(4字节)+ 1个long(8字节)= 40 字节 如果在程序过程中产生大量的对象无疑会加重GC的工作。因此在实际编码过程中应该避免创建大量的对象,在不影响代码可读性及程序并发问题时,应该尽可能复用已有的对象,减轻GC的压力。

final String aa = "a"
final String bb = "b"
System.err.println((aa + bb) == (aa + bb));//true

相关文章

    暂无相关文章
相关栏目:

用户点评