当前位置:首页 > 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视频教程。老杜也是学生非常敬佩和喜欢的老师。视频教程的代码格式极其规范,非常适合零基础的人观看。而且基本视频教程都是老杜上课录的。入门是零基础,视频质量超高,非常适合零基础的小白入门!

消耗线程资源内存策略


火星人 一起互联

  • 关注微信关注微信

猜你喜欢

热门标签

ps水果海报制作教程 输入主机名称时 苹果字体怎么改字体 苹果手机如何拉黑对方电话和短信 手机上怎么把照片变成漫画风格 ps怎么调上下两排字的距离 迅雷下载的音乐怎么保存到手机 中兴手机怎么获得root权限 华为手机怎么隐藏桌面软件 win10inside是什么版本介绍 申请第二个微信号怎么申请 qq群相册怎么添加如何更换qq群头像?介绍 ps怎么做出毛边字体效果印刷接单ps好学吗?介绍 怎么录制可以发送的音频文件手机怎么录现场音响音乐?介绍 笔记本电脑怎么关闭界面锁惠普笔记本键盘锁定怎么解锁? 手机上下滑动屏幕感觉不顺畅小米12x屏幕滑动不顺畅?介绍 小米怎么上传到小米云盘小米怎么设置自动上传图片到云相册? qq的个人资料背景怎么隐藏qq资料国家怎么去掉? 苹果13接电话没声音 联想笔记本电脑开不了机联想笔记本待机后就唤醒不了 亚马逊礼品卡可以购买虚拟物品吗亚马逊礼品卡充不进去? 怎样在u盘下载360保险箱360sandbox是什么? c语言把数字字符串转化为数字 苹果12订阅记录怎么删除怎么联系苹果客服取消订阅? 制定电商分销渠道传统企业如何玩转社交分销?介绍 oppor11手机上网慢怎么设置oppo手机怎么cpu超频? 电脑浏览器打不开缺乏足够权限手机浏览器访问受限怎么解决? 直播带货怎么开通 在qq里怎么把别人设置特别关心怎么在QQ里把别人设置成特别关注? 怎么判断ocx文件有没有注册控件怎么注册?介绍

微信公众号