立即咨询

电话咨询

微信咨询

立即试用
商务合作

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

2022-11-21

 

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

    在做软件优化时,尽量采用懒加载的策略,即在需要的时候才创建,慎用异常,异常对性能不利。抛出异常首先要创建一个新的对象,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)都可以。

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

 

 

更多产品了解

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

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

都在这里!

 

热门数字化产品

网易瑶台网易瑶台,通过AI算法加持,只需要一张照片即可生成个性化形象,并支持200+维度的自由捏脸,打造元宇宙专属虚拟角色。基于分布式服务框架,支持十万虚拟角色实时在线,通过AOI(感兴趣区域)机制,实现万人同屏下虚拟角色间可见、可交互。
腾讯云智能内容生成平台腾讯云智能内容生成平台可以提供辅助内容创作、创新的AI服务, 主要包括内容理解、内容处理、内容生成。从而降低内容创作者的创作、创新门槛, 提升创作、创新效率。
腾讯乐享企业培训管理系统腾讯乐享连接知识、沉淀经验,整合学习地图、课堂、考试、直播、文档、社群、问卷、员工关怀、项目管理、讲师管理等多应用于一体,帮助团队建立学习型组织、降低沟通成本,提升员工自发性和组织内协同性,助力企业数字化管理升级。
快麦ERP电商系统快麦ERP电商系统,多平台、多渠道、多店铺统一管理,支持销售订单、库存、售后订单等自动同步,实现仓库无纸化办公,仓库规划及工作流程梳理,员工绩效全方位统计,财务、报表多维度统计。
有成CRM有成CRM是一款SaaS模式的客户关系管理软件,以客户管理为核心,包含客户管理、销售全流程管理,合同订单、项目管理、工单管理、呼叫中心、移动审批、数据分析八大模块。旨在助力企业销售全流程精细化、数字化管理,全面解决了企业销售团队的全流程客户服务难题,帮助企业有效盘活客户资源、量化销售行为,合理配置资源、建立科学销售体系,提升销售业绩。
为你推荐
直播间在线人数卡在500上不去?天志互联抽盒系统从互动率破局

抖音算法推流核心指标是互动率而非GMV。天志互联直播抽盒系统从订单秒级上屏、一键拆盒、氛围引爆三个维度拉高互动率,驱动算法推流的正循环。

2026-06-26
品牌联名越做越亏?天志互联用游戏化体验共创重新定义IP营销

从"换皮联名"到"游戏化体验共创"——拆解彩棠敦煌联名案例的壁画修复小游戏设计逻辑、奶茶品牌联名翻车教训和中小品牌三条低成本高ROI的IP联名路径。

2026-06-26
一个人也能搭游戏化运营体系?低代码时代品牌运营的乐高式搭建指南

低代码时代品牌游戏化运营体系的"乐高式"搭建指南——从选模板、搭积分闭环、数据迭代到多活动并行管理和团队交接的全流程实操方法。

2026-06-26
私域社群打开率跌破3%以后:一个快消品牌的游戏化自救实验

一个快消品牌用游戏化方法三个月救活240个死群的完整复盘——从签到排行榜、互动任务、习惯养成到赛季制防疲劳的六周运营节奏拆解。

2026-06-26
品牌私域裂变怎么设计才不被骂?游戏化社交裂变的三个底线原则

游戏化社交裂变的三个底线原则深度拆解——让转发不像广告、让奖品有炫耀价值、给用户不转发的自由,加3%超级用户识别策略和三个常见翻车点避坑指南。

2026-06-26
查看更多