当前位置:首页 > TAG信息列表 > java网络编程的经典和使用的案例Java编程中的性能优化如何实现?

java网络编程的经典和使用的案例Java编程中的性能优化如何实现?

java网络编程的经典和使用的案例 Java编程中的性能优化如何实现?

java编程中的性能优化如何实现?

我认为性能优化应该分为两步:第一步:寻找性能瓶颈,第二步:性能调优;

下面分别分析:

步骤1:找到性能瓶颈。

java网络编程的经典和使用的案例 Java编程中的性能优化如何实现?

通常,性能瓶颈的出现是外部处理系统的资源消耗过多和性能不足;或者资源消耗不多,但节目效果还是很慢;

资源主要消耗在cpu、文件io、网络io和内存上。当某种资源消耗过多时,系统会反应缓慢。

外部处理系统性能不足主要是由于其他系统或数据库提供的功能响应速度不够。外部系统响应慢也可能是资源消耗过大造成的,所以数据库响应慢可以调优。

资源消耗低的主要原因是程序代码效率不高、资源利用不充分或程序结构不合理;

1.1cpu消耗分析

可以通过top、pidstat等相关命令,找出各种类型的cpu消耗比例。最常见的类型是us和sy,分别代表用户进程消耗和线程间切换消耗。如果us太高,可以找到相关的线程id,然后分析代码;如果sy太高,是否会导致太多线程切换?

1.2文件io消耗

要跟踪一个线程的文件io消耗,可以通过pidstat查找,可以查到每秒的kb读写次数;找到若干个读写kb的线程,然后用jstack找到相关的java代码,然后进行分析;

1.3网络io消耗

你可以通过sar分析网络消耗,但是你可以不要具体说明每个线程消耗的网络io。只能转储线程,找到产生大量网络io的线程。

1.4内存消耗

结合top或pidstat和jvm的内存分析工具;需要区分jvm外的物理内存和jvm堆区的内存;如果是jvm外的物理内存,要分析程序中的直接bytebuffer,如果是jvm堆,可以通过jvisualvm分析;

1.5资源消耗少但还是慢。

主要原因是:锁竞争激烈,硬件资源利用不足,数据量增加。

步骤2:性能调优

2.1jvm调优

主要包括每一代的规模,gc策略等。世代规模设置:避免将世代规模设置得过小或过大;避免幸存者面积过小或过大;新生代生存周期的合理设定;gc策略根据吞吐量优先级或延迟优先级设置策略;

2.2程序调谐

1.cpu消耗严重解决。

us太高主要是因为执行线程可以在没有任何挂起动作的情况下运行;sy太高主要是因为创建的线程太多,导致线程上下文切换;

2.文件io消耗严重解决。

文件io消耗严重的主要原因是多个线程向同一个文件写入大量数据,导致文件很快变得非常大。但是写入速度越来越慢,导致线程之间对文件锁的竞争非常激烈。常见的调优方法有异步文件写入、批量读写、限流和文件大小限制;

3.网络io消耗严重解决。

主要原因是同时发送或接受的数据包太多,解决方法是限制流量;

4.内存消耗严重解决。

解决方案:释放不必要的引用,使用对象缓存池,采用合理的缓存失效策略,使用softreference和weakreferenc

新人的java之路,该怎么开始?

学习零基础java需要掌握最基本的java语法和编程框架,编程工具的安装和使用等。,但是一定要记得边学边练编程,进一步实现项目实战!你可以看看老杜的哔哩哔哩javazerofoundation介绍,这是目前第一个突破1000万大关的java视频教程。老杜也是学生非常敬佩和喜欢的老师。视频教程的代码格式极其规范,非常适合零基础的人观看。而且基本视频教程都是老杜上课录的。入门是零基础,视频质量超高,非常适合零基础的小白入门!

消耗线程资源内存策略


火星人 一起互联

  • 关注微信关注微信

猜你喜欢

热门标签

视频评论怎么发语音 java代码用什么软件可以运行 如何设置首字下沉 电脑怎么识别微信二维码图片 windows10显示任务栏全部图标 miui13的访客模式在哪里设置介绍 k50至尊版头顶上面的孔有什么用k50至尊版头顶上的孔作用 vivo手机注销账号电话号码有风险怎么办 微信运动怎么看自己占领了几个封面 手机版小鸟壁纸在哪下介绍 oppo手机电筒怎么用开机键关闭OPPO手机电筒使用方法介绍 网络计划六参数的表示方法 手机powerpoint怎么设置动画 电脑已连接网络但无internet访问权限 美团商家里面怎么设置套餐怎么在美团上卖套餐?介绍 蚂蚁庄园实时行情今天蚂蚁庄园小课堂正确答案? 苹果笔记本怎么卸载软件steam怎么删除mac快捷方式?介绍 pythonmax使用教程如何提高Python代码的性能? win10电脑锁屏图片存储位置win10壁纸如何设置jpg格式?介绍 ps怎么把照片做成完美的PS如何扣完整的章? 变频器运行时需要注意什么变频器拆装步骤和注意事项?介绍 win10怎么在桌面添加图标windows10控制面板里怎么添加我的电脑? 广电宽带路由器设置方法 python4行代码实现图片提取文字你们的手机有什么绝对不卸载的软件?介绍 excel如何正确输入日期excel怎么写入日期? 手机京东怎样开通刷脸支付京东支付人脸识别怎么开通?介绍 苹果手表恢复出厂设置后怎么还原applewatchse恢复出厂设置?介绍 华为手机投屏到笔记本上如何操作华为电脑投屏四种模式? 苹果主屏幕时间显示太浅 微信里的照片过期了怎么办微信文件已过期或已被清理怎么办?

微信公众号