自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(272)
  • 资源 (3)
  • 收藏
  • 关注

原创 【HTML5系列教程】

**内容包括HTML简介、服务器的概念、B/S、C/S软件架构、前端与后端的开发内容、HTML发展历程、浏览器内核介绍、Web标准、WebStorm工具的使用、WebStorm常用快捷键、HTML常用标签****如:文本标签(span)、排版标签(div/p/h1~h6)、图像标签(img)、超链接(a)、锚点的使用、列表标签(ul/li)、表格标签(table)、表单标签(form)****元素的种类、块级元素/行内元素/行内块元素的特点****HTML5新增标签:包括布局标签(header/

2023-06-08 08:30:47 3722 2

原创 《SSM系列教程》

本系列教程包括MyBatis、Spring、SpringMVC等框架的使用和练习;MyBatis包括基本环境搭建、MyBatis参数传递详解、resultMap的使用、MyBatis事务管理、MyBatis的数据源、MyBatis动态标签、多表关系映射查询、延迟加载、MyBatis一级缓存、二级缓存、MyBatis注解开发、MyBatis的插件原理、MyBatis的执行器详解、MyBatis组件源码分析等Spring包括。

2022-11-29 20:26:47 3799 4

原创 《23种设计模式系列教程》

**一共包含创建型设计模式5种、结构型设计模式7种、行为型设计模式11种,共23种设计模式**- 1)**创建型模式:**用于描述“怎样创建对象“,它的主要特点是“将对象的创建与使用分离”。GoF 中提供了**单例、原型、工厂方法、抽象工厂、建造者**等 5 种创建型模式。- 2)**结构型模式:**用于描述如何将类或对象按某种布局组成更大的结构,GoF 中提供了**代理、适配器、桥接、装饰、外观、享元、组合**等 7 种结构型模式。- 3)**行为型模式:**用于描述类或对象之间怎样相互协作

2022-09-29 06:38:35 2713 3

原创 【MySQL系列教程】

本系列教程是为零基础想要学习MySQL的学习者量身定制的系列教程,涵盖绝大部分MySQL知识点。包括:数据库系统的简介、数据库基本的DDL/DML/DQL等操作、数据库字符集、排序、分组、聚合、having、case when语句、数据库备份与恢复、约束、级联、外键、表连接(内连接、左/右连接、全连接)、子查询、复杂查询、表关系、DCL创建用户、删除用户、赋予/回收权限、事务、视图、存储过程、存储函数

2022-08-29 09:39:47 9978 2

原创 【Java IO模型系列教程-目录大纲】

内容包括BIO、NIO、AIO等Java支持的三大IO模型编程案例,另外提供NIO的一些工具类的使用,Files/Path等,并附上完整案例代码,包括基于磁盘的BIO(FileInputStream/FileOutputStream/RandomAccessFile),基于网络的BIO(Socket/ServerSocket/DatagramSocket),NIO的三大组件:Buffer、Channel、Selector等,基于磁盘的NIO:FileChannel;基于网络的NIO:SocketChanne

2022-06-24 08:42:18 1361 3

原创 五种IO模型:操作系统五种IO模型大全

包含操作系统的应用与内核,CPU指令等级,内核空间、用户空间,内核态与用户态;网络IO,磁盘IO,内存IO,异步/同步IO,阻塞/非阻塞IO,以及操作系统的五种IO模型,阻塞IO,非阻塞IO,复用IO(select、poll、epoll)、信号驱动IO模型,异步IO模型等...

2022-05-10 22:52:55 94574 5

原创 《JavaSE系列教程》

本专栏内容是为零基础正在学习Java的学习者量身定制的学习路线及方案,本教程字数超20w+,插图超过400+,知识体系极其全面,案例极其丰富。本配备有专门的学习群及学习视频,读者可加学习群与正在学习该阶段的人一同学习,有任何不懂的也可以观看于此教程配套的学习视频。

2021-08-10 16:36:44 63872 50

原创 数据结构:八种数据结构大全

数据结构1.1 数据结构概述数据结构是计算机存储、组织数据的方式;通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构的优良将直接影响着我们程序的性能;常用的数据结构有:数组(Array)、栈(Stack)、队列(Queue)、链表(Linked List)、树(Tree)、图(Graph)、堆(Heap)、散列表(Hash)等;1.2 数据结构的分类1.2.1 排列方式1)集合集合:数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系;2)线性结构线性

2021-07-29 12:43:51 134503 31

原创 《RabbitMQ系列教程-目录大纲》

RabbitMQ系列教程-目录大纲 RabbitMQ 初级 《RabbitMQ系列教程-第一章-消息中间件简介》《RabbitMQ系列教程-第二章-RabbitMQ简介》《RabbitMQ系列教程-第三章-RabbitMQ快速入门》《RabbitMQ系列教程-第四章-01-RabbitMQ工作模式之Simple模式》《RabbitMQ系列教程-第四章-02-RabbitMQ工作模式之Work模式》《RabbitMQ系列教程-第四章-03-RabbitMQ工作模式之Pu

2021-01-05 09:18:29 3719 7

原创 专治Java底子差,线程操作篇(2)

我们前面的操作线程与线程间都是互不干扰,各自执行,不会存在线程安全问题。**当多条线程操作同一个资源时,发生写的操作时**,就会产生线程安全问题;我们来举一个案例,从广州开往南昌的票数共有100张票,售票窗口分别有“广州南站”、“广州北站”、“广州站”等。

2024-04-15 07:21:59 980 3

原创 专治Java底子差,线程操作篇(1)

在实际应用中,多线程非常有用。例如,一个浏览器可以同时下载几幅图片,一个浏览器需要同时服务来自客户端的请求,我们的电脑管家也可以一边杀毒一边清理垃圾再一边进行电脑体检等任务,这些都是多线程的应用场景。Java中的多线程技术可以让程序同时运行多个任务,从而提高程序的响应速度和性能。

2024-03-07 21:56:32 762 1

原创 必须要搞懂的Git底层对象

Blob对象也称文本对象,当某个文本需要添加到Git中时,Git会将其包裹成一个Blob对象存储到Git数据库中,每个Blob对象都会有一个唯一的hash值,这就是Git中的最原始的版本信息。当修改文件后,需要再次将新的文件包裹成Blob对象存入Git数据库,这又是一次文件版本的更新;Blob对象中只会存储文本内容而不知道该文本的文件名称。同时,生成Blob对象代表是文件的一次版本,但是有时我们需要将多个操作归纳为一个版本。因此,在Git中,Blob对象只是代表文件的一个版本,而不是代表项目的一个版本。

2024-01-25 18:19:09 955

原创 专治Java底子差:Java所有的运算符都在这里了

s += 1 逻辑上看作是 s = s + 1;计算结果被提升为int类型再向short类型赋值时发生错误,因为不能将取值范围大的类型赋值到取值范围小的类型,但是, s=s+1进行两次运算 , += 是一个运算符,只运算一次,**并带有强制转换的特点**,也就是说 `s += 1` 就是 `s = (short)(s + 1)` ,**因此程序没有问题编译通过**,运行结果是2;

2023-12-03 09:50:06 957

原创 Java强制类型转换的所有规则都在这里了

`long`类型内存8个字节, `int`类型内存4个字节。 `long`取值范围大于`int` ;想要赋值成功,只有通过**强制类型转换**,将 `long` 类型强制转换成`int`类型才能赋值。- **强制转换**:将 **取值范围大的类型 强制转换成 取值范围小的类型**;比较而言,**自动转换是Java自动执行的,而强制转换需要我们自己手动执行。**

2023-12-01 18:02:59 2385

原创 超详细的万字Git分支教程(保姆级别)

Git的分支概念与SVN的分支概念完全不同,在SVN中,分支更倾向于是一个文件夹,建立分支也只是建立一个新的文件夹,利用分支管理项目其实本质上是为了使得项目的结构更加清晰。当然SVN的分支也提供合并、回退等功能,但相对于Git过于笨重。在Git中使用分支的主要目的是为了==合并分支==,基于分支来开发项目并不会影响主线开发,当其他分支的代码确认无误需要集成到主线分支(Master分支)时,我们需要进行分支的合并即可,即将主线分支合并到其他分支中,这样一个完整的功能就集成到主线代码中了;

2023-10-31 08:18:52 196

原创 【Git系列教程】

**完完全全从零开始**深入**学习并精通Git的使用,教程配图**400+张**,其中包括包括Git基本命令、命令原理、Git底层命令、分支、分支的原理、Git代码冲突原理/解决、tag标签、Git存储状态、分支合并原理、典型合并、快进合并、同轴开发、非同轴开发、Git数据恢复与还原、Git还原HEAD指针、还原暂存区、还原工作空间、协同开发、远程分支、远程跟踪分支原理、clone、fetch、pull、p

2023-10-16 20:56:57 4513

原创 Redis主从复制的搭建及原理分析

在实际开发中,redis通常会搭建集群,来提高redis的整体的性能。但在客户端访问时有可能多次访问到不同的redis,因此造成多台redis数据不一致问题,为了解决这种多台redis中数据不同步问题,我们提出了主、从的概念;Master负责写的操作,Slave负责读的操作,Master与Slave直接保证数据的同步。注:一个Master可以对应有多个Slave,一个Slave只能有一个Master。

2023-09-01 15:56:51 890 1

原创 全面深入理解MySQL自增锁

MySQL的自增锁是指在使用自增主键(Auto Increment)时,为了保证唯一性和正确性,系统会对自增字段进行加锁。这样可以确保同时插入多条记录时,每条记录都能够获得唯一的自增值。

2023-07-19 19:03:56 6290 3

原创 详细剖析MySQL临键锁

临键锁(Next-Key Lock):临键锁是查询时InnoDB根据查询的条件而锁定的一个范围,这个范围中包含有间隙锁和记录数;**临键锁=间隙锁+记录锁**。其设计的目的是为了解决Phantom Problem(幻读);主要是阻塞insert,但由于临键锁中包含有记录锁,因此临键锁所锁定的范围内如果包含有记录,那么也会给这些记录添加记录锁,从而造成阻塞除insert之外的操作;Tips:**临键锁的主要目的,也是为了避免幻读(Phantom Read)。如果把事务的隔离级别降级为RC,临键锁则也会失效

2023-07-17 15:05:31 8787 3

原创 MySQL高级锁之意向锁

**意向锁的存在是为了协调行锁和表锁的关系,用于优化InnoDB加锁的策略**。**意向锁的主要功能就是:避免为了判断表是否存在行锁而去全表扫描**。意向锁是由InnoDB在操作数据之前自动加的,不需要用户干预;- 意向共享锁(IS锁):事务在请求S锁前,要先获得IS锁- 意向排他锁(IX锁):事务在请求X锁前,要先获得IX锁场景举例(假设此时没有意向锁):假设事务A锁住了表中的**一行**记录,之后,事务B申请**整个表**的写锁。数据库需要避免这种冲突,需要让B的申请被阻塞,直到A释放了行锁

2023-07-17 14:51:28 8216

原创 06【HTML5新增标签】

文章目录六、HTML5新增标签6.1 布局标签6.1.1 常规布局标签6.1.2 控件标签1)meter标签2)progress标签3)details标签4)dialog标签6.1.3 文本标签1)ruby标签2)mark标签6.2 表单标签6.2.1 H5新增input类型6.2.2 H5新增表单相关属性6.3 多媒体标签6.3.1 video视频标签1)video标签的属性2)video标签的其他用法6.3.2 radio音频标签

2023-06-12 09:18:32 1441

原创 05【HTML的元素类型】

在HTML中元素分为三类:块级元素、行内元素、行内块元素## 5.1 块级元素- 块级元素特点: - **1)独占一行,自上而下排列** - 2)默认不设置宽度时,继承父元素的宽度(默认为父级宽度的100%) - 3)可以定义自己的宽度和高度,以及盒模型中的任意属性(margin,padding,border) - 4)块级元素可以作为一个容器容纳其他的任何元素**常见块元素有:p、ul、ol、li、dl、dt、dd、table、tr、td、form、h1、h2、h3、h4、h

2023-06-12 08:22:03 1055

原创 04【HTML常用标签】

定义列表常用于对术语或名词进行解释和描述,定义列表的列表项前没有任何项目符号。语法:【代码示例】【效果如下】表格标签一般用于展示信息例1:例2:在HTML中,表单标签用于在页面中收集用户的数据,然后将数据提交(发送)到服务器进行后端保存。表单标签在实际开发中用的非常多,常用于用户的注册、登录、搜索等需要收集用户数据的应用场景;注册:登录:搜索:HTML中,&等有特殊含义(,用于链接签,&用于转义),不能直接使用。

2023-06-08 08:45:26 1868

原创 03【WebStorm开发工具】

WebStorm是JetBrains公司旗下一款 JavaScript 开发工具。已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。支持的语言和框架:提供JavaScript、ECMAScript 6、TypeScript、CoffeeScript、Dart和Flow代码辅助功能。

2023-06-08 08:40:36 1219

原创 02【HTML快速入门】

在HTML页面中,带有“< >”符号的元素被称为HTML标签,如上面提到的都是HTML骨架结构标签。比如可以将手机看做是一个标签,我们在HTML中编写了一个手机标签只能说明存在了"一部手机",但这部手机是什么品牌的,价格、颜色等信息我们都不知道,有了属性之后,我们可以把标签更加明确化;如果需要在HTML文档中添加一些便于阅读和理解但又不需要显示在页面中的注释文字,就可以使用注释,当浏览器不解析其中的代码。标签是HTML代码的重要组成部分,所有的HTML代码都是由标签来组成的;

2023-06-08 08:37:22 440

原创 01【HTML概述】

服务器,顾名思义就是提供服务的机器,我们接入接入互联网之后,可以使用浏览器访问各大网站;当我们在地址栏上输入了网站地址并按下回车键时,我们的浏览器会根据地址在互联网中找到这个地址所对应的服务器;服务器接收到浏览器的请求后,会将数据(HTML)返回给该浏览器;然后经过浏览器的解析、渲染等就变成了一个精美的页面了;HTML的英文全称是Hyper Text Markup Language,即超文本标记语言,是一种标记语言。用HTML编写的超文本文档称为HTML文档,它能独立于各种操作系统平台。

2023-06-08 08:08:10 687

原创 Java中的Queue集合你知道吗?

Queue集合一般用于模拟队列这种数据结构。队列的特点是先进先出,队列的头部保存在队列中存放时间最长的元素,尾部保存存放时间最短的元素。新元素插入到队列的尾部,取出元素会返回队列头部的元素。通常,队列不允许随机访问队列中的元素;Queue接口的体系结构:在Queue本身是一个队列,队列一般都是单向操作,先进先出,只能操作头部的元素;但Queue下面的Deque接口则是双向队列,该接口下的实现类允许对队列的头部和尾部进行操作,其中LinkedList就是Deque接口下比较常见的一个实现类了;

2023-05-03 18:19:05 930 1

原创 彻底搞懂MySQL的DCL(Data Control Language)

DCL语法大全、权限实战案例、权限磁盘表详解、flush privileges的工作原理等等....

2023-04-03 19:22:54 7595 1

原创 零基础搭建Tomcat集群(超详细)

零基础搭建Tomcat集群,配图超30+张,做到完完全全一步一步零基础带你搭建Tomcat集群!

2023-03-17 11:15:05 1466 2

原创 真1分钟搞懂缓存穿透、缓存击穿、缓存雪崩

指大量请求来到数据库查询都没有查询到结果,因此不存储在redis中,redis命中率非常低,当redis没有命中,则大量的请求来到了数据库,数据库一直处于被大流量访问状态,很容易压力过载(一般属于恶意攻击)。

2023-03-14 12:23:36 2434 1

原创 专治Java底子差,线程状态全在这里了

当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,有几种状态呢?在API中`java.lang.Thread.State`这个枚举中给出了六种线程状态:

2023-03-14 12:02:48 464

原创 字符类能拷贝非文本文件吗?为什么?

>首先说结论:字符流**只能操作文本文件,不能操作图片,视频等非文本文件**。当我们单纯读或者写文本文件时可以使用字符流,其他情况使用字节流;准备一个text.txt文档:

2023-03-14 11:51:31 311

原创 面试官:MQ的好处到底有哪些?

MQ全称为Message Queue,消息队列是消息在传递过程中的容器,消息队列常用于分布式系统之间的通信消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性架构;使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ以下介绍消息队列在实际应用中常用的使用场景:异步处理,应用解耦,流量削锋和消息通讯四个场景。

2023-03-14 11:43:35 3183

原创 如何用MQ实现RPC远程调用?(附代码)

以前的几种模式的通信都是基于Producer发送消息到Consumer,然后Consumer进行消费,假设我们需要Consumer操作完毕之后返回给Producer一个回调呢?前面几种模式就行不通了;例如我们要做一个远程调用加钱操作,客户端远程调用服务端进行加钱操作,操作完毕之后服务端将用户最新的余额返回给客户端;客户端进行后续操作,例如更新到数据库等;RPC业务分析在RPC模式中,客户端和服务器都是Producer也都是Consumer;

2023-03-14 11:39:22 372

原创 2分钟彻底搞懂“高内聚,低耦合”

高内聚低耦合,是软件工程中的概念,是判断软件设计好坏的标准,主要用于程序的面向对象的设计,主要看类的**内聚性是否高,耦合度是否低**。目的是使程序模块的可**重用性、移植性**大大增强。通常程序结构中各模块的**内聚程度越高,模块间的耦合程度就越低**。- 内聚是从功能角度来度量模块内的联系,一个好的**内聚模块应当恰好做一件事**,它描述的是模块内的功能联系;- 耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。

2023-03-14 11:22:02 5793

原创 都工作3年了,怎么能不懂双亲委派呢?(带你手把手断点源码)

我们知道,所有的代码都是运行在内存中的,我们必须把类加载到内存中才能运行;在Java中,所有的Java类都是通过类加载器加载到内存进行执行的;- 一个类何时被加载? - 1)main方法所在的类总是被首先初始化 - 2)创建该类对象时,首先会将内加载到内存(如果该类存在父类,那么首先加载父类到内存,创建父类的对象(super)) - 3)访问该类的静态成员时,会将类加载到内存(该静态成员不能被fianl修饰) - 4)class.forName("类的全包名")

2023-03-07 17:30:59 490

原创 你来看看这几行代码到底创建了几个字符串?

常量池也是JVM中的一块内存区域,在JDK1.6及以前,这时的方法区也被成为**永久代**;常量池是存储在方法区的,在JDK1.7之后,常量池被划分到了堆内存。创建字符串的方式有很多种,不同的方式创建的字符串在内存中的表现形式是不一样的;因此我们在使用字符串做`==`比较时需要格外注意;因为`==`比较的是两个对象的内存地址值;

2023-03-07 17:23:25 564

原创 Java多线程还不会的进来吧,为你量身打造

在实际应用中,多线程非常有用。例如,一个浏览器可以同时下载几幅图片,一个WEB浏览器需要同时服务来自客户端的请求,我们的电脑管家也可以一边杀毒一边清理垃圾再一边进行电脑体检等任务,这些都是多线程的应用场景。### 1.1.1 程序的并行程序的并行指的是多个应用程序**真正意义上的同时执行**,CPU分配多个执行单元共同执行这些任务,效率高,但这依赖于CPU的硬件支持,需要CPU多核

2023-03-07 17:13:20 1830 2

原创 到底什么才是幻读?

概念:一次事务多次读取到的条数不一致而引发的问题;**在InnoDB(暂时理解是MySQL)中幻读在很多地方都得到了解决,但在一些特殊的情况下,还是会引发幻读问题;****为什么有的情况下能解决,有的情况下解决不了?因为一次事务多次读取到的条数不一致会导致有很多情况发生!**

2023-03-05 13:24:26 1091

原创 我就不信你还不懂HashSet/HashMap的底层原理

HashSet是Set接口的一个实现类,它所存储的元素是不可重复的,并且元素都是无序的(即存取顺序不一致)。HashSet底层数据结构在JDK8做了一次重大升级,JDK8之前采用的是Hash表,也就是数组+链表来实现;

2023-03-05 13:02:58 2058 3

rabbitmq-server-3.6.5-1.noarch.zip

rabbitmq-server-3.6.5-1.noarch.rpm安装包,Linux下RabbitMQ安装包

2021-01-04

erlang-18.3-1.el7.centos.x86_64.zip

erlang-18.3-1.el7.centos.x86_64.rpm安装包,安装RabbitMQ所需依赖

2021-01-04

socat-1.7.3.2-1.1.el7.x86_64.rpm

socat-1.7.3.2-1.1.el7.x86_64.rpm安装包,linux下安装RabbitMQ所需依赖包

2021-01-04

空空如也

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

TA关注的人

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