Skip to content

Latest commit

 

History

History
30 lines (18 loc) · 1.62 KB

Java性能调优.MD

File metadata and controls

30 lines (18 loc) · 1.62 KB

概述

性能:CPU、内存、磁盘IO、网络、异常、数据库、锁竞争

  • CPU 递归无线循环,正则表达式引起的回溯,JVM频繁的full GC,多线程编程造成的大量上下文切换
  • 内存,java程序一般通过JVM对内存进行分配管理,主要是用JVM中的堆内存存储java创建的对象。内存是有限的,所以当内存空间被占满,对象无法回收,导致内存溢出,内存泄露。
  • 磁盘IO,SSD固态比机械硬盘快
  • 网络、带宽大小,传输数据比较大,或者并发量比较大的系统,网络成为性能瓶颈
  • 异常、java应用中,抛出异常的需要构建异常栈,对异常进行捕获和处理,这也消耗性能,高并发引起异常的话,持续进行异常处理,系统的性能都会受到影响。
  • 锁竞争、为保证原子性,用锁。但是锁可能带来上下文切换,从而给系统带来性能开销,为了降低锁竞争带来的上下文切换,java对JVM内部锁多次优化,如,新增偏向锁,自旋锁,轻量级锁,锁粗化,锁消除,如何合理利用锁资源,优化锁资源,需了解操作系统知识,java多线程基础

一、Java编程性能调优

JDK是java语言的基础库,熟悉JDK中各个包中的工具类,可以帮助你编写高性能代码。

二、多线程性能调优

保证线程安全和同步锁的性能,并发性能

三、JVM性能监测及调优

重点为:java对象的创建回收和内存分配。

四、设计模式调优

设计模式优化架构设计,应用场景

五、数据库性能调优

数据库常用调优方式