立即咨询

电话咨询

微信咨询

立即试用
商务合作

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

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)都可以。

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

 

 

更多产品了解

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

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

都在这里!

 

热门数字化产品

埃文科技IP风险画像埃文科技IP风险画像基于多维度数据信息、持续性IP风险验证机制和多级IP风险判定算法,实时关联IP的位置信息、应用场景、端口服务和设备风险信息等进行IP风险精准判定,并实行IP风险赋分、风险分级机制,简化业务应用门槛。IP风险画像产品可覆盖识别7种类型的风险IP,分别是VPN、代理、秒拨、数据中心、Tor节点、端口扫描、暴力破解。
腾讯Tapd研发项目管理平台TAPD是源自于腾讯的敏捷产品研发协作平台,提供贯穿敏捷开发生命周期的一站式服务。覆盖从产品概念形成、产品规划、需求分析、项目规划和跟踪、质量测试到构建发布、用户反馈跟踪的产品研发全过程,提供了灵活的可定制化应用和强大的集成能力,帮助研发团队有效地管理需求、资源、进度和质量,规范和改进产品研发过程,提高研发效率和产品质量。
DeepBrain AI数字人平台DeepBrain AI数字人平台具备人工智能语音影像合成底层技术并具备对话机器人底层技术能力。
e签宝e签宝从身份认证数据源、证书核验、可信时间戳、私钥保存位置等多个关键点入手提供技术保障,同时从实名认证、意愿认证、签名、存证等环节提供可靠签署流程,证据实时上链,免除平台客户自证清白的成本,也为用户提供放心的签署服务。
为你推荐
直播间在线人数卡在500上不去?天志互联抽盒系统从互动率破局

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

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

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

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

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

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

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

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

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

2026-06-26
查看更多