欢迎您的到来!     
注册用户 [请登录]      新用户 [免费注册]     
网站首页 电子教程 视频教程 在线题库 毕业设计作品 疑难解答 毕设文档
分类
毕业设计
毕设相关资料  
移动开发
WEBAPP   微信小程序  
数据库
SQL   MySQL  
后端开发
ASP   PHP   JSP   NET   Python  
前端JS
JavaScript   jQuery   Vue.js   React.JS   AngularJS  
前端界面
HTML   CSS   Bootstrap  
毕业设计
小程序毕设   Java毕设   PHP毕设  
 文章详情:面试官:关于Java性能优化,你有什么技巧

通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。


一般有两种方案:即优化代码或更改设计方法。我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能够精简代码,从而提高性能。


下面将提供一些在JAVA程序的设计和编码中,为了能够提高JAVA程序的性能,而经常采用的一些方法和技巧。


1.对象的生成和大小的调整。

JAVA程序设计中一个普遍的问题就是没有好好的利用JAVA语言本身提供的函数,从而常常会生成大量的对象(或实例)。由于系统不仅要花时间生成对象,以后可能还需花时间对这些对象进行垃圾回收和处理。因此,生成过多的对象将会给程序的性能带来很大的影响。


例1:关于String ,StringBuffer,+和append

JAVA语言提供了对于String类型变量的操作。但如果使用不当,会给程序的性能带来影响。


如下面的语句:


String name=new String("HuangWeiFeng");

System.out.println(name+"is my name");

看似已经很精简了,其实并非如此。为了生成二进制的代码,要进行如下的步骤和操作:


生成新的字符串 new String(STR_1);


复制该字符串;


加载字符串常量"HuangWeiFeng"(STR_2);


调用字符串的构架器(Constructor);


保存该字符串到数组中(从位置0开始);


从java.io.PrintStream类中得到静态的out变量;


生成新的字符串缓冲变量new StringBuffer(STR_BUF_1);


复制该字符串缓冲变量;


调用字符串缓冲的构架器(Constructor);


保存该字符串缓冲到数组中(从位置1开始);


以STR_1为参数,调用字符串缓冲(StringBuffer)类中的append方法;


加载字符串常量"is my name"(STR_3);


以STR_3为参数,调用字符串缓冲(StringBuffer)类中的append方法;


对于STR_BUF_1执行toString命令;


调用out变量中的println方法,输出结果。


由此可以看出,这两行简单的代码,就生成了STR_1,STR_2,STR_3,STR_4和STR_BUF_1五个对象变量。这些生成的类的实例一般都存放在堆中。


堆要对所有类的超类,类的实例进行初始化,同时还要调用

————————————————

版权声明:本文为CSDN博主「后端技术精选」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_38405253/article/details/103270494


上一篇: 动态规划入门到熟悉,看不懂来打我啊 下一篇: 不支持base64格式的图片问题


第一步:学习免费电子文档;   第二步:在线测试考试;   第三步:选择收费视频学习;   第四步:学习技术文章和疑难解答.
友情链接: 微信小程序中文网  |   计算机毕业设计作品网  |   洪荒毕业设计网  |   小白教程网  |   毕业设计资料网  |  
浙ICP备18013434号-3 Copyright ©2020 小白教程网 www.2d5.net (QQ交流群:147415688). Technical support/技术支持:杭州摇亿网络科技