南京北大青鸟

南京北大青鸟电话

南京北大青鸟学校南京北大青鸟 > 新闻中心 >

南京java培训--关于java代码优化的几条建议

发布时间:2018-09-30 11:29  发布人:南京java培训  发布来源:未知  浏览人数:51

前言:结合自己的工作和平时学习的体验重新谈一下为什么要进行代码优化。在修改之前,作者的说法是这样的: 就像鲸鱼吃虾米一样,也许吃一个两个虾米对于鲸鱼来说作用不大,但是吃的
结合自己的工作和平时学习的体验重新谈一下为什么要进行代码优化。在修改之前,作者的说法是这样的:
 
就像鲸鱼吃虾米一样,也许吃一个两个虾米对于鲸鱼来说作用不大,但是吃的虾米多了,鲸鱼自然饱了。
 
代码优化一样,也许一个两个的优化,对于提升代码的运行效率意义不大,但是只要处处都能注意代码优化,总体来说对于提升代码的运行效率就很有用了。
 
这个观点,在现在看来,是要进行代码优化的一个原因,但不全对。在机械工艺发展的今天,服务器动辄8核、16核,64位CPU,代码执行效率非常高,StringBuilder替换StringBuffer、ArrayList替换Vector,对于代码运行效率的提升是微乎其微的,即使是项目中的每个点都注意到了,代码运行也看不出什么明显的变化。
 
我认为,代码优化的重要的作用应该是:避免未知的错误。在代码上线运行的过程中,往往会出现很多我们意想不到的错误,因为线上环境和开发环境是非常不同的,错误定位到后往往是一个非常小的原因。然而为了解决这个错误,我们需要先自验证、再打包出待替换的class文件、暂停业务并重启,对于一个成熟的项目而言,后一条其实影响是非常大的,这意味着这段时间用户无法访问应用。因此,在写代码的时候,从源头开始注意各种细节,权衡并使用优的选择,将会很大程度上避免出现未知的错误,从长远看也极大的降低了工作量。
 
一、java代码优化的目标是:
 
1、减小代码的体积
 
2、提高代码运行的效率
 
本文的内容有些来自网络,有些来自平时工作和学习,当然这不重要,重要的是这些代码优化的细节是否真真正正地有用。那本文会保持长期更新,只要有遇到值得分享的代码优化细节,就会不定时地更新此文。
 
二、java代码优化细节:
 
1、尽量指定类、方法的final修饰符
 
带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final,则该类所有的方法都是final的。Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,具体参见Java运行期优化。此举能够使性能平均提高50%。
 
2、尽量重用对象
 
特别是String对象的使用,出现字符串连接时应该使用StringBuilder/StringBuffer代替。由于Java虚拟机不仅要花时间生成对象,以后可能还需要花时间对这些对象进行垃圾回收和处理,因此,生成过多的对象将会给程序的性能带来很大的影响。
 
3、尽可能使用局部变量
 
调用方法时传递的参数以及在调用中创建的临时变量都保存在栈中,速度较快,其他变量,如静态变量、实例变量等,都在堆中创建,速度较慢。另外,栈中创建的变量,随着方法的运行结束,这些内容就没了,不需要额外的垃圾回收。
 
4、及时关闭流
 
Java编程过程中,进行数据库连接、I/O流操作时务必小心,在使用完毕后,及时关闭以释放资源。因为对这些大对象的操作会造成系统大的开销,稍有不慎,将会导致严重的后果。

南京北大青鸟,主要课程:南京ui-web前端-java培训。课程包括:南京web前端培训、南京java培训、南京ui培训、南京android培训、ios、微信营销等课程。

版权声明:本文南京java培训--关于java代码优化的几条建议: http://www.nj-test.com/news/2.html 的内容、图片由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至2353260942@qq.com 举报,一经查实,本站将立刻删除。(如需投稿联系管理员开通!)

更多人关注:

中职学校能继续升学吗?   中职学校可以继续升学读书的,参加过中考后的毕业生们,...
「南京Web前端培训」在南京应该怎么选择  经过这么多年的发展,不仅Web前端技术越来越成熟了,而且由...
参加大数据培训学习对于学历要求严格   随着大数据的不断发展以及对于大数据的应用越来越广泛,...
大数据需要报培训班吗?   大数据开发技术是一项综合性比较强的编程语言,学习大数...

上一篇:没有了

下一篇:南京ui培训--什么是ui界面?

抢实地试听名额

名额仅剩66名

教育改变生活

WE CHANGE LIVES

© CopyRight nj-test.com      苏ICP备2023001897号-3