- 博客(18)
- 资源 (12)
- 收藏
- 关注
原创 MySQL - 无索引行锁升级为表锁
文章目录示例SELECT ... LOCK IN SHARE MODE & SELECT ... FOR UPDATE示例mysql> desc country;+-------------+--------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-------------+---
2020-07-31 19:31:19 11507 2
原创 MySQL - 锁等待及死锁初探
版本信息mysql> select version();+-----------+| version() |+-----------+| 5.7.28 |+-----------+1 row in setmysql> MySQL 行锁分析mysql> show status like'innodb_row_lock%';+-------------------------------+--------+| Variable_name .
2020-07-31 15:14:05 12084 2
原创 MySQL - 践行索引优化
文章目录PreTable DemoPreMySQL - Explain深度剖析Table DemoCREATE TABLE `employees` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL DEFAULT '' COMMENT '姓名', `age` int(11) NOT NULL DEFAULT '0' COMMENT '年龄', `position` varchar(20) NOT
2020-07-21 23:15:46 9888 4
原创 MySQL - Explain深度剖析
文章目录官方文档Explain介绍测试数据官方文档https://dev.mysql.com/doc/refman/5.7/en/explain-output.htmlExplain介绍使用EXPLAIN关键字可以模拟优化器执行SQL语句,分查询语句或是结构的性能瓶颈在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL。如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中 。测试数据
2020-07-20 23:08:53 10121
原创 MySQL - MySQL不同存储引擎下索引的实现
文章目录PreMyISAM索引实现非聚簇(非聚集)索引索引原理图InnoDB索引实现聚簇(聚集)索引索引原理图为什么非主键索引结构叶子节点存储的是主键值?(一致性和节省存储空间)PreMySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,我们这里主要讨论MyISAM和InnoDB两个存储引擎的索引实现方式。MyISAM索引实现非聚簇(非聚集)索引我们建立一个myIsam存储引擎的表,看磁盘上的文件存储如下我这个是8.0的MYSQL, 5.7版本 不是sdi结尾的文
2020-07-19 17:08:42 10817 1
原创 MySQL - 剖析MySQL索引底层数据结构
文章目录PrePre什么是索引?通俗的说就是为了提高效率专门设计的一种 排好序的数据结构。怎么理解呢?举个例子哈如上数据 ,假设有个SQLselect * from t where col2 = 22 ;
2020-07-18 16:51:14 11029 1
原创 APM - Javassist 入门 生成一个简单类
文章目录官网概述Javassist作用常用APIJavassist使用流程Javassist 语法Demo参考官网http://www.javassist.org/http://www.javassist.org/tutorial/tutorial.html概述Javassist是一个开源的分析、编辑和创建Java字节码的类库,可以直接编辑和生成Java生成的字节码。相对于bcel, asm等这些工具,开发者不需要了解虚拟机指令,就能动态改变类的结构,或者动态生成类。Javassist简
2020-07-17 14:38:03 9853
原创 APM - Hello Javaagent
文章目录什么是javaagent什么是javaagent简单来说, javaagent 是在class 被装在到ClassLoader之前对其拦截,插入自定义的监听字节码,可实现零侵入的监控,是APM的核心技术Java1.5之后引入的特性
2020-07-16 13:42:16 10070
原创 JVM - Class常量池 || 运行时常量池
文章目录Preclass常量池字面量符号引用符号引用PreJVM - 深入剖析字符串常量池JVM - 基本类型的包装类和对象池class常量池Class常量池我们可以理解为是Class文件中的资源仓库。Class文件中主要由两大部分 类的版本、字段、方法、接口等描述信息外,常量池(constant pool table),用于存放编译期生成的各种字面量(Literal)和符号引用(Symbolic References)。我们来看下我们天天打交道的class文件十六进制的样子 大
2020-07-13 00:40:27 10447
原创 JVM - 一个案例反推不同JDK版本的intern机制以及intern C++源码解析
文章目录Pre案例JDK1.7(含)+JDK1.6PreJVM - 深入剖析字符串常量池案例 String str2 = new StringBuilder("计算机").append("技术").toString(); System.out.println(str2 == str2.intern()); String s2 = new StringBuilder("计算机技术").toString(); System.out.println(s
2020-07-12 00:32:24 9903
原创 JVM - 基本类型的包装类和对象池
文章目录Pre八大基本类型DemoPreJVM - 深入剖析字符串常量池学习了String 字符串常量池。接下来我们也顺便看下基本类型的包装类和起对应的对象池JDK1.8八大基本类型Java基本类型共有八种,基本类型可以分为三类,字符类型char布尔类型boolean数值类型byte、short、int、long、float、doublejava中基本类型的包装类的大部分都实现了常量池技术(严格来说应该叫对象池,在堆上),这些类是Byte,Short,Integer,Long
2020-07-11 23:07:17 9918
原创 JVM - 深入剖析字符串常量池
文章目录字符串常量池位置的变更class文件常量池Class常量池字符串常量池位置的变更Jdk1.6及之前: JVM存在永久代, 运行时常量池在永久代,运行时常量池包含字符串常量池Jdk1.7:有永久代,但已经逐步“去永久代”,字符串常量池从永久代里的运行时常量池分离到堆里Jdk1.8及之后: 无永久代,变成了元空间,运行时常量池在元空间,字符串常量池里依然在堆里class文件常量池Class常量池...
2020-07-08 15:44:22 10349 1
原创 Java - String源码解析及常见面试问题
文章目录PreQ1: String 是如何实现的?它有哪些重要的方法?PreJava Version : 主流版本JDK 8Q1: String 是如何实现的?它有哪些重要的方法?看到了吧 , 底层存储是 char 数组public final class String implements java.io.Serializable, Comparable<String>, CharSequence { // the value is used for charact
2020-07-07 20:20:35 10034
原创 JVM - 要上线了,JVM参数还没正儿八经的估算过咋办?
文章目录PrejstatPre如题, 一顿操作猛如虎,业务系统总算快发布了,可是JVM的参数还是当初随意设置的那么几个参数, 咋弄? 系统的流量预估(均值、峰值)导致一系列的评估: 每秒的对象生成大小,新生代 老年代的比例是否合理, 动态年龄判断机制、老年代担保机制会不会被频繁触发,full gc 的频率。。。。留下一脸懵逼的你在风中瑟瑟发抖~不要怕 ,今天我们就来看一下如何通过合理的预估来设置系统的JVM参数JVM-10虚拟机性能监控与故障处理工具之【JDK的命令行】名称英文全
2020-07-06 23:57:43 9935
原创 JVM - 列出JVM默认参数及运行时生效参数
文章目录Pre-XX:+PrintFlagsInitial 列出JVM参数的默认值-XX:+PrintFlagsFinal 列出运行程序时生效的值-XX:+PrintCommandLineFlags 列出被用户或者JVM优化设置过的详细的XX参数的名称和值列举附加隐藏参数Pre有的时候,想看下自己没有设置的JVM参数的值, 或者有的时候想看下JVM某个参数的默认值 ,亦或想看下用户或者JVM修改的JVM参数 ?咋办 ?JVM在1.6.0_14以后提供了几个参数可以打印出来所有XX参数和对应的值
2020-07-06 16:07:30 11624 5
原创 JVM - 解读GC中的 Safe Point & Safe Region
文章目录Safe Point 安全点Safe Region 安全区域OopMapSafe Point 安全点思考: 如上图 GC的时候,是不是可以马上GC,而不用去care用户线程 ?答案肯定是不行的。 HotSpot中GC不是在任意位置都可以进入,而只能在safepoint处进入。JVM在设计的时候在“特定位置”记录了OopMap , 而这些位置被称为安全点。Safe Region 安全区域OopMapGC 我们都知道是清理那些引用不可达的对象, 简单来说 JVM怎样才能够判断出所有位
2020-07-04 08:18:51 11684 1
原创 JVM - ZGC初探
文章目录PreZGC概述ZGC的目标参考资料PreJVM - G1初探ZGC概述ZGC是一款JDK 11中新加入的具有实验性质的低延迟垃圾收集器,ZGC源自于是Azul System公司开发的C4(Concurrent Continuously Compacting Collector) 收集器。目前很少有公司使用,可适当了解,扩展知识面。ZGC的目标参考资料https://wiki.openjdk.java.net/display/zgc/Mainhttp://cr.op
2020-07-01 16:43:14 10627
原创 JVM - G1初探
文章目录GC概述参考GC概述我们知道Serial 、Serial Old 、 Parallel 、 Parallel Old 、 ParNew 、CMS这些垃圾收集器都是基于分代收集理论,即将内存区域按照存储对象的不同分为年轻带、老年代和元空间。如下G1 和 ZGC 逐渐淡化了这种分代的概念,G1的堆内存分配如下堆被划分为一组大小相等的堆区域,每个堆区域都有一个连续的虚拟内存范围。 这在内存使用方面提供了更大的灵活性。参考https://www.oracle.com/technetwo
2020-07-01 06:51:56 10012
X86-NFS rpm包
2020-11-24
中标龙芯-MIPS- NFS rpm包
2020-11-24
mybatisSource.zip
2020-06-14
apache-tomcat-8.5.50-src.zip
2020-06-02
「Tomcat源码剖析」.pdf
2020-06-01
Jest-5.3.4.zip
2020-01-19
Spring4CachingAnnotationsExample
2017-10-04
Java反编译工具
2015-06-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人