前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java性能优化学习2:性能优化切入点(上)

Java性能优化学习2:性能优化切入点(上)

作者头像
程序员洲洲
发布2024-06-07 09:07:19
1080
发布2024-06-07 09:07:19
举报
文章被收录于专栏:项目文章

性能优化的七类技术手段

性能优化分为,业务优化和技术优化。业务优化一般属于产品和管理的范畴,作为后端开发,一般应有技术优化。 技术优化一般有七类技术手段。

性能优化的重点是在照顾性能的前提下,达到资源利用的最优状态。

1、复用优化

写代码的时候,一般一个方法函数用的多的话,我们就会设置成公共的方法,这就是复用的意思,以后直接调用就可以了。

那么复用的思想在优化中,可以使用为:缓冲和缓存。

缓冲(Buffer),常见于对数据的暂存,然后批量传输或者写入。多使用顺序方式,用来缓解不同设备之间频繁地、缓慢地随机写,缓冲主要针对的是写操作。

缓存(Cache),常见于对已读取数据的复用,通过将它们缓存在相对高速的区域,缓存主要针对的是读操作。

类似的,也有对于对象的池化操作,比如数据库连接池、线程池等,在 Java 中使用得非常频繁。由于这些对象的创建和销毁成本都比较大,我们在使用之后,也会将这部分对象暂时存储,下次用的时候,就不用再走一遍耗时的初始化操作了。

2、计算优化

(1)并行执行

①多机集群:采用负载均衡的方式,将流量或者计算拆分多个部分,比如说hadoop、mapreduce。

②采用多进程,比如说Nginx,采用NIO编程模型,Master统一管理Worker进程,然后Worker进程进行真正的请求代理,这也能很好的利用硬件的多个CPU。

③使用多线程,例如:Netty,Reactor编程模型,NIO等等。例如Go,有更加轻量的:协程,但目前在java中协程并不是十分成熟。

(2)同步-》异步 异步的编程方式可以支持横向扩容,缓解瞬时压力。

(3)惰性加载 采用一些比较好的设计模式来优化业务模块,比如单例模式,代理模式等等。在Swing窗口的时候,如果要显示比较多的图片,就可以先加载一个占位符,然后通过后台线程慢慢加载所需要的资源,这就可以避免窗口的僵死。

3、结果集优化

都知道 XML 的表现形式是非常好的,那为什么还有 JSON 呢?除了书写要简单一些,一个重要的原因就是它的体积变小了,传输效率和解析效率变高了,像 Google 的 Protobuf,体积就更小了一些。虽然可读性降低,但在一些高并发场景下(如 RPC),能够显著提高效率,这是典型的对结果集的优化。

注:文章学习内容来源网络,侵权删。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 性能优化的七类技术手段
  • 1、复用优化
  • 2、计算优化
  • 3、结果集优化
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的四七层流量分发服务,访问流量经由 CLB 可以自动分配到多台后端服务器上,扩展系统的服务能力并消除单点故障。轻松应对大流量访问场景。 网关负载均衡(Gateway Load Balancer,GWLB)是运行在网络层的负载均衡。通过 GWLB 可以帮助客户部署、扩展和管理第三方虚拟设备,操作简单,安全性强。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档