那你知道在做软件优化时要注意什么吗

来源: 云巴巴 2022-11-21 14:09:19

 

    我们的工作和生活每天都离不开软件,所以,我们更要了解一些关于软件优化的知识。

    在做软件优化时,尽量采用懒加载的策略,即在需要的时候才创建,慎用异常,异常对性能不利。抛出异常首先要创建一个新的对象,Throwable接口的构造函数调用名为fillInStackTrace的本地同步方法,fillInStackTrace方法检查堆栈。收集调用跟踪信息,只要有异常被抛出,Java虚拟机就必须调整调用堆栈。因为在处理过程中创建了一个新的对象。异常只能用于错误处理,不应该用来控制程序流程。

    不要在循环中使用trycatch…,应该把其放在最外层,根据网友们提出的意见,这一点我认为值得商榷。如果能估计到待添加的内容长度,为底层以数组方式实现的集合、工具类指定初始长度。

    可以通过类(这里指的不仅仅是上面的StringBuilder)的构造函数来设定它的初始化容量,这样可以明显地提升性能,比如StringBuilder吧,length表示当前的StringBuilder能保持的字符数量。因为当StringBuilder达到最大容量的时候,它会将自身容量增加到当前的2倍再加2,无论何时只要StringBuilder达到它的最大容量。它就不得不创建一个新的字符数组然后将旧的字符数组内容拷贝到新字符数组中----这是十分耗费性能的一个操作。试想,如果能预估到字符数组中大概要存放5000个字符而不指定长度,最接近50002次幂是4096,每次扩容加的2不管。

    在4096 的基础上,再申请8194个大小的字符数组,加起来相当于一次申请了12290个大小的字符数组。如果一开始能指定5000个大小的字符数组,就节省了一倍以上的空间,把原来的4096个字符拷贝到新的的字符数组中去。

    这样,既浪费内存空间又降低代码运行效率,所以,给底层以数组实现的集合、工具类设置一个合理的初始化容量是错不了的,这会带来立竿见影的效果。但是,注意,像HashMap这种是以数组+链表实现的集合。别把初始大小和你估计的大小设置得一样,因为一个table上只连接一个对象的可能性几乎为0,初始大小建议设置为2N次幂,如果能估计到有2000个元素,设置成new HashMap128)、new HashMap256)都可以。

    以上,就是关于软件优化时所需要关注的要点,你都清楚了吗?

 

 

更多产品了解

欢迎扫码加入云巴巴企业数字化交流服务群

产品交流、问题咨询、专业测评

都在这里!

 

评论列表

为你推荐

让企业安心过年,腾讯安全上线新春服务

让企业安心过年,腾讯安全上线新春服务

1月17号,腾讯安全“同舟计划”发布特别服务,为100家企业提供新春免费应急响应和云上安全托管服务。

2022-01-19 17:34:50

混合云如何通过跨云数据结构来控制数据和存储扩展

混合云如何通过跨云数据结构来控制数据和存储扩展

在现在这个科技环境下,“云”已经不再单单指天上的云彩。混合云作为云计算下的多云就是多种云的混合模式,混合云就是其中一种,此外多云也指多个云计算服务供应商的结合。 每个数据中心都有硬件组合,没有人会把它称为“混合硬件环境”。所以现在的问题已经成为:我们真的

2022-11-21 15:34:39

快来了解一下什么是安全网管系统

快来了解一下什么是安全网管系统

在全球流行的深度打击实体经济,现在,再次给企业的数字化改造敲响了警钟,兼并和加快跨部门跨组织及数字化协同的业务流程,安全网管系统正在成为管理者办公桌的日常选择。 安全网管系统是由一些不同技术的奇妙融合而形成的,它不仅可以实现一些简单的协议级过滤,还能实现

2020-04-30 16:55:30

阿里云人脸识别产品的优缺点是什么

阿里云人脸识别产品的优缺点是什么

想要了解阿里云的人脸识别产品,就先看下阿里云人脸识别产品的特色功能有那些吧。 第一,能够实现人脸比对1:1。它是基于已授权的两张图像,判断是否为同一人。分别挑选两张图像中的最大人脸进行比较,同时返回比对这两个人脸的一项功能。

2022-11-23 16:40:43

大数据时代,关于隐私与便利的两面观

大数据时代,关于隐私与便利的两面观

在我们欢呼科技的全面变革为社会带来发展进步之时,无处不在的数据摄取工具、云储存、地理定位系统等数字化技术正在记录着我们在网络世界和现实生活中的行为、语言、地理位置、个人偏好、生理特征、人际交往等各种信息。即时追寻着人们在网络世界中行走的轨迹并加以保存。

2020-03-10 17:24:32

汇总:那些关于人脸融合产品的相关问题

汇总:那些关于人脸融合产品的相关问题

什么是人脸融合? 人脸融合是指对模板图和用户图中的人脸进行融合的一项服务,这些和人脸进行融合的图片可以是你的朋友、家人,甚至是动漫人物,融合后的图片可以同时呈现模板和用户的脸部特征。

2022-11-23 17:34:49

严选云产品

工业态势感知 启明星辰工业态势感知系统定位于为用户实现态势感知能力的上层平台,该平台为基于大数据架构的海量信息采集与处理型系统。平台系统分层次提供了海量安全信息的采集、存储、集中分析和综合态势呈现功能。
道一云人事行政订餐管理解决方案 道一云人事行政订餐管理解决方案,通过系统实现人事管理全面信息化办公,员工的档案和状态一键查询、实时了解。涵盖企业招聘、员工管理/自助、培训、绩效考核、薪资等全事务。员工入职、转正、调岗、调薪、离职操作都可以通过手机端或PC端提交,流程在线自动流转,审批方便,信息在线保存。
Realibox全球领先的在线3D产品设计与协作平台 Realibox全球领先的在线3D产品设计与协作平台,一站式打通方案设计-管理协作-生产营销全流程应用,完美兼容各种主流工程软件,不用为切换生产力工具额外付学习成本,提升产品迭代的可视化内容输出效率,支持多种客户端。
威努特态势分析与安全运营管理平台 威努特态势分析与安全运营管理平台,为实现企业的安全目标为宗旨,以等保、关保为参考依据,提供覆盖安全防护、安全运维、安全建设管理、安全工作考核全过程牵引和技术支撑。数据分析 实现多种数据的多维度数据分析,建立各种模型基线,识别未知异常和威胁。通过多种探针多种协议,采集网络中的主机、设备、日志和原始流量信息。
金蝶云星辰旗舰版 金蝶云星辰旗舰版,产供销一体化,助力企业降本增效,从订单到生产全流程数字化跟踪,提升生产管理效率,受托加工助力生产企业消化产能、为企业创收。灵活的生产模式,建立数字化核心优势,智慧移动生产,随时随地掌握生产进度,高效协同。客户经营数智化,助力小微企业业绩倍增。
腾讯云营商通 营商通产品是服务商事主体(企业、个体工商户)的移动应用平台,基于营商大数据,通过构建营商图谱,在涉企人、财、物、信息等方面助力提升政府服务效率,为降低企业成本提供支撑,助力政府构建高效的营商环境服务平台。

甄选10000+数字化产品 为您免费使用

申请试用