自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Coder Xu

持续学习,保持专注

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

原创 【图文详解】入职必备——SVN使用教程

文章目录前言1、SVN简介2、SVN仓库3、SVN客户端4、SVN基础操作5、撤销和恢复6、添加忽略7、解决冲突8、分支9、代码暂存前言又是一年毕业季,不少小伙伴纷纷入职,我也找到了理想的工作。正式进入公司后并不会像我们自学时自己一个人随心所欲地写代码,需要我们和同事进行协同开发,此时代码管理工具是必不可少的,目前常用的两款工具是:SVN 和 Git,今天我们就来学习一下SVN的使用!该技术博客是关于B站SVN视频教程的笔记总结,希望能为大家带来帮助,视频链接如下:https://www.bili

2021-07-04 11:32:39 124680 18

原创 轻松理解前后端分离(通俗易懂)

文章目录一、前言二、前后端分离本质三、1.前后端分离2.不使用前后端分离会有什么问题一、前言该技术博客是关于楠哥教你学Java的前后端分离课程笔记总结,希望可以为大家带来帮助!二、前后端分离本质大家往往会陷入一个误区,试图用具体的技术来描述什么是前后端分离这个一个概念,这是答非所问的。一提到前后端分离就是SpringBoot + Vue,这并不是正确的理解!我们问的是:你为什么采用这种方式解决问题回答却是:你是如何去具体做这件事前后端分离是:软件技术和业务发展到一定程度,在项目管理工作上必须进

2021-03-28 21:18:01 108924 7

原创 计算机底层原理——汇编语言

前言如果我们想要做高级程序员,汇编语言是我们必经之路,对我的技术提升非常非常重要,总而言之,想要成为高级程序员,我们必须要学会汇编语言,汇编语言是非常重要的计算机底层技术,一般用于底层的编写。不懂汇编的程序员算不上一个好的程序员,充其量是一个熟练使用某种语言的工程师,而编程高手一定要研究底层。1.语言何为语言,就是人和人之间交流的工具。而汇编语言就是计算机的语言。机器语言(二进制):主流的电子计算机只认识 0和1,因为在电路中只有两种状态,要么通电要么断电,我们用数字表示这两种状态就是0和1,我

2020-08-19 12:51:57 17522 9

原创 【MySQL】深入解析事务与MVCC

指的是:事务执行前后,数据库中的数据是一致的。此时可以看到,由于记录的事务id为1,不论是事务A还是事务B的事务id都是 > 记录的trx_id,所以事务A和事务B都能够读取到这行数据。,该机制是InnoDB存储引擎特有的,它解决了并发事务场景下的读写性能问题,完全不需要加锁。,所以对于事务B来说就可以看见事务A修改并提交的数据,由于每次查询操作都会创建最新的。此时事务B再次读取记录信息时,就会发现这条记录的事务id为2,在事务B的。指的是:数据库中多个事务操作之间不会互相干扰,并发执行的事务之间是。

2024-03-23 13:24:44 955

原创 【MySQL】深入解析索引实现原理

对于MySQL数据库来说,有个非常重要的概念就是索引,索引的用途是:加速我们对MySQL数据库的查询操作性能,减少磁盘IO操作。注意这里说的是查询,而不是新增、修改、删除。索引不仅对新增、修改等操作没有性能提升,并且还会降低这类DML(非查询SQL)操作的性能,原因很简单,因为DML操作还需要我们对索引结构不断进行维护…表数据量少字段重复数据多频繁进行DML操作的表如果把MySQL比喻成一本书籍,那么索引。

2024-03-14 20:26:44 981

原创 【MySQL】深入解析日志系统:undo log、redo log、bin log

MySQL数据库提供了功能强大的日志系统,今天来深入学习下这三个日志实现细节。

2024-03-05 13:02:46 968

原创 【MySQL】深入解析 Buffer Pool 缓冲池

MySQL数据库具有可拔插的存储引擎,其中最常用的是InnoDB,而Buffer Pool缓冲池是InnoDB存储引擎中特有的内存结构,MySQL向操作系统内存申请一块内存空间用于缓冲池使用,因为硬盘和内存性能差距大,所以Buffer Pool缓冲池用于协调CPU速度和硬盘速度的鸿沟,大幅度提升MySQL数据库的读写性能。按照我们的惯性思维,这里会有一个疑问:不都说MySQL的数据是基于硬盘存储吗,为什么这里会提到缓冲池内存这概念?MySQL当然是通过硬盘持久化存储。

2024-02-28 20:56:01 1012

原创 TCP如何保证传输可靠性?

在开始阅读该博客之前,先要好好了解一下TCP报文头部到底有那些信息,阅读后续内容时有任何模糊的地方都可以回来这里查看梳理发送方端口:发送网络包程序的端口号接收方端口:接收网络包程序的端口号序列号:也叫序号(seq),发送数据的顺序编号。发送方告知接收方数据包有多少个字节。确认号:也叫ACK号(ack),接收数据的顺序编号。接收方告知发送方已经收到所有数据的第几个字节。首部长度:也叫数据偏移量。表示数据部分的起始位置。保留:暂时没用控制位:也叫标志位。上图中蓝色部分,又叫标志位。

2024-02-19 18:11:22 1434 1

原创 面试官:说说Redis的SDS底层实现原理

该文章已面试场景进行叙述,场景纯属编造,请勿当真!大家好,我是徐志斌。现在找工作真的好难,今天我早早的来到了面试现场,这家公司的HR小姐姐也是很热情的接待了我。正当在会议室中沉浸在和HR姐姐聊天的喜悦中时,沉重的脚步声慢慢走来。只见一个身穿格子衫的秃头大哥抱着笔记本走进来,一看就是公司的技术大佬,我就知道今天的面试怕是凶多吉少。

2023-11-07 22:04:06 264 1

原创 Docker部署SpringBoot +Vue项目流程详解(含域名 + HTTPS)

本次整体部署操作使用阿里云服务器,这里我选择的是香港地区的2核2G ECS(可以省略域名备案操作)。NginxMySQLRedis后端项目前端项目。

2023-10-22 17:17:31 2011 1

原创 【LarkDay】UE开发者沙龙活动回顾

更进一步说,随着技术的迅速进步,现代的3D/XR应用开始集成更加复杂的物理效果、真实的光线追踪、以及更高级的材质和纹理,这无疑进一步增加了渲染的复杂性。在下面的分享中,首先,我会从实时云渲染解决方案LarkXR的系统架构入手,为大家简要介绍实时云渲染的技术路线;第二,我会详细讲解LarkXR根据多年的行业实践沉淀的多场景功能组件,最后我会与大家分享LarkXR与UE的合作以及像素流送插件的产品化、商业化的实践,并展示LarkXR的多样丰富的交付方式及交付体验。此模式非常适合教育场景。

2023-09-05 15:58:37 257

原创 《MySQL技术内幕》读书总结(一):MySQL体系结构和存储引擎

该技术文章是我阅读《MySQL技术内幕 InnoDB存储引擎》第2版的总结梳理我写这里文章的目的:书中的内容过于系统和繁琐,并不是所有的内容都是重点,而且有些描述过于官方所以该文章不会长篇大论搬运书籍中的内容,我会对书中的重点进行总结、提炼、精简;不重要的内容不会体现在文章中,通过更加容易理解的方式,阐述给大家,希望能为屏幕前的你带来帮助数据库:操作系统文件或其他形式文件的集合实例:由后台线程 + 共享内存组成,用于操作数据库文件MySQL是一个单进程,多线程的持久存储数据库。

2023-07-06 20:19:03 1249

原创 【‘Not enough space‘ (errno=12)】通过swap扩容,解决内存溢出

扩容可用的运行内存空间,首先声明扩容的内存容量(本次我扩容大约。今天使用Docker部署Kafka时,发现启动失败,通过。删除swap空间,然后重新设置上述流程!注意:如果之前配置设置错误,可以通过命令。

2023-05-13 16:59:55 1333 4

原创 Docker部署MySQL主从复制架构

接下来所有的命令通过Navicat执行即可。是Yes,说明主从复制搭建成功!查询从节点状态,其中。

2023-05-07 14:02:44 352

原创 Nginx + LVS + KeepAlived实现高可用集群

对于中小型互联网公司,产品所承受的请求量还是比较低的,所以一般使用单节点Nginx + 多服务集群,这种方式就能够满足需求。但是有些公司产品请求量是非常大的,此时单台Nginx可能没办法满足需求(如果单节点宕机,整个系统崩溃),此时就会考虑搭建。调度器,可以虚拟出来一个IP地址(公网IP),这样可以为我们的Nginx集群生成一个唯一的访问IP地址,该IP一般称之为。会进行监控,备用节点也会继续向外提供服务,确保程序还是正常运行,这就是高可用集群的魅力。协议实现的保证集群高可用,主要功能是。

2023-05-02 17:01:30 1382

原创 【实现HTTPS访问】Nginx + SSL证书 + 域名整合流程详解

低于3个月使用期的服务器不可以备案(不可以使用域名访问),我购买的是7天有效期,服务器地址为。:中国大陆的阿里云服务器(套餐为3个月以上),想要使用域名访问服务器需要。将下载好的 SSL 证书上传到服务器中。,具体购买流程这里不做过多讲解。将下载好的 SSL 证书放到。(SSL证书和域名进行绑定)(域名和IP进行绑定)

2023-05-01 18:01:00 1943

原创 【本地项目】上传到【GitLab】流程详解

文件,该文件中存放了SSH密钥内容,将密钥内容粘贴到GitLab中,点击。注意:本篇文章中提到的上传流程所需要的命令,几乎在GitLab的。这样,我们的本地项目就成功上传到GitLab中了。执行完命令后,需要连续回车三次,最后会在。

2023-02-09 20:32:59 7701 2

原创 解析JVM类加载器

类加载过程中,加载阶段第一步操作就是通过一个类的全限定名获取此类的二进制字节流。实现这个动作的代码就是类加载器。任意一个类都必须由加载它的类加载器和这个类本身共同确定类在JVM中的唯一性,每个类加载器都拥有独立的类名称空间;所以即使两个类来自于同一个Class文件,被同一个JVM加载,只要加载它们的类加载器不同,这两个类就必定不相等。站在Java虚拟机角度来看,只存在两种不同的类加载器:JDK9之前,绝大多数Java应用都会使用一下三个系统提供的类加载器进行加载:当然还可以加入自定义类加载器进行拓展,例如

2023-01-26 19:39:34 359 1

原创 深入剖析JVM垃圾收集器

深入理解Java虚拟机》垃圾收集器是GC的实践者,目前常用经典的垃圾收集器有7款,如下图所示:收集器之间的连线说明可以搭配使用,JDK9标识代表在该版本官方已经不支持配合使用了!接下来逐一介绍这几款垃圾收集器。

2023-01-23 20:56:21 590

原创 【Netty】实现IM聊天室案例Demo

该文章不会详细介绍Netty相关概念和原理,主要目的是介绍如何快速构建聊天室Demo。不会在文章主体过多说明代码流程,文章中的代码已经配备了详细的注释。,通过该网页为我们的服务端发送数据,效果如下,说明连接建立成功!启动,监听8080端口,等待客户端发送数据。调整自定义事件中的代码,让其支持。调整自定义事件中的代码,监听。最后,使用Main方法调用。

2023-01-17 21:42:22 1786

原创 Arthas诊断追踪性能案例

阿里巴巴开源的Java诊断工具,基本使用场景是定位复现一些生产环境比较难以定位问题。可以在线排查问题,以及动态追踪Java代码,实时监控JVM状态等等。

2023-01-01 15:08:22 1381

原创 【Kubernetes】从零搭建K8S集群 + KubeSphere平台

首先准备三台服务器(我选择的是青云CentOS7.9):一个主服务器配置为4核8G,两个从服务器配置为8核16G三台服务器处于同一个VPC中:并且公用一个安全组,安全组之间保证组内互信。

2022-10-15 16:26:22 2166

原创 找不到showmount命令:-bash: showmount: command not found

在K8S集群的Worker节点上,使用。

2022-10-14 23:21:41 4535

原创 【K8S】NFS网络文件系统搭建流程

前置环境:三台云服务器,部署了1Master 2Worker的K8S集群。接下来,我们将要搭建NFS文件系统(类似于主从同步的方式)出现下图,说明/nfs/data目录暴露在外,上述配置成功。每个Worker节点执行。

2022-10-13 20:27:27 833

原创 【K8S】部署Ingress流程详解

如果看到这样的场景,说明Ingress部署成功了!集群配置:1Master,2Worker。编辑文件过程中搜索命令:" / "

2022-10-12 21:50:00 1193 1

原创 【K8S】Kubernetes集群搭建流程详解

可以把VPC想象成一个大型网络,我们可以在VPC中创建多个私有网络,私有网络中部署我们三台云服务器,私有网络之间是隔离的。三台ESC之间相互通信通过它们各自的内网ip即可(使用公网IP也可以通信,不过会浪费很多流量)我们一定要确保三台ESC处于同一个私有网络,处于同一个VPC中,并且三台ESC之间可以互相访问(相互可以ping通),使用的安全组策略也是相同的!通过查看节点得知,我们虽然部署了Master节点,但是主节点并不是Ready状态,需要安装部署好。三台ESC都需要执行。三台ESC都需要执行。

2022-10-11 09:14:48 2845 1

原创 Worker节点加入K8S集群报错:error execution phase preflight: couldn‘t validate the identity of the API Server

Kubernetes的Bug场景

2022-10-08 22:47:37 1948

原创 报表工具的二次革命

温馨提示:本文大约9000字左右,预计阅读时长10分钟报表工具是一个历史比较悠久的软件类产品了,已经有20年以上的发展历史了,在这20多年中,产品在不断的更新迭代,不断的随着需求的改变而进步完善,持续发挥着自己的价值在这无数次的更新迭代中,又有两次比较大的变革,极具重要意义,可以算作是工具发展史上的两大里程碑式的革命,对软件的发展走向起到了决定性的作用第一次革命发生在报表工具诞生的初期,当时基础类,工具类软件,基本都是国外软件的天下,报表工具似乎也不例外,外国人带着他们的报表工具进入中国,也想像数据库一样,

2022-06-06 08:06:45 995 5

原创 线程锁(ReentrantLock、synchronized)为何不能用作分布式锁

1、为什么使用分布式锁分布式锁主要应用在大型的分布式架构场景,分布式架构可以简单理解为将一个Web应用,部署在多个应用服务器上:分布式锁适用于分布式架构场景,例如:商品秒杀抢优惠卷如果没有保证线程安全,就可能会出现商品超卖、优惠卷发超等现象,例如下图代码:我们会判断商品库存是否大于0,如果有库存就会将库存 - 1,不过有个问题,如果同时有多个用户(多线程)同时发送请求给接口,例如三个用户同时请求接口,同时获取商品库存、扣除库存,很有可能商品库存最终只扣除1次,这时候数据安全性就得不到保障

2022-05-18 12:46:37 2338

原创 Tomcat肥猫越来越胖,干崩了我的云服务器

文章目录问题描述解决方法解决方式问题描述一个月前,我申请了一年的2核4G的腾讯云服务器,将一个单体架构Java应用部署到这台新开封的云服务器上面,就在今天,我依然一如既往的访问了一下服务器(想好好欣赏一下),但是事与愿违,它挂掉了。。接着我通过 ping 命令来访问自己的服务器ip地址,结果发现可以ping通(服务器正在运行),这就奇怪了,昨天还能访问的网站为什么今天就没办法访问了?不服气,我登陆了腾讯云官网,查看了一下自己的服务器状态,发现确实没有任何问题。突然我发现了一个醒目的地方,我的系统盘

2022-05-05 17:26:05 1911 7

原创 深入理解JUC之Synchronized原理

文章目录1、理解Synchronized2、理解Java对象头3、Monitor管程(监视器)4、Synchronized进阶原理4.1、偏向锁4.2、轻量级锁4.3、重量级锁1、理解SynchronizedSynchronized是JDK为我们提供的锁,主要用于处理线程安全问题,线程安全问题的根本原因是线程上下文切换,导致字节码指令的交错,我们通过Synchronized保护共享资源,在并发场景下,采用上锁的方式使得资源只能某个时刻只能被一个线程操作,这样防止多个线程同时操作共享资源导致的错误问题,保

2022-04-06 20:13:21 1120

原创 并发事务问题与事务隔离级别

文章目录1、什么是事务2、并发事务所遇到的问题2.1、脏读2.2、不可重复读2.3、幻读3、事务隔离级别该技术博客根据B站黑马MySQL教程做的笔记总结希望能为大家带来帮助!感谢你的三连1、什么是事务学习并发事务之前,需要理解什么是事务:事务:一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。例如转账案例,A账户给B账户转账1000元,那么A账户就会失去1000元,B账户增加1000元,那么这两

2022-03-18 18:34:31 1873

原创 【日志系统】redo log 和 binlog 详解

文章目录1、MySQL基础架构2、连接器该博客是我根据极客时间的付费课程《MySQL实战45讲》做的笔记总结希望能为大家带来帮助,感谢你的三连!1、MySQL基础架构先给出的是 MySQL 的基本架构示意图,可以看到 SQL 语句在 MySQL 的各个功能模块中的执行过程:根据上图得知,可以分为 Server 层和存储引擎层两部分:Server 层:涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过

2022-03-18 12:17:52 2815

原创 深入理解ThreadLocal

文章目录1、什么是 ThreadLocal2、ThreadLocal 使用案例3、ThreadLocal和 sychronized区别1、什么是 ThreadLocalThreadLocal类用来为线程内部提供局部变量。该变量在多线程环境下读写能保证各个线程变量独立于其他线程内的变量。不同的线程之间不会相互干扰!总结:线程并发:在多线程并发场景下(单线程不需要使用ThreadLocal)传递数据:我们可以通过ThreadLocal在同一线程,不同组件中传递公共变量线程隔离:每个线程变量都

2022-03-08 18:56:41 1231 2

原创 VirtualBox + Vagrant 快速搭建 Linux 环境

文章目录1、前言2、下载安装 VirtualBox3、使用 Vagrant 完成搭建3.1、下载安装 Vagrant3.2、通过Vagrant安装并启动镜像3.3、连接Linux系统1、前言我们通常使用VMWare + Centos7方式来搭建Linux环境,通过在VMWare虚拟机上安装Centos7来完成环境的搭建,但是这个过程非常的繁琐,接下来介绍一种新的搭建方式,非常小巧方便!2、下载安装 VirtualBox首先登录到VirtualBox的官网:https://www.virtualb

2022-02-22 21:35:17 822 1

原创 LeetCode反转链表图解

LeetCode206:反转链表(Easy)题目图解代码详解:class Solution{ private ListNode reverseNodeList(ListNode head){ //1.定义三个节点,分别是pre,cur,nex ListNode pre = null; ListNode cur = head; ListNode nex = null; //2.链表进行反转,当cur为null停止循环 while(cur != null){

2022-02-09 17:05:38 948

原创 Java8常用特性:Lambda、Stream流、方法引用、函数式接口

文章目录1、函数式接口2、Lambda表达式3、方法引用4、Stream流5、Optional类1、函数式接口定义:只包含一个抽象方法的接口,称为函数式接口常见的函数式接口举例:我们可以在一个接口上使用 @FunctionalInterface 注解,这样做可以检查它是否是一个函数式接口。比如我们创建一个接口,里面定义两个抽象方法后家上注解,但是这样会发现编译就会报错,因为它并不是函数式接口2、Lambda表达式表达式语法:Lambda 表达式:在Java 8 语言中引入的一种新的语法元

2022-02-02 21:40:36 3759 3

原创 Docker部署中间件总结(MySQL、Redis、ElasticSearch、XXL-JOB、Sentinel等...)

文章目录1、Linux安装Docker1.1、卸载旧版Docker1.2、安装Docker前置准备1.3、安装Docker1.4、启动Docker服务1.5、设置Docker开机自启动1.6、配置Docker阿里云镜像加速2、Docker安装MySQL2.1、下拉MySQL镜像2.2、启动MySQL镜像2.3、修改MySQL配置3、Docker安装Redis3.1、下拉Redis镜像3.2、启动Redis镜像1、Linux安装Docker本文采用的版本是Centos7版本的Linux系统1.1、卸

2022-01-30 10:28:42 6219 1

原创 【谷粒学院】微信支付功能案例笔记

文章目录1、引入依赖2、编写配置文件3、后端接口代码4、前端说明1、引入依赖引入微信支付所需要的相关依赖:<dependencies> <dependency> <groupId>com.github.wxpay</groupId> <artifactId>wxpay-sdk</artifactId> <version>0.0.3</version>

2022-01-28 11:44:44 1183

原创 计算机网络热门面试题(附标准答案)

文章目录计算机网络分层体系结构(五层举例)三次握手四次挥手为什么不是两次握手四次挥手中TIME_WAIT状态作用(为什么要等待2MSL)HTTP和HTTPS区别对称加密与非对称加密HTTPS工作流程HTTP常见状态码GET和POST区别和应用TCP和UDP区别和应用浏览器输入URL访问页面过程Cookie和Session区别什么是ARP协议什么是ARQ协议DNS解析过程HTTP 长连接和短连接?分别应用哪些场景?IP地址和MAC地址TCP流量控制(滑动窗口机制)TCP拥塞控制TCP 如何保证可靠传输前言:

2022-01-20 11:46:27 18726 9

空空如也

空空如也

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

TA关注的人

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