摘要:一.概述 简单来说 MySQL 主要分为 Server 层和存储引擎层: 1、Server 层: 主要包括连接器、查询缓存、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图,函数等,还有一个通用的日志模块 binglog 日志模块。 2、存储引擎: 主要负责数
阅读全文
02 2020 档案
摘要:线程分析篇 Java 语言能够很好的实现多线程应用程序。当对一个多线程应用程序进行调试或者开发后期做性能调优的时候,往往需要了解当前程序中所有线程的运行状态,是否有死锁、热锁等情况的发生,从而分析系统可能存在的问题。 在 VisualVM 的监视标签内,可以查看当前应用程序中所有活动线程(Live
阅读全文
摘要:CPU分析篇 CPU 性能分析的主要目的是统计函数的调用情况及执行时间,或者更简单的情况就是统计应用程序的 CPU 使用情况。 没有程序运行时的 CPU 使用情况如下图: 运行一段 占用CPU 的小程序,代码如下 package jvisualVM; public class MemoryCpuTe
阅读全文
摘要:内存分析篇 VisualVM 通过检测 JVM 中加载的类和对象信息等帮助我们分析内存使用情况,我们可以通过 VisualVM 的监视标签对应用程序进行内存分析。 一.内存堆Heap 首先我们来看内存堆Heap使用情况,我本机eclipse的进程在visualVM显示如下: 随便写个小程序占用内存大
阅读全文
摘要:概述 开发大型 Java 应用程序的过程中难免遇到内存泄露、性能瓶颈等问题,比如文件、网络、数据库的连接未释放,未优化的算法等。 随着应用程序的持续运行,可能会造成整个系统运行效率下降,严重的则会造成系统崩溃。 为了找出程序中隐藏的这些问题,在项目开发后期往往会使用性能分析工具来对应用程序的性能进行
阅读全文
摘要:准备模拟内存泄漏样例 1、定义静态变量HashMap 2、分段循环创建对象,并加入HashMap 代码如下: import java.util.HashMap; import java.util.Map; public class CyclicDependencies { //声明缓存对象 priv
阅读全文
摘要:JVisualVM 简介 VisualVM 是Netbeans的profile子项目,已在JDK6.0 update 7 中自带,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)。 在JDK_HO
阅读全文