500多家长期合作企业1000多家企业人才定制培 养基地,定期双选会。
免费试听价值1980元课程,满意再报名。
“理论培训+真实项目实训”养成实战高手
企业定制化培养,学员至少3个真实项目实战,毕业1月就业率达99.2%,远超同行。
怎么学好 | 学什么好 | 咋学快速 |
---|
网络营销 | 以在线咨询为准 | 热招 |
HTML5定制班![]() |
以在线咨询为准 | 热招 |
Python定制班![]() |
以在线咨询为准 | 热招 |
软件测试就业班![]() |
以在线咨询为准 | 热招 |
JAVA就业班![]() |
以在线咨询为准 | 热招 |
UI设计定制班 | 以在线咨询为准 | 热招 |
全移动智能化教学设施
定义"高大上"
让你学习高薪技术专业轻松无忧快乐
Java性能调优需要注意哪几条?
Java性能调优要注意什么?Java性能调优是注意的事项有哪些?想要了解Java性能调优需要注意的事项就看今天这篇文章。小编为各位介绍一下Java性能调优的注意事项。
Java性能调优需要注意以下几点:
1、调优步骤:衡量系统现状、设定调优目标、寻找性能瓶颈、性能调优、衡量是否到达目标(如果未到达目标,需重新寻找性能瓶颈)、性能调优结束。
2、性能瓶颈的表象:资源消耗过多、外部处理系统的性能不足、资源消耗不多但程序的响应速度却仍达不到要求。
3、外部处理系统的性能不足:所调用的其他系统提供的功能或数据库操作的响应速度不够。资源消耗不多但程序的响应速度却仍达不到要求:程序代码运行效率不够高、未充分使用资源、程序结构不合理。
4、CPU消耗分析:CPU主要用于中断、内核、用户进程的任务处理,优先级为中断>内核>用户进程。
5、上下文切换:每个线程分配一定的执行时间,当到达执行时间、线程中有IO阻塞或高优先级线程要执行时,将切换执行的线程。在切换时要存储目前线程的执行状态,并恢复要执行的线程的状态。对于Java应用,典型的是在进行文件IO操作、网络IO操作、锁等待、线程Sleep时,当前线程会进入阻塞或休眠状态,从而触发上下文切换,上下文切换过多会造成内核占据较多的CPU的使用。
6、运行队列:每个CPU核都维护一个可运行的线程队列。系统的load主要由CPU的运行队列来决定。运行队列值越大,就意味着线程会要消耗越长的时间才能执行完成。
7、利用率:CPU在用户进程、内核、中断处理、IO等待、空闲,这五个部分使用百分比。
8、网络IO消耗分析:对于分布式Java应用,网卡中断是不是均衡分配到各CPU(cat/proc/interrupts查看)。
9、文件IO消耗分析:Linux在操作文件时,将数据放入文件缓存区,直到内存不够或系统要释放内存给用户进程使用。所以通常情况下只有写文件和第一次读取文件时会产生真正的文件IO。对于Java应用,造成文件IO消耗高主要是多个线程需要进行大量内容写入(例如频繁的日志写入)的动作、磁盘设备本身的处理速度慢、文件系统慢、操作的文件本身已经很大。
10、JVM堆外的内存:swap的消耗、物理内存的消耗、JVM内存的消耗。
11、文件IO消耗严重的解决方法:从程序的角度而言,造成文件IO消耗严重的原因主要是多个线程在写进行大量的数据到同一文件,导致文件很快变得很大,从而写入速度越来越慢,并造成各线程激烈争抢文件锁。
全国1000多家名企招聘
近500家企业人才定制培养需求
想不就业,太难!
课程免费咨询热线:13783581536