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

消耗线程资源内存策略


火星人 一起互联

  • 关注微信关注微信

猜你喜欢

热门标签

windows优化大师清理垃圾文件 好会计财务软件能免费使用多久 复联壁纸高清手机壁纸 批量工作表重命名的四种方法批量重命名工作表 如何把红底照片变成蓝底照片免费 小红书账号封禁还能解吗 拆分多个工作表为多个Excel表 腾讯安全答题最新答案 php怎么生成数组PHP数组操作技巧介绍 ps矩形选框工具怎么画长方形 小米手机在哪里遥控空调 电脑图标不显示了怎么恢复 讯飞智能录音笔如何删除录音 手机如何连接希沃一体机的网络 电脑更新后没有网络怎么办 cad激活操作步骤 淘宝不能读取相册照片 bytv老是加载失败怎么解决by车牌什么意思?介绍 catia中如何导入绘图标准文件catia工程图怎么插入word文档?介绍 手机便签里的信息误删怎么恢复手机便签中文字误点粘贴怎么恢复? 乐2如何连接电脑联想平板电脑如何连接电脑? airpods无法验证激活日期airpodspro怎么验证激活日期?介绍 网页设计的软件有哪些 递归查询树形结构Java如何递归实现vue菜单树所需要的数据?介绍 数字化营销模式的演变汽车行业数字化营销核心是什么?介绍 微软手提电脑无法启动windows联想拯救者microsoft账户怎么激活?介绍 小米无线蓝牙耳机使用说明 苹果手机怎么快速调出照片苹果14手机照相照片怎么全屏?介绍 excel打印出来为什么没有表格线xlsx打印预览没有横向网格线? blender平面如何转换层次粉响威士忌值得买吗?

微信公众号