自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

斌斌的博客

南昌大学程序猿一枚,记录日常所得

  • 博客(86)
  • 收藏
  • 关注

原创 Arthas CPU 火焰图技术 简谈

3.鼠标可以点击的选中的每个框就代表了一个栈里的函数,其宽度可以直接理解为CPU时间占比(其实是采样的数量以及与采样总量的占比)。2.Y轴代表方法的调用栈深度,每一层都是一个方法。顶部是正在执行的方法。这是注意的是x 轴并不代表时间,而是所有的调用方法合并后,按字母顺序排列。1.这里的x轴代表采样总量(也就是此刻所有执行的耗时cpu的方法)。由此可知,火焰图可以直观的帮我们分析CPU占用情况。进而被采样的次数比较多,占用的CPU时间多。b.被调用次数较多.(调用频率高)橙色部分代表内核态C语言代码。

2024-01-10 21:42:44 900

原创 常用设计模式

设计模式

2024-01-10 21:12:50 1048

原创 Mysql三大日志笔记

2021-07-12 09:42:51 170

原创 InnoDB数据表是如何存储的笔记

2021-07-10 08:42:23 183

原创 MySQL有哪些存储引擎笔记

2021-07-09 23:06:39 133

原创 一条SQL语句的执行过程笔记

2021-07-09 22:58:16 97

原创 一次堆内存溢出查找分析笔记

代码如下:设置堆大小及堆内存快照:运行如下,出现了堆溢出:打开MemoryAnalyzer Tool,导入hprof文件,结果如下:上图点击Leak Suspects,如下图:再点击Details,显示如下:鼠标右键选 ==>with incoming references(查看被引用的来源) ,显示如下:再回到代码,查看oomList对象,结果在16行,找到了问题所在。当然也可以点击 See stacktrace:结果如下:...

2021-07-07 19:00:51 123

原创 CPU过高问题定位笔记

CPU过高定位一般有以上两种方案查询定位:第一种:top+jstack结果如下:由上图可知,进程36032的CPU占用过高接着用如下指令查看进程36032下的各线程信息结果如下:由上图可知,线程36044占用CPU过高首先,我们将线程PID36044转换为16进制 :8ccc然后用: jstack 进程PID > 路径 命令将进程36032信息输出到1.txt文件中然后用cat 读出信息,再加grep过滤输出与线程 8ccc相关的信息,如下图:结果定位为在 函.

2021-07-07 16:13:18 436

原创 通过线程堆栈日志定位并解决死锁问题笔记

一个死锁例子:package com.duoxiancheng;public class DeadLock { private static void deadLockExample(){ final Object o1=new Object(); final Object o2=new Object(); Runnable r1=()->{ synchronized(o1){ ...

2021-07-05 13:59:27 450

原创 什么是线程堆栈,它又能解决什么问题笔记

例如如下:举个例子:结果如下:

2021-07-05 12:11:17 511

原创 学会使用 JDK 工具(3):用于查看 JVM 统计信息的 jstat笔记

jstat基本用法:jstat可以检查 JVM 整体的运行情况,可以看到 新生代,老年代等的内存使用情况,以及GC 次数和耗时.其中 -option 必选参数表示命令参数 如 gc 等, -t 为可选参数表示是否打印时间(秒),-h 可选参数,表示每隔多少行打印头部列表,如设置 -h 5 , 那么每五条记录就会重新打印表头,vmid 必选参数,Java 进程id,interval 可选参数表示采样的时间间隔,count 可选参数表示需要采样多少条.-option 可选如下:jstat -.

2021-07-04 15:40:21 133

原创 学会使用 JDK 工具(2):用于查看 JVM 堆内存使用的 jmap笔记

jmap的基本用法:查看堆内存信息: jmap --heap --pid 进程id不过jmap一般用来导出堆内存快照,如下:jmap -dump:live,format=b(二进制形式),file=/tmp/heap.bin(导出路径) 进程id再结合jhat,查看堆内存快照信息: jhat+路径浏览器打开 7000端口,显示堆内存类的信息:...

2021-07-04 12:55:49 211

原创 学会使用 JDK 工具(1):用于查看 JVM 配置参数的 jinfo笔记

jinfo 基本用法:一次jinfo使用过程:首先找到程序的进程id查找java版本及开启GC日志打印:设置堆内存快照路径:查看虚拟机参数(使用什么GC等等):

2021-07-04 11:28:47 127

原创 需要知道的 GC 算法和常用的垃圾收集器笔记

2021-07-04 10:59:00 79

原创 什么是 JVM 调优,为什么需要做调优笔记

2021-07-04 10:41:22 239

原创 数据库调优维度笔记

2021-06-28 10:34:48 80

原创 设计数据库思路笔记

2021-06-16 17:14:12 74

原创 Mysql数据冷热备份概念笔记

2021-05-22 10:16:08 159

原创 MySQL集群方案介绍笔记

**Percona XtraDB Cluster**(下文简称PXC集群)提供了MySQL高可用的一种实现方法。PXC集群以节点组成(推荐至少3节点,便于故障恢复,后面会讨论两节点的情况),每个节点都是基于常规的 MySQL/Percona Server,意味着你可以从集群中分离出某节点单独使用。集群中每个节点都包含完整的数据。PXC集群主要由两部分组成:Percona Server with XtraDB和Write Set Replication patches(使用了Galera...

2021-05-21 10:25:00 128 3

原创 电商系统模式笔记

及一般框架图

2021-05-19 23:41:49 84

原创 正向与反向代理简易理解笔记

2021-05-19 23:25:54 78

原创 TCP 三次握手与四次挥手笔记

2021-04-14 11:47:50 84

原创 常见的线程池笔记

1.newSingleThreadExcutorimport java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class SingleThreadExectutor { public static void main(String[] args) { ExecutorService executorService = Executors.newSingleThr

2021-03-21 10:10:40 124 1

原创 线程池初认识笔记

使用线程池的好处:**1.**可以复用线程**2.**可以控制资源总量注:统一管理指线程池可以同时管理多个线程,比如3000多个线程,你不可能一个一个管理,使用线程池就可以统一管理,方便快捷。...

2021-03-17 18:19:45 58

原创 实现Runnable接口和继承Thread类对比

首先确定实现Runnable接口更好。1.从代码架构考虑,具体执行的任务即run()方法代码的内容,应该与创建线程的类Thread解耦,不应该把两者混为一谈。2.从资源节约的角度上,继承Thread的类,每次想新建一个任务,只能创建一个独立的线程,而创建一个线程的损耗是比较大的,而Runnable可以利用线程池工具,可以大大减少创建,销毁的损耗。3.从扩展的角度看,继续Thread的类,以后不能继承别的类,不利于以后扩展。两种方法本质对比:1.实现Runnable接口,最终调用target.run

2021-03-14 10:30:22 508

原创 获取Class实例的四种方法笔记

例如:附:对java.lang.Class类的理解

2021-03-09 21:55:01 64

原创 Mysql有索引,但是不走索引的场景及解决方案笔记

总结本节讲解几种条件字段有索引,但是使用不了索引的场景。因此在写 SQL 时应该注意这些点:1.应该避免隐式转换2.like查询不能以%开头3.范围查询时,包含的数据比例不能太大4.不建议对条件字段做运算及函数操作...

2021-03-08 16:49:43 765 1

原创 脏读,不可重复读,幻读问题及解决笔记

2021-02-17 09:56:17 439

原创 OSI 和 TCP/IP 协议之间的对应关系笔记

2021-02-16 20:18:15 900

原创 线程池笔记

例如:import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class FixedThreadPoolTest { private static ExecutorService executorService = Executors.newFixedThreadPool(1); public static void main(...

2021-02-08 09:34:12 186

原创 线程的生命周期笔记

所以上述图,细分为如下图:

2021-02-06 12:08:43 71 1

原创 Mysql之总连接查询笔记

2021-02-06 10:21:21 84

原创 数据分析之什么是数据?

2021-02-05 17:50:45 101

原创 JVM 类的加载笔记

例子:

2021-01-26 10:04:43 47

转载 油管最火KMP算法讲解,阿三哥的源代码!

package com.interview.string;/** * Date 09/22/2014 * @author tusroy * * Do pattern matching using KMP algorithm * * Runtime complexity - O(m + n) where m is length of text and n is length of pattern * Space complexity - O(n) */public class Sub

2021-01-06 19:10:17 411

原创 狂神说之什么是Springcloud笔记

2020-12-04 20:51:18 373

原创 狂神说SpringCloud简介笔记

2020-12-04 20:31:12 831

原创 修正的判定/条件覆盖的方法一个例子

给定以下代码,请以判定表达式为测试重点,选择合适的覆盖指标设计测试用例。bool TestLogicCoverage(bool a, bool b, bool c){1 bool x = false;2 if( (a||b) && c)3 x = true;4 else5 x = false;6 return x;}参考答案如下:...

2020-11-29 22:37:25 4594

原创 边界值分析法之两数相加笔记

2020-11-26 22:16:20 351

原创 等价类划分之两数相加实践笔记

2020-11-24 19:51:14 506 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除