自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(143)
  • 资源 (4)
  • 收藏
  • 关注

原创 分布式事务

分布式事务

2024-01-06 00:01:15 821

原创 java 日期时区转换类

【代码】java 日期时区转换类。

2023-07-26 14:27:57 257

原创 24 | MySQL是怎么保证主备一致的?

以下内容出自《MySQL 实战 45 讲》 https://time.geekbang.org/column/article/76446。

2023-07-10 23:02:44 784

原创 23 | MySQL是怎么保证数据不丢的?

以下内容出自《MySQL 实战 45 讲》

2023-07-09 17:55:28 2042 1

原创 21 | 为什么我只改一行的语句,锁这么多? MySQL 加锁规则和实战分析

可重复读隔离级别遵守两阶段锁协议,所有加锁的资源,都是在事务提交或者回滚的时候才释放的。在最后的案例中,知道 next-key lock 实际上是由间隙锁加行锁实现的。如果切换到读提交隔离级别 (read-committed) 的话,就只剩下行锁的部分。其实读提交隔离级别在外键场景下还是有间隙锁,在读提交隔离级别语句执行过程中加上的行锁,在语句执行完成后,就要把“不满足条件的行”上的行锁直接释放了,不需要等到事务提交。

2023-07-06 23:32:32 193

原创 19 | 为什么我只查一行的语句,也执行这么慢?

以下内容出自 《MySQL 实战 45 讲》

2023-07-06 21:38:01 80

原创 18 | 为什么这些SQL语句逻辑相同,性能却差异巨大?

在这个例子里,放弃了树搜索功能,优化器可以选择遍历主键索引,也可以选择遍历索引 t_modified,优化器对比索引大小后发现,索引 t_modified 更小,遍历这个索引比遍历主键索引来得更快。交易编号 tradeid 这个字段上,本来就有索引,但是 explain 的结果却显示,这条语句需要走全表扫描。这是因为,tradeid 的字段类型是 varchar(32),而输入的参数却是整型,所以需要做类型转换。MySQL 中,字符串和数字做比较的话,是将字符串转换成数字。上面的语句实际上相当于。

2023-07-02 18:44:46 37

原创 16 | “order by”是怎么工作的?

MySQL 会给每个线程分配一块内存用于排序,称为 sort_buffer。排序时可能在内存中完成,也可能需要使用外部排序,这取决于排序所需的内存和参数 sort_buffer_size。sort_buffer_size,就是 MySQL 为排序开辟的内存(sort_buffer)的大小。如果要排序的数据量小于 sort_buffer_size,排序就在内存中完成。但如果排序数据量太大,内存放不下,则不得不利用磁盘临时文件辅助排序。

2023-07-02 18:20:13 37

原创 14 | count(*)这么慢,我该怎么办?

一下内容出自《MySQL 实战 45 讲》

2023-07-02 12:17:50 117

原创 13 | 为什么表数据删掉一半,表文件大小不变?

以下内容出自 《MySQL 实战 45 讲》

2023-07-01 15:36:37 222

原创 12 | 为什么我的MySQL会“抖”一下?

一下内容出自 《MySQL 实战 45 讲》

2023-06-29 22:33:11 106

原创 11 | 怎么给字符串字段加索引?

以下出自《MySQL 实战 45 讲》

2023-06-29 00:20:14 113

原创 10 | MySQL为什么有时候会选错索引?

以下内容出自《MySQL 实战 45 讲》

2023-06-28 23:37:18 170

原创 09 | 普通索引和唯一索引,应该怎么选择?

以下内容出自《MySQL 实战 45 讲》

2023-06-27 23:58:23 132

原创 08 | 事务到底是隔离的还是不隔离的?

以下内容出自《MySQL 实战 45 讲》

2023-06-27 23:15:22 177

原创 PHP 基础知识

目录PHP基础 2PHP代码标记 2PHP注释 2PHP语句分隔符 2PHP变量 3常量 3数据类型 4流程控制 6文件 7函数 9闭包 11常用系统函数 12错误处理 13错误显示设置 15字符串类型 17字符串相关函数 19数组 21遍历数组 22数组的相关函数 25PHP基础PHP是一种运行在服务器端的脚本语言,可以嵌入到HTML中。 PHP代码标记在PHP历史中,可以使用多种标记来区分P...

2023-06-26 23:30:00 2257

原创 06、07 | 全局锁、表锁和行锁

以下内容出自《MySQL 实战 45 讲》

2023-06-26 23:15:46 102

原创 MySQL EXPLAIN

EXPLAIN命令是查看查询优化器如何决定执行查询的主要方法。

2023-06-25 22:40:43 277

原创 04 | 05 深入浅出索引

以下出自《MySQL 实战 45 讲》

2023-06-25 22:05:13 308

原创 03 | 事务隔离:为什么你改了我还看不见?

以下出自 《MySQL 实战 45 讲》

2023-06-25 20:40:06 135

原创 02 | 日志系统:一条SQL更新语句是如何执行的?

write pos 是当前记录的位置,一边写一边后移,checkpoint 是当前要擦除的位置,也是往后推移并且循环的,擦除记录前要把记录更新到数据文件。特点:物理日志,大小固定,循环写入,当Mysql意外宕机后,记录好的 redo log 在 Mysql 重启后可根据 redo log 中的记录继续向磁盘中写入数据,这个能力被称之为:crash-safe。2、执行器拿到引擎给的行数据,把这个值加上 1,比如原来是 N,现在就是 N+1,得到新的一行数据,再调用引擎接口写入这行新数据。

2023-06-24 23:43:46 353

原创 01 | 一条 SQL 查询语句是如何执行的?

以下内容出自 《MySQL 实战 45 讲》

2023-06-24 22:45:13 3370 1

原创 Flink standalone 集群会话模式部署搭建

1、下载 flink-1.17.0-bin-scala_2.12.tgz 放到指定的目录下,然后解压。启动成功后,可以访问 http://hadoop:8081 对 flink 集群和任务进行监控管理。如果执行报错,bash: jps: command not found, 则需要在各个节点上执行。2、flink-1.17.0-bin-scala_2.12.tgz 安装包,节点服务器的 flink 的 bin 目录下,执行。1)进入解压的目录下的 conf 路径,修改。2、修改集群配置信息。

2023-06-02 23:28:20 537

原创 pg、mysq docker 安装

【代码】pg、mysq docker 安装。

2022-10-03 20:34:39 389

原创 docker-compose 安装 flink

【代码】docker-compose 安装 flink。

2022-10-03 20:30:53 867 1

原创 docker-compose 安装 es集群、kibana、cerebro、Logstash 导入测试数据

此集群为 3 节点,故创建 es01,es02,es03 三个文件夹,在每个文件夹下新建 data、conf、plugins 文件夹。在 es0x/conf 创建 elasticsearch.yml,添加如下内容。4、启动集群,在docker-compose文件所在目录下运行命令。3、编写 docker-compose.yml 文件。5、启动成功后,访问对应地址。注意 IP 修改成自己的。修改端口、挂载目录等。

2022-10-03 20:28:03 2323 2

原创 输入字符串,计算占据英文长度

计算字符串占据的英文长度。

2022-10-01 19:33:59 185

原创 单例模式实现及防止反射与序列化

单例模式模式动机对于系统中的某些类来说,只有一个实例很重要,如一个系统中只有一个计时工具和 ID(序号)生成器。单例模式适用情况包括:系统只需要一个实例对象;客户调用类的单个实例只允许使用一个公共访问点。定义顾名思义,用来保证一个对象只能创建一个实例,除此之外,它还提供了对实例的全局访问方法。单例模式的要点有三个:一是类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。实现为了确保单例实例的唯一性,所有的 单例构造器都要被声明为私有 的,再通过声明 静态方法实

2022-07-19 22:36:06 752

原创 基于nmap 的简单主机、端口探测和基于curl的接口探测

程序下载程序说明程序功能主机探测(基于 nmap 命令)端口探测(基于 nmap 命令)API/URI 探测(基于 CURL 命令)使用示例主机探测nmap 对应命令:nmap -sn -PE ip/域名nmap 命令探测实现(Zen Nmap GUI 工具)程序探测实现public PingResult ping(String nmapPath, List<String> urls){ NmapUtil util = new NmapUtil(nmap

2022-05-18 21:00:19 475

原创 CentOS7 集群搭建

环境准备1、VMware Workstation 16 Pro2、CentOS-7-x86_64-DVD-2009.iso3、SSH 连接改工具 finashell一、安装 centosVMware安装CentOS7超详细版_Xiao J.的博客-CSDN博客_vmware安装centos7如果网络无法打开,则检查本机上的下面两个服务是否打开。二、配置 centos1、更换为国内源mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/

2022-04-05 11:46:49 5501 6

转载 单例模式实现以及防止反射与序列化

单例模式模式动机对于系统中的某些类来说,只有一个实例很重要,如一个系统中只有一个计时工具和 ID(序号)生成器。单例模式适用情况包括:系统只需要一个实例对象;客户调用类的单个实例只允许使用一个公共访问点。定义顾名思义,用来保证一个对象只能创建一个实例,除此之外,它还提供了对实例的全局访问方法。单例模式的要点有三个:一是类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。实现为了确保单例实例的唯一性,所有的 单例构造器都要被声明为私有 的,再通过声明 静态方法实

2022-03-15 07:21:11 490

原创 Java虚拟机

文章目录Java代码执行流程内存结构概述类加载子系统类的加载过程加载链接验证(Verify)准备(Prepare)解析(Resolve)初始化类加载器的分类启动类加载器(引导类加载器,Bootstrap ClassLoader)扩展类加载器(Extension ClassLoader)应用类程序加载器(系统类加载器,AppCLassLoader)用户自定义类加载器为什么要自定义类加载器用户自定义类加载器的实现步骤获取ClassLoader的途径双亲委派机制工作原理优势双亲委派模型破坏举例(4次)模块化下的类

2021-01-06 20:30:53 1325 2

原创 高性能MySQL概述

MySQL逻辑架构大多数MySQL核心功能都在第二层架构,包括查询解析、分析、优化、缓存以及所有的内置函数,所有跨存储引擎的功能都在这一层实现:存储过程、触发器、视图等。第三层包含了存储引擎。存储引擎负责MySQL中数据的存储与提取。但存储引擎不会去解析SQL(InnoDB是个例外,它会解析外键定义)。事务原子性(atomicity):一个事务必须被视为一个不可分割的最小工作单元。一致性(consistency):数据库总是从一个一致性状态转换到另外一个一致性的状态。隔离性(is

2020-12-27 23:01:28 1315 3

原创 简单工厂模式

简单工厂模式简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式适用情况包括:工厂类负责创建的对象比较少;客户端只知道传入工厂类的参数,对于如何创建对象不关心。简单工厂模式包含如下角色:Factory:工厂角色工厂角色负责实现创建所有实例的内部逻辑

2020-12-18 07:38:54 143

原创 单例模式的各种实现

单例模式模式动机对于系统中的某些类来说,只有一个实例很重要,如一个系统中只有一个计时工具和ID(序号)生成器。单例模式适用情况包括:系统只需要一个实例对象;客户调用类的单个实例只允许使用一个公共访问点。定义顾名思义,用来保证一个对象只能创建一个实例,除此之外,它还提供了对实例的全局访问方法。单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。实现为了确保单例实例的唯一性,所有的单例构造器都要被声明为私有的,在通过声明静态方法实现全

2020-12-18 07:33:42 156

原创 RestTemplate简单介绍

请求方法GETgetForEntitygetForObjectPOSTpsoForEntitypostForEntitypostForLocationPUTputDELETEdeleteGET请求第一种:getForEntity函数该方法返回的是ReponseEntity对象,改对象是spring对http请求响应的封装,其中主要存储了http的几个重要对象 。如请求状态的枚举对象HttpStatuis,在它的父类HttpEnt...

2020-11-03 07:43:36 223

原创 JS中var、let和const

var与let1、作用域不同let声明的变量只在其所在代码块内有效。var声明的变量在全局范围内有效。var a = [];for(var i =0; i <10; i++){ a[i] = function(){ console.log(i); }}a[6]();//10 i 全局有效 a数组的成员的i指向同一个ifor循环设置循环变量的那部分是一个父作用域,而循环内部是一个单独的子作用域for(let i = 0; i < 3; i++){ let

2020-11-03 07:30:36 259

原创 JS时间操作

获取当前日期时间以及其他操作var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份(4位)myDate.getMonth(); //获取当前月份(0-11,0代表1月)myDate.getDate(); //获取当前日(1-31)myDate.getDay(); //获取当前星期X(0-6,0代表星期天)myDate.get

2020-10-12 21:18:33 133

原创 Summernote富文本编辑器的使用

查看的博客https://www.cnblogs.com/kenhome/p/7743394.htmlhttps://blog.csdn.net/wqlove520/article/details/96331111https://www.cnblogs.com/hzb462606/p/8987832.htmlhttps://www.cnblogs.com/cxchanpin/p/7323632.htmlhttps://blog.csdn.net/a11441555/article/details/

2020-07-24 22:10:10 640 1

原创 MyatisGenerator(Mysql 8)

链接:https://pan.baidu.com/s/1g_xAgzv_ROK59SRSxcGICA提取码:d247效果代码:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis

2020-07-23 21:16:44 264

PHP 核心编程技术 个人笔记

PHP 核心编程技术 个人笔记 表单传值 4 表单传值的方式 4 GET传值 4 POST传值 4 PHP接收数据的三种方式 5 PHP处理复选框数据 6 复选框表单项的命名方式 6 复选框数据的接收形式 6 复选框数据的常见处理 7 复选框细节 8 文件上传 8 原理 8 表单写法 9 $_FILES变量详解 9 移动临时文件到目标位置 11 多文件上传 11 多文件上传的$_FILES变量的数据结构形式 12 对多文件信息的遍历读取和处理 13 文件上传后续问题 14 Mysql扩展 17 连库基本操作 17 连接数据库服务器 17 设置连接编码 18 选定要使用的数据库 18 关闭连接 19 执行增删改操作 19 执行查询操作 21 执行查询语句 21 获取结果集行数 21 解析结果集 22 其他相关函数 23 有关字段信息 23 有关出错信息 24 其他函数 24 HTTP协议 25 HTTP协议概念 25 HTTP协议特点 25 HTTP协议分类 25 HTTP请求 26 请求行 26 请求头 26 请求体 26 HTTP响应 27 响应行 27 响应头 27 响应体 27

2023-06-26

PHP 核心编程技术 个人学习文档

PHP 核心编程技术 个人学习文档 表单传值 4 表单传值的方式 4 GET传值 4 POST传值 4 PHP接收数据的三种方式 5 PHP处理复选框数据 6 复选框表单项的命名方式 6 复选框数据的接收形式 6 复选框数据的常见处理 7 复选框细节 8 文件上传 8 原理 8 表单写法 9 $_FILES变量详解 9 移动临时文件到目标位置 11 多文件上传 11 多文件上传的$_FILES变量的数据结构形式 12 对多文件信息的遍历读取和处理 13 文件上传后续问题 14 Mysql扩展 17 连库基本操作 17 连接数据库服务器 17 设置连接编码 18 选定要使用的数据库 18 关闭连接 19 执行增删改操作 19 执行查询操作 21 执行查询语句 21 获取结果集行数 21 解析结果集 22 其他相关函数 23 有关字段信息 23 有关出错信息 24 其他函数 24 HTTP协议 25 HTTP协议概念 25 HTTP协议特点 25 HTTP协议分类 25 HTTP请求 26 请求行 26 请求头 26 请求体 26 HTTP响应 27 响应行 27 响应头 27 响应体 2

2023-06-26

ESP8266wifi-master,RCSwitch,SCoop-master

ESP8266wifi-master压缩包文件,SCoop-master压缩包,RCSwitch压缩包

2019-04-09

Adafruit-NeoPixel-master

Adafruit_NeoPixel-master压缩包文件

2019-04-09

PHP核心编程技术pdf

PHP基础篇的升级篇,适合具有一定PHP基础的去看,个人学习笔记。

2018-08-31

PHP基础笔记pdf

适合小白 ,入门笔记,自己的个人学习记录,也算是比较浅显易懂。

2018-08-31

MySQL基础笔记pdf

个人根据视频资源,依照个人的看法与学习,做的一个mysql的个人笔记。

2018-08-31

空空如也

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

TA关注的人

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