自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(196)
  • 收藏
  • 关注

原创 生产经验篇(2)——真实环境的MySQL机器配置规划

真实环境的MySQL机器配置规划

2022-08-18 00:49:22 1432

原创 生产经验篇(1)——删库,怎么修复?

MYSQL删库跑路怎么办?

2022-08-18 00:47:02 737

原创 一文解决SQL调优实战

sql调优实战篇+原理篇

2022-08-12 12:49:20 860

原创 2、MYSQL之InnoDB一次数据更新流程

MYSQL精通系列第二篇

2022-08-12 10:48:09 802

原创 计算机组成原理——计算机如何执行指令(二)

文章目录二进制什么是二进制数移位运算和乘除的关系补数算数右移和逻辑右移的区别字符编码和字符集字符编码字符集静态链接过程动态链接和装载可执行文件装载动态链接二进制我们都知道,计算机的底层都是使用二进制数据进行数据流传输的,那么为什么会使用二进制表示计算机呢?或者说,什么是二进制数呢?在拓展一步,如何使用二进制进行加减乘除?下面就来看一下什么是二进制数那么什么是二进制数呢?为了说明这个问题,我们先把 00100111 这个数转换为十进制数看一下,二进制数转换为十进制数,直接将各位置上的值 * 位权即

2022-03-07 00:48:35 2390 1

原创 计算机组成原理——计算机如何执行指令(一)

文章目录计算机指令CPU如何执行指令CPU 内部处理过程CPU 是一系列寄存器的集合体程序计数器条件分支和循环机制函数调用机制CPU 指令执行过程内存内存的物理结构内存的读写过程内存的现实模型内存的使用指针数组是内存的实现磁盘磁盘的物理结构磁盘缓存虚拟内存总线地址总线数据总线控制总线输入输出设备CPU如何控制I/O设备程序直接控制和中断控制方式DMA存取方式通道控制方式信号和地址CPU 和 I/O 设备之间的通信计算机指令如果我们从软件工程师的角度来讲,CPU 就是一个执行各种计算机指令(Instru

2022-03-07 00:42:13 8126 1

原创 计算机组成原理——计算机基本组成

文章目录计算机的基本硬件组成CPU内存主板I/O 设备显卡冯若依曼和哈佛冯·诺依曼体系结构概述冯·诺依曼体系工作原理(CPU工作原理)哈佛结构哈佛结构和冯诺依曼结构区别计算机的基本硬件组成CPU相当于人的大脑,总指挥人体的各项功能;内存、硬盘相当于大脑中的记忆板块,记录、存储信息的,主板相当于人的神经系统,将人体各部分链接起来;显卡相当于人的眼睛,心脏则是计算机的电源,开通电源才能发起一切活动。CPUCPU 的全称是 Central Processing Unit,它是你的电脑中最硬核的组

2022-03-07 00:32:13 1684

原创 计算机组成原理——计算机的发展历史

文章目录早期的计算器算盘算筹纳皮尔算筹计算尺机械计算机契克卡德计算钟(1623年)帕斯卡计算器(1642年)莱布尼兹步进计算器(1674 年)查尔斯·巴贝奇:现代计算机真正的鼻祖差分思想差分机(1822年):**一种高度自动化的计算机器**​分析机(1833年)第一位程序员:艾达·洛芙莱斯(Ada Lovelace)穿孔制表机(1884)图灵机:计算机世界的理论基石ENIAC(1945年):第一台通用电子计算机冯·诺依曼结构:现代计算机的诞生第二代电子计算机第三代集成电路计算机(1964年)第 4 代大规模

2022-03-07 00:27:01 3214

原创 操作系统——网络系统

文章目录网络为什么要分层?发送数据包零拷贝为什么要有DMA技术传统的文件传输有多糟糕?如何优化文件传输的性能?如何实现零拷贝mmap + writesendfilePageCache有什么作用?大文件传输用什么方式实现?一台机器将自己想要表达的内容,按照某种约定好的格式发送出去,当另外一台机器收到这些信息后,也能够按照约定好的格式解析出来,从而准确、可靠地获得发送方想要表达的内容。这种约定好的格式就是网络协议(Networking Protocol)。​网络为什么要分层?我们这里先构建一个相对简单的

2022-03-07 00:05:17 1984

原创 操作系统——设备管理

文章目录设备控制器I/O控制方式设备驱动程序通用块层存储系统I/O软件分层键盘敲入字母时,期间发生了什么?键盘可以说是我们最常使用的输入硬件设备了,但身为程序员的你,你知道「键盘敲入 A 字母时,操作系统期间发生了什么吗」?设备控制器我们的电脑设备可以接非常多的输入输出设备,比如键盘、鼠标、显示器、网卡、硬盘、打印机、音响等等,每个设备的用法和功能都不同,那操作系统是如何把这些输入输出设备统一管理的呢?为了屏蔽设备之间的差异,每个设备都有一个叫设备控制器(Device Control) 的组件,比如

2022-03-07 00:03:37 3152 2

原创 操作系统——文件系统

文章目录文件系统的功能规划文件系统的基本组成一切皆文件目录项和目录是一个东西吗?那文件数据是如何存储在磁盘的呢?虚拟文件系统文件的物理结构文件块文件分配方式连续分配非连续空间存放方式链式分配隐式链接显式链接索引分配空闲空间的管理空闲表法空闲链表法位图法文件系统的结构文件的存储目录的存储文件系统的功能规划对于运行的进程来说,内存就像一个纸箱子,仅仅是一个暂存数据的地方,而且空间有限。如果我们想要进程结束之后,数据依然能够保存下来,就不能只保存在内存里,而是应该保存在外部存储中。就像图书馆这种地方,不仅空

2022-03-07 00:00:52 15923 8

原创 操作系统——进程间通信

每个进程的用户地址空间都是独立的,一般而言是不能互相访问的,但内核空间是每个进程都共享的,所以进程之间要通信必须通过内核。​进程间通信目的一般有共享数据,数据传输,消息通知,进程控制等。以 Unix/Linux 为例,介绍几种重要的进程间通信方式:共享内存,管道,消息队列,信号量,信号​管道如果你学过 Linux 命令,那你肯定很熟悉「|」这个竖线。$ ps auxf | grep mysql上面命令行里的「|」竖线就是一个管道,它的功能是将前一个命令(ps auxf)的输出,作为后一个命令(

2022-03-06 23:56:47 7782 3

原创 操作系统——进程和线程

文章目录进程进程的概念进程的状态五状态模型七状态模型进程的控制结构进程的切换线程什么是线程?线程的上下文切换进程调度什么时候调度进程以什么原则来调度进程进程调度算法先来先服务时间片轮转调度最短作业优先最短剩余时间优先优先级调度多级反馈队列调度进程进程的概念我们编写的代码只是一个存储在硬盘的静态文件,通过编译后就会生成二进制可执行文件,当我们运行这个可执行文件后,它会被装载到内存中,接着 CPU 会执行程序中的每一条指令,那么这个运行中的程序,就被称为「进程」。我们把操作系统做某件事,抽象成一种

2022-03-06 23:55:34 1808 3

原创 操作系统——内存管理

虚拟内存如果你是电子相关专业的,肯定在大学里捣鼓过单片机。单片机是没有操作系统的,所以每次写完代码,都需要借助工具把程序烧录进去,这样程序才能跑起来。另外,单片机的 CPU 是直接操作内存的「物理地址」。在这种情况下,要想在内存中同时运行两个程序是不可能的。如果第一个程序在 2000 的位置写入一个新的值,将会擦掉第二个程序存放在相同位置上的所有内容,所以同时运行两个程序是根本行不通的,这两个程序会立刻崩溃。​操作系统如何解决这个问题呢?​这里关键的问题是这两个程序都引用了绝对物理地址,而这正是我们.

2022-03-06 23:49:50 1434

原创 面试专题——操作系统

文章目录进程是什么?并行和并发有什么区别吗?进程什么时候会被创建,并生成PBC?进程怎么初始化的?进程的状态?五种状态模型七种状态模型什么会有挂起状态?挂起状态有什么?进程控制块(进程控制结构)PBC具体包含什么呢?每个PBC如何组织起来的呢?就绪队列和阻塞队列的链表的组织形式?进程如何切换?进程切换定义?进程切换步骤?上下问切换的场景有哪些?线程什么是线程?线程的上下文切换?进程与线程的区别?进程如何调度?什么是进程调度?什么时候调度进程?调度算法分类?以什么原则调度进程?进程调度的算法有什么?先来先服服

2022-03-06 16:49:25 1425

原创 操作系统——概述

文章目录什么是操作系统操作系统结构Linux 内核 vs Windows 内核内核什么是内核呢?内核有哪些能力呢?内核是怎么工作的?计算机启动过程系统调用UNIX 系统调用Windows系统调用什么是操作系统不知道你有没有产生过这些疑问:桌面上的图标到底是啥?凭啥我在鼠标上一双击,就会出来一个美丽的画面?这都是从哪里跑出来的?凭什么我在键盘上噼里啪啦地敲,某个位置就会显示我想要的那些字符?电脑怎么知道我鼠标点击的是这个地方,又是怎么知道我要输入的是这个地方?我在键盘上点“a”,是谁在显示器上画

2022-03-01 17:38:01 7167 4

原创 计算机网络综合篇——当键入网址后,到网页显示,其间发生了什么?

文章目录当键入网址后,到网页显示,其间发生了什么孤单小弟-HTTP浏览器做的第一步工作是解析 URL要是上图中的蓝色部分 URL 元素都省略了,哪应该是请求哪个文件呢?生产 HTTP 请求信息真实地址查询-DNS指南好帮手-协议栈可靠传输-TCPTCP 传输数据之前,要先三次握手建立连接TCP 报文生成远程定位-IP假设客户端有多个网卡,就会有多个 IP 地址,那 IP 头部的源地址应该选择哪个 IP 呢?IP 报文生成两点传输-MACMAC 包头格式MAC 发送方和接收方如何确认?既然知道要发给谁,按如何

2022-02-28 19:09:25 1243

原创 计算机网络——数据链路层

文章目录概述MAC地址和ARP协议认识 MAC 地址ARP 是什么ARP 的⼯作机制概述链路是从一个结点到相邻结点的一段物理线路,数据链路则是在链路的基础上增加了一些必要的硬件(如网络适配器)和软件(如协议的实现)网络中的主机、路由器等都必须实现数据链路层局域网中的主机、交换机等都必须实现数据链路层从层次上来看数据的流动仅从数据链路层观察帧的流动主机H1 到主机H2 所经过的网络可以是多种不同类型的注意:不同的链路层可能采用不同的数据链路层协议MAC地址和ARP协议认识 MAC

2022-02-28 18:43:45 3265 3

原创 计算机网络——IP

文章目录1、IP 基本认识1.1、网络层与数据链路层有什么关系呢?2、IP 地址的基础知识2.1、IP 地址的分类2.1.1、什么是 A、B、C 类地址?2.1.2、A、B、C 分类地址最大主机个数是如何计算的呢?2.1.3、为什么要减 2 呢?2.1.4、什么是 D、E 类地址?2.2、IP 分类的优点2.3、IP 分类的缺点2.4、无分类地址 CIDR2.4.1、怎么划分网络号和主机号的呢?2.4.2、为什么要分离网络号和主机号?2.5、公有 IP 地址与私有 IP 地址2.5.1、公有 IP 地址由谁

2022-02-26 01:29:24 1326

原创 计算机网络——TCP

文章目录概述TCP 基本认识什么是 TCP ?TCP报文段结构TCP 和 UDP 区别TCP 和 UDP 应用场景TCP 三次握手和四次挥手TCP 连接建立TCP 三次握手过程和状态变迁为什么是三次握手?不是两次、四次?TCP 连接断开TCP 四次挥手过程和状态变迁为什么挥手需要四次?为什么 TIME_WAIT 等待的时间是 2MSL?为什么需要 TIME_WAIT 状态?TCP可靠性传输流量控制拥塞控制慢启动拥塞避免快速恢复重传机制超时重传快速重传SACK 方法Duplicate SACK概述计算机网

2022-02-26 00:40:35 9294 4

原创 计算机网络——HTTP

文章目录HTTP基本概念1. 「协议」2. 「传输」3. 「超文本」HTTP 请求响应过程HTTP 请求特征持久性连接和⾮持久性连接HTTP 报⽂格式应用层:解决通过应用进程的交互来实现特定网络应用的问题。我们在浏览器的地址中输入某个网站的域名后,就可以访问该网站的内容,这个就是万维网WWW应用,其相关的应用层协议为超文本传送协议HTTPHTTP基本概念HTTP 是超文本传输协议,也就是HyperText Transfer Protocol。HTTP的名字「超文本协议传输」,它可以拆成三个部分:

2022-02-25 23:55:04 1075

原创 计算机网络——基础篇

文章标题OSI 标准模型TCP/IP ⽹络模型应用层传输层网络层数据链路层物理层物理媒介双绞铜线同轴电缆光纤陆地⽆线电信道卫星⽆线电信道要摸清网络,那么第一步肯定是要清楚网络协议的分层结构,看分层结构相当于从上帝视角来看网络,这样后续针对每一个层深入学习就不会摸不着头脑。对于同一台设备上的进程间通信,有很多种方式,比如有管道、消息队列、共享内存、信号等方式,而对于不同设备上的进程间通信,就需要网络通信,而设备是多样性的,所以要兼容多种多样的设备,就协商出了一套通用的网络协议。OSI 标准模型OSI(

2022-02-25 23:40:01 1629

原创 Reactive访问Spring Data Redis

文章目录1、定义2、pom3、yml4、实体类1、定义Lettuce 能够⽀持 Reactive ⽅式Spring Data Redis 中主要的⽀持ReactiveRedisConnectionReactiveRedisConnectionFactoryReactiveRedisTemplateopsForXxx()2、pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.

2022-01-21 23:53:04 1747

原创 分布式专题——Reactive访问Spring Data R2DBC

文章目录1、Spring Data R2DBC1.1、pom1.2、代码2、R2DBC Repository ⽀持2.1、pom2.3、代码2.4、测试类1、Spring Data R2DBC⼀些主要的类ConnectionFactoryDatabaseClientexecute().sql(SQL)inTransaction(db -> {})R2dbcExceptionTranslatorSqlErrorCodeR2dbcExceptionTranslator1.

2022-01-20 11:33:01 1518

原创 分布式专题——Project Reactor

文章目录1、pom2、测试代码3、参考Operators - Publisher / SubscriberNothing Happens Until You subscribe()Flux [ 0…N ] - onNext()、onComplete()、onError()Mono [ 0…1 ] - onNext()、onComplete()、onError()BackpressureSubscriptiononRequest()、onCancel()、onDispose()线程调度 Sc

2022-01-19 10:17:29 887

原创 分布式专题——SpringBoot Cache

文章目录1、介绍1.1、在接口中添加redis缓存1.2、Spring Boot缓存注解1、介绍1.1、在接口中添加redis缓存由于首页数据变化不是很频繁,而且首页访问量相对较大,所以我们有必要把首页接口数据缓存到redis缓存中,减少数据库压力和提高访问速度。改造service-cms模块首页banner接口,首页课程与讲师接口类似1.2、Spring Boot缓存注解(1)缓存@Cacheable根据方法对其返回结果进行缓存,下次请求时,如果缓存存在,则直接读取缓存数据返回;如果缓

2022-01-18 20:07:36 927

原创 分布式专题——Spring Boot JDBC

1、Spring Boot JDBC1.1、pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven

2022-01-11 14:17:44 979

原创 分布式专题——接口幂等性实战

接口幂等性实战

2022-01-10 11:35:16 1122

原创 分布式专题——分布式限流解决方案

文章目录1、什么是限流?2、分布式限流有几种维度呢?3、分布式主流限流方案4、究其本质,限流算法底层4.1、令牌桶算法4.1.1、令牌生成4.1.2、令牌获取4.2、漏桶算法4.2.1、漏桶 vs 令牌桶的区别4.4、滑动窗口5、实现5.1、单体5.1.1、guava的RateLimiter客户端限流5.2、分布式5.2.1、Nginx 限流6、彩蛋(下载文件,前面100m不做限制,后面限制256k)5.2.2、Lua+Redis限流5.2.2.1、纯代码版本1、什么是限流?比如我们春节抢票,你会发现

2022-01-10 11:28:38 2295

原创 JVM(10)——一文串起JVM体系

process on链接:https://www.processon.com/view/link/61912b140e3e744ad4419ff4

2022-01-03 23:39:25 1016 4

原创 JVM(9)——GC

文章目录1、为什么要有GC?2、如何回收垃圾呢?2.1、引用计数法2.1.1、产生的问题:2.2、可达性分析算法(一般用于标记清除和标记整理算法中)3、垃圾收集的算法有什么呢?4、垃圾收集器4.1、串行 GC(Serial GC)/ParNewGC => 标记复制4.2、并行 GC(Parallel GC)=>eden:标记复制 old:标记整理(Java 8默认GC)4.3、CMS GC=>eden:标记复制 old:标记清除4.3.1、六大阶段:4.3.2、应用:4.3.3、

2022-01-03 01:22:53 1283 5

原创 JVM(7)——启动参数

以 - 开头为标准参数,所有的 JVM 都要实现这些参数,并且向后兼容。-D 设置系统属性。以 -X 开头为非标准参数, 基本都是传给 JVM 的,默认 JVM 实现这些参数的功能,但是并不保证所有 JVM 实现都满足,且不保证向后兼容。 可以使用 java -X 命令来查看当前 JVM 支持的非标准参数。以 –XX:开头为非稳定参数, 专门用于控制 JVM的行为,跟具体的 JVM 实现有关,随时可能会在下个版本取消。-XX:±Flags 形式, ± 是对布尔值进行开关。-XX:key=valu.

2022-01-03 01:16:01 2143

原创 JVM(8)——工具篇

文章目录1. JDK 内置命令行工具1.1、jps/jinfo1.2、jstat1.3、jmap1.4、jstack == kill -31.5、jcmd*1.6、jrunscript/jjs2、内置图形化工具2.1、jconsole2.2、jvisualvm2.3、jmc1. JDK 内置命令行工具1.1、jps/jinfojps -> 显示进程号jps -mlv -> 把所有的运行的参数运行出来jinfo在mac有bug解决办法:升级成jdk8以上1.2

2022-01-03 01:13:19 1455

原创 JVM(4)——class文件结构参照表全集

2022-01-03 01:04:22 1070

原创 JVM(6)——JVM内存模型

文章目录1、JVM内存结构2、JVM内存整体结构3、JVM栈内存结构4、JVM 堆内存结构5、JVM整体结构及内存模型1、JVM内存结构解释:1、每个线程都只能访问自己的线程栈2、每个线程都不能访问其他线程的变量3、所有原生类型的局部变量都存储在线程栈中,因此对其他线程是不可见的。4、线程可以将一个原生变量值得副本传给另一个线程,但不能共享原生局部变量本身5、堆内存中包含了 Java 代码中创建的所有对象,不管是哪个线程创建的。 其中也涵盖了包装类型(例如 Byte,Integer,Lon

2022-01-03 00:56:30 1000

原创 JVM(5)——类加载机制

文章目录1、类加载机制1.1、类加载运行全过程1.2、类的加载时机1.3、不会初始化(可能会加载)1.4、类加载器和双亲委派机制1.4.1、类加载器特点1.4.2、类加载器初始化过程1.4.3、全盘加载机制1.4.4、自定义类加载器1.4.5、打破双亲加载机制1.4.6、扩展:tomcat如何打破双亲加载机制1.5、显示当前ClassLoader加载了哪些Jar1.6、添加引用类的几种方式1、类加载机制1.1、类加载运行全过程当我们启动一个Java文件的时候,比如点击main方法时,首先需要通过类

2022-01-03 00:54:09 1593

原创 JVM(3)——Class常量池类型分类

2022-01-03 00:46:52 1281

原创 JVM(2)——字节码指令手册

一、未归类系列A此系列暂未归类。指令码助记符说明0x00nop什么都不做0x01aconst_null将null推送至栈顶二、const系列该系列命令主要负责把简单的数值类型送到栈顶。该系列命令不带参数。注意只把简单的数值类型送到栈顶时,才使用如下的命令。比如对应int型才该方式只能把-1,0,1,2,3,4,5(分别采用iconst_m1,iconst_0, iconst_1, iconst_2, iconst_3,iconst_4, iconst_5)送

2022-01-03 00:45:21 1061

原创 JVM(1)——字节码

1、JVM基础1.1、JDK,JRE,JVM关系JDKJDK(Java Development Kit) 是用于开发 Java 应用程序的软件开发工具集合,包括 了 Java 运行时的环境(JRE)、解释器(Java)、编译器(javac)、Java 归档 (jar)、文档生成器(Javadoc)等工具。简单的说我们要开发Java程序,就需要安 装某个版本的JDK工具包。JREJRE(Java Runtime Enviroment )提供 Java 应用程序执行时所需的环境,由 Java.

2022-01-03 00:43:06 1137

原创 分布式专题——分布式锁全套代码实现(zk,redisson,redis等)

文章目录1、乐观锁,悲观锁2、Redis分布式锁(setnx+lua)自动释放锁3、Zookeeper实现分布式锁4、Zookeeper的Curator实现分布式锁5、Spring集成Redisson原生6、SpringBoot集成Redisson1、乐观锁,悲观锁乐观锁:版本号,也就是version字段;时间戳 AtomicInteger相关类悲观锁:for update 对标单体的Synchronized,ReentrantLock2、Redis分布式锁(setnx+lu

2021-12-30 02:06:15 2023 2

空空如也

空空如也

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

TA关注的人

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