自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小工匠

show me the code ,change the world

  • 博客(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

Scalable IO in Java

NIO - Scalable IO in Java

2023-11-10

腾讯万亿级 Elasticsearch 架构实践

腾讯万亿级 Elasticsearch 架构实践

2023-07-24

实时分析引擎&实时分析引擎

实时分析引擎

2023-07-24

X86-NFS rpm包

gssproxy-0.7.0-21.el7.x86_64.rpm keyutils- libbasicobjects-0 libcollection-0.6 libevent-2.0.21-4 libini_config libnfsidmap libpath_utils-0.2 libref_array-0.1. libtirpc-0.2.4-0. libverto-libeventm nfs-utils-1.3.0-0m quota-4.01-14.ns7 quota-nls-4.01-14 rpcbind tcp_wrappers

2020-11-24

中标龙芯-MIPS- NFS rpm包

gssproxy-0.7.0-4.ns7_4.mips64 keyutils-1.5.8-3. libbasicobjects-0 libcollection-0.6 libevent-2.0.21-4 libini_config-1.3 libnfsidmap-0.25- libpath_utils-0.2 libref_array-0.1. libtirpc-0.2.4-0. libverto-libeventm nfs-utils-1.3.0-0m quota-4.01-14.ns7 quota-nls-4.01-14 rpcbind-0.2.0-42. tcp_wrappers-7.6

2020-11-24

mybatisSource.zip

MyBatis源码功能演示环境 ,演示MyBatis的Executor 、StatementHandler 、 SQL映射、对象转换 等核心功能

2020-06-14

apache-tomcat-8.5.50-src.zip

Tomcat启动流程分析 组件的生命周期管理 用Lifecycle管理启动、停止、关闭 Lifecycle接口预览 几个核心方法 Server中的init方法示例 为啥StandardServer没有init方法 LifecycleBase中的init与initInternal方法 为什么这么设计? 分析Tomcat请求过程 链接器(Connector)与容器(Container) 解耦 Connector设计 监听服务端口,读取来自客户端的请求 将请求数据按照指定协议进行解析 根据请求地址匹配正确的容器进行处理 将响应返回客户端 Container设计 Servlet容器的实现。

2020-06-02

「Tomcat源码剖析」.pdf

Tomcat源码剖析 : 整体架构 层层分析 源码解析 架构分析 (Http服务器功能:Socket通信(TCP/IP)、解析Http报文 Servlet容器功能:有很多Servlet(自带系统级Servlet+自定义Servlet),Servlet处理具体的业务逻辑)

2020-06-01

Jest-5.3.4.zip

Jest是Elasticsearch 的Java Http Rest 客户端。 ElasticSearch已经具备应用于Elasticsearch内部的java API,但是Jest弥补了ES自有API缺少Elasticsearch Http Rest接口客户端的不足。 Jest 配置ES 集群 示例代码 及源码解读 - 核心原理 - NodeChecker源码解读 -

2020-01-19

MQ对比:Kafka VS Rocketmq VS Rabbitmq.pdf

MQ对比:Kafka VS Rocketmq VS Rabbitmq 超详细 ,值的收藏,参考资料

2019-11-04

elasticsearch-analysis-ik-6.4.1.zip

修改ik分词器源码,支持从mysql中每隔一定时间,自动加载新的词库

2019-08-20

Nginx1.14.2 + zlib + pcre + openssl

1. nginx 主软件 和 3个依赖包 zlib + pcre + openssl

2019-03-12

Spring4CachingAnnotationsExample

Spring4CachingAnnotationsExample的示例,通过Java注解的方式整合EhCache框架

2017-10-04

ORACLE_AWR报告详细分析

ORACLE_AWR报告详细分析

2016-09-28

Java反编译工具

jd-gui.exe使用C++开发,主要具有以下功能: 一、支持众多Java编译器的反编译; 二、支持对整个Jar文件进行反编译,并本源代码可直接点击进行相关代码的跳转;

2015-06-04

空空如也

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

TA关注的人

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