自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 《JavaSE系列教程》

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

2021-08-10 16:36:44 115616 52

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

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

2021-07-29 12:43:51 242005 33

原创 《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 3978 7

原创 深入详细分析雪花算法

雪花算法是一种分布式环境下的全局唯一ID生成算法,由Twitter公司推出。它通过64位二进制数划分四个字段:1位符号位(固定为0)、41位时间戳(记录ID生成时间)、10位机器标识(区分不同服务器)和12位序列号(同一毫秒内的序号)。这种组合确保了ID的全局唯一性和有序性,解决了分布式系统中ID重复的问题。算法理论QPS可达409.6万次/秒,性能优异,广泛应用于各类分布式系统。其原理类似于学号编排,通过时间戳+机器位+序列号的组合生成唯一标识。

2026-03-04 21:04:33 485

原创 SpringBoot mysql8 Access denied for user ‘root‘@‘localhost‘ (using password: YES)

摘要:MySQL连接错误"Access denied for user 'root'@'localhost'"常见原因包括:账号密码错误、服务未启动、JDBC配置问题、驱动版本不匹配等。特别需要注意5.7与8.0+版本在驱动类和Maven依赖上的差异。此外,在yml配置中,字符串值无需引号,但数值类型必须加双引号,这也是导致连接失败的易忽略点。

2025-09-23 17:41:24 476

原创 (13)Element Plus详细使用教程

由于 Vue 3 的发布,ElementUI 的团队也推出了 Element Plus,这是 ElementUI 的 Vue 3 版本,提供了与 Vue 3 兼容的 UI 组件库。Element Plus 保留了 ElementUI 的核心特性和设计哲学,并在此基础上进行了改进和扩展,以更好地支持 Vue 3 的新特性。

2025-05-21 16:24:09 2968

原创 (14)Element Plus项目综合案例

当点击侧边栏的菜单项时,右边的主体部分内容需要切换到具体的路由。当点击某一行的“查看详情”按钮时应该弹出对话框,展示用户信息数据。登录模块包括登录页面、忘记密码页面、注册用户页面等三个页面。当点击“发布文章”按钮时应该弹出对话框,让用户填写文章数据。

2025-05-09 00:00:00 1505

原创 (12)Pinia——状态管理的详细使用

在使用Vue开发中,组件之间经常需要传值,基于父子、兄弟组件之间的传值可能会很方便,但是如果是没有关联的组件之间要使用同一组数据,这样就不得不在访问该组件的路径上携带这些参数,这样极为不便。状态管理是指在应用程序中集中存储、管理和共享数据的机制,即建立一块区域存储所有组件共享的数据,类似于后端的session或者前端的localstorage。1)组件内部的状态(如data()refreactive定义的变量)。2)跨组件的共享状态(如用户登录信息、全局主题、购物车数据)。

2025-05-06 00:00:00 2542

原创 (11)Vue-Router路由的详细使用

在vue-router单页面应用中,切换页面是路径之间的切换,实际上就是组件的切换。另外,我们可以使用vue-router中的useRouter对象来进行编程式路由,即通过代码的方式我们也可以进行路由的跳转。在嵌套路由中,一级路由下面还有路由,例如一级路由为user,但是在user下面还有profile、posts等子路由等。组件内守卫是指在组件内执行的函数,类似于组件内的生命周期,相当于为配置路由的组件添加的路由函数。vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。

2025-05-03 00:00:00 1343

原创 (10)Vue3核心语法大全

ref:返回一个RefImpl对象,通过.value访问或修改值。为基本数据类型stringnumberboolean等)提供响应式能力,也可包装对象/数组(内部自动调用reactive应用场景:当需要包装基本数据类型(如计数器、开关状态)。当需要灵活的类型支持(如联合类型当需要将值作为组合式函数的返回值(方便其他组件使用)。reactive():直接操作对象的属性,无需.value。为对象或数组创建深层次的响应式代理。应用场景:当处理复杂对象或嵌套结构(如表单数据、配置对象)。

2025-05-02 08:28:13 1045

原创 (9)Vue脚手架的使用(Vite、vue-cli、create-vue)

作为后端程序员,我们熟悉项目初始化工具,比如 Spring Initializr,它可以帮助我们快速搭建一个具有Spring环境的项目结构,另外还支持我们勾选自己需要的功能,如模板引擎、Redis环境、Spring Security、测试单元等。前端脚手架其实和它们非常相似,只不过它是针对前端开发的,即快速帮我们搭建一个整合好了Vue(React、Angular)环境的项目结构,同时也允许我们勾选自己所需要的前端功能,如Vue-Router、Pinia、Vitest等。

2025-04-24 00:00:00 2291

原创 (5)Promise与异步函数async/await的使用

当async函数正常执行完毕,那么内部会调用Promise.resolve()返回Promise对象,后续将会执行该Promise的then回调函数,并把当前的async函数的返回值传递给resolve()方法。Promise 的编程模型依然充斥着大量的 then方法,虽然解决了回调地狱的问题,但是在语义方面依然存在缺陷,代码中充斥着大量的 then 函数,这就是 async/await 出现的原因。也就是说,async函数的返回值是一个Promise对象,具体的使用方法和特点我们还需要往下看。

2025-04-23 12:30:00 868

原创 (8)ECMAScript语法详解

编程语言JavaScript是ECMAScript的实现和扩展。ECMAScript是由ECMA(一个类似W3C的标准组织)参与进行标准化的语法规范。ECMAScript标准不定义HTML或CSS的相关功能,也不定义类似DOM(文档对象模型)的[Web API],这些都在独立的标准中进行定义。ECMAScript涵盖了各种环境中JS的使用场景,无论是浏览器环境还是类似[node.js]的非浏览器环境。ECMAScript标准的历史版本分别是1、2、3、5。那么为什么没有第4版?

2025-04-23 00:00:00 1170

原创 (7)NodeJS的使用与NPM包管理器

Node.js 是一个基于Chrome V8 JavaScript 引擎构建的开源、跨平台运行时环境。V8 引擎是即 Google Chrome 的核心。这使 Node.js 的性能非常出色。V8引擎允许开发者使用 JavaScript 编写服务器端代码,而不是仅仅局限于浏览器中的前端开发。Node.js 是运行在服务端的 JavaScript,是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

2025-04-22 00:00:00 1104

原创 (5)Promise与异步函数async/await的使用

当async函数正常执行完毕,那么内部会调用Promise.resolve()返回Promise对象,后续将会执行该Promise的then回调函数,并把当前的async函数的返回值传递给resolve()方法。Promise 的编程模型依然充斥着大量的 then方法,虽然解决了回调地狱的问题,但是在语义方面依然存在缺陷,代码中充斥着大量的 then 函数,这就是 async/await 出现的原因。也就是说,async函数的返回值是一个Promise对象,具体的使用方法和特点我们还需要往下看。

2025-04-21 09:15:44 1152

原创 (4)Vue的生命周期详细过程

每个 Vue 实例在被创建之前都要经过一系列的初始化过程.createdmountedupdateddestroyed8个状态;

2025-04-21 00:00:00 2190 1

原创 (3)Vue的常用指令

这意味着当Model中的数据改变时,这些变化会自动反映到视图上;当 Vue 实例的数据发生变化时,v-bind 会自动更新绑定的属性值。但是这种绑定是单向的,即 Vue 实例中的数据发生变化后能够即使更新到UI组件上,但是当UI组件上的数据发生变化时,并不能够及时更新到Vue实例上。,当Vue中的数据发生变化时,立马会渲染到组件上,当组件上的值发生变化时,会立马更新到Vue中;v-model指令用于将Vue中的数据与组件中的数据进行。"我是通过v-bind绑定的title""

2025-04-20 00:00:00 933

原创 (2)Vue事件绑定的使用

Vue.js 是一个用于构建用户界面的渐进式JavaScript框架。它提供了一套声明式的渲染数据到DOM的系统(其底层依赖于Vue提供的VM组件),以及组件化的开发模式。Vue.js 通过指令来扩展HTML的功能,使得开发者能够以声明式的方式将DOM的绑定至底层Vue实例的数据上。Vue.js 中的插值表达式是一种简洁的方式,用来在模板中显示数据模型的变化。最常用的插值表达式是双大括号 {{ }},它可以插入数据模型中变量的值。当在模板中使用双大括号 {{ }} 包裹一段表达式时,Vue 会计算这段表达式

2025-04-19 14:15:55 1039

原创 Typora更改快捷键 markdown语法大全

最近想要更改Typora的一些快捷键,网上大多数文章都是说明如何配置快捷键,比如更改“加粗”的快捷键为xxx。。如果连这些操作的名字都不知道的话那又如何更改快捷键呢?例如我要将“加粗”的快捷键配置为“Ctrl+B”,但是你怎么知道这个操作的名称是“加粗”而不是“变粗”呢?

2025-04-15 16:11:27 1526

原创 Promise对象的使用与async和await

Promise 是 JavaScript 中的一种编程模式,用于处理异步操作。它提供了一种更加优雅的方式来组织异步代码,避免了回调地狱(callback hell)的问题,并且使得错误处理更加一致。Promise 对象代表了一个最终会在未来完成(或失败)的异步操作,**所以在 Promise 返回给调用者的时候,操作往往还没有完成,并且其结果值未知。

2025-04-01 21:50:38 919

原创 数据库的JOIN连接查询算法

JOIN算法指的是在执行SQL查询语句中,当涉及到两个或多个表之间的数据连接(JOIN)时,查询优化器用来决定如何最有效地从这些表中检索和组合数据的方法,选择最适合的JOIN算法。

2025-01-25 11:20:48 1204 1

原创 (1)Vue基本概述与特点

是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定以及组合视图组件。MVVM(Model-View-ViewModel)即:模型-视图-视图模型,是一种软件架构设计模式,常用于简化用户界面的开发。其核心在于将数据模型(Mo

2025-01-16 09:13:35 1380 4

原创 SQL优化——为什么要小表驱动大表

如果先对小表进行操作,那么总的扫描行数和匹配次数会相对较少,从而提高查询的效率。例如,假设有表 A(小表)和表 B(大表)进行连接,如果以表 A 作为驱动表,那么遍历表 A 的成本相对较低,然后根据连接条件与表 B 进行匹配,效率会更高。MySQL在执行Join操作时,优先使用较小的表作为驱动表(也称为外层表)去连接较大的表(也称为被驱动表或内层表)。这样做的原因是,对于连接操作,,这样在根据某一条数据查找B+树时,速度就会大大提高,若没有建立索引,则两个表无论谁当作主表,查找数据的次数都是一样的。

2025-01-14 16:45:13 1025 1

原创 Java实现UDP与TCP应用程序

通过网络发送数据是一项复杂的操作,通过网络将数据从一台主机发送到另外的主机,这个过程是通过计算机网络通信来完成。网络通信的不同方面被分解为多个层,通信的双方具有相同的层次,层次实现的功能由协议数据单元来描述。不同系统中的同一层构成对等层,对等层之间通过对等层协议进行通信,理解批次定义好的规则和约定。将网络分层,这样就可以修改甚至替换某一层的软件,只要层与层之间的接口保持不变,就不会影响到其他层。

2025-01-03 22:14:24 1817

原创 彻底拿下InnoDB的MVCC快照机制

这个事务id的值比一般的非只读事务的id要大很多,可以很好的与修改事务id作区分。在information_schema数据库的innodb_trx表中存储着活跃事务的id。

2025-01-03 22:09:19 1098

原创 超简单的Centos安装MySQL8.0完整过程

我已经帮大家下载完毕:链接:提取码: 1024。

2025-01-02 15:25:13 1830 1

原创 Centos7无法使用 yum命令 报错 Cannot find a valid baseurl for repo: base/7/x86_64

CentOS社区在2021年就宣布将于2024年6月30日对CentOS7停止维护(EOL,End Of Life),自此时间后Centos7将无法使用Centos社区官方提供的yum源下载软件,下载会报错,错误信息:Cannot find a valid baseurl for repo base7x86_64

2025-01-02 14:53:17 441

原创 Lucene的底层数据结构与评分算法的分析(7)

Elasticsearch使用的是 term frequency/inverse document frequency算法,简称为TF/IDF算法。TF词频(Term Frequency),IDF逆向文档频率(Inverse Document Frequency)

2024-11-07 10:00:00 1951 1

原创 Lucene的Directory的详细使用与性能测试(6)

Lucene使用Directory来关联一个目录用于存储索引文件,Directory为存储文件列表提供了一个抽象层;其子类非常丰富,不同的子类底层采用的IO模型不同,达到的性能也不一样。Directory将决定Luceen底层采用什么方式将数据写入到磁盘,是影响Lucene性能的一大关键;FSDirectory:用于在文件系统中存储索引文件的Directory实现的基类。RAMDirectory:基于内存的目录实现,但不适用于大型索引。

2024-11-06 10:00:00 1735

原创 Lucene分析器的详细使用(5)

分析器,是将用户输入的一段文本,分析成符合逻辑的一种工具。分析器中包含**字符过滤器(Char Filters)**、**分词器(Tokenizer)**和**Token过滤器(Token Filters)**两个组件;**其中分词器是分析器中最为核心的组件。**+ 字符过滤器(Char Filters):字符过滤器是针对文本在分词器前的一些字符转换,如解析html代码、正则表达式等+ 分词器(Tokenizer):将用户输入的文本根据指定条件进行词语拆分,如I am

2024-11-05 10:00:00 1209

原创 Lucene索引的高级检索(4)

我们打开任意的搜索引擎都具备高亮查询功能,搜索引擎会将符合搜索条件的关键字进行高亮展示,凸显查询的重点信息;Lucene也支持对搜索结果集的高亮返回;高亮的本质是将搜索到的关键字进行前后缀包裹,最终返回到前端页面渲染后就成了高亮的效果了;

2024-11-04 10:00:00 2102

原创 Lucene索引库的维护增删改(3)

lucene的修改API,首先把符合条件的文档都删除,然后添加一篇新的文档。在Lucene中如果有文档则修改,如果没有此文档那么修改就相当于添加。

2024-11-03 00:00:00 4609

原创 Lucene的使用方法与Luke工具(2)

读取原始数据(从数据库读取)创建文档对象(Document)、域对象(Field)。并把域对象添加到文档对象中创建分析器(Analyzer),用于分词创建索引库配置对象(IndexWriterConfig),配置索引库(传入分析器)设置索引库打开方式(OpenModel)创建索引库目录对象(Directory),指定索引库的目录创建索引库操作对象(IndexWriter),用

2024-11-02 00:00:00 21897

原创 Lucene的概述与应用场景(1)

Lucene是apache软件基金会 jakarta项目组的一个子项目,是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。其作者是大名鼎鼎的大数据之父Doug-Cutting。Lucene通过使用倒排索引技术,能够快速地从大量的文档中检索出相关信息。对文本数据进行高效的索引和搜索,支持复杂的查询语法,包括布尔运算、短语搜索、模糊搜索等。在Java开发环境里Lucene是一个成熟的免费开源工具。就其本身而言,Lucene是当前以及最近几年最受欢迎的免费Java信息检索[程序库。

2024-11-01 17:49:08 1659

原创 计算机基础(9)——原码、反码、补码

计算机为了区分数值的正负提出了符号位的设定,计算机用最高位存放符号,这个被称为符号位。正数的符号位为0, 负数的符号位为1。例如,1的二进制表示形式为0000 0001,而-1的二进制表示形式为1000 0001。在计算机中,一个字节为8个位,最大值为0111 1111,十进制为127。最小值为1000 0000,十进制为-128。因此一个字节的取值范围为-128~127之间。

2024-10-29 15:08:37 6152

原创 计算机基础(7)——数字图像技术

如果显卡帧率输出有60FPS,使用的是120Hz的显示器,这时,我们就会感到画面卡顿,因为显示器每秒可以显示120张画面,而帧率只有60FPS,那么显示器就会造成卡顿现象,如果帧率有120FPS,显示器只支持60HZ,那么这120的帧率也只是浪费,增加了显卡的功耗而已,却并没有改善游戏画质,因为显示器只能显示60张每秒。但就目前的计算机而言,显卡的输出帧数能力都比较强悍,瓶颈大多都在显示器的刷新率上,所以一般情况下只要解决了显示器的刷新率问题,那么用户整体的体验感就会得到提升。

2024-10-29 15:07:07 2782

原创 加密方式与加密算法的特点分析

这就是黑客常用的撞库手段来窃取用户的数据,即黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登录的用户。但是对于黑客来说计算彩虹表的成本增加了数万倍,并且成本参数可以任意调整,随着芯片的发展、计算机算力的增长,只需要把成本参数的值相应提高就可以抵御黑客的攻击。Tips:通过哈希加盐我们不难发现,如果破解了用户的盐,那么通过彩虹表攻击再获取到用户的“明文”(该明文为“实际明文”+“盐”),此时就可以破解出用户真正的明文,因此用户的盐是非常重要的,不能被泄露。

2024-10-18 09:23:34 7735

原创 神舟笔记本安装Control Center无法打开

首先来到神舟笔记本官方,下载笔记本对应的驱动:http://archive.hasee.com/Chinese/download/computer.aspx?cid=105001003001001选择型号搜索(例如笔者的时Z8-CT7NT):选择对应的操作系统:下载“控制中心”驱动,该控制中心就是Control Center工具:安装驱动:双击setup.exe后,跟着指引一直下一步即可:安装完成后,此时在windows中搜索control center是可以搜索到的:但是需要注意,此时该程序是打不开的!!

2024-09-26 10:41:17 31689 3

原创 深入分析MySQL事务日志-Undo Log日志

引入Undo Log Buffer是来提升Undo Log的性能的,比较操作内存要比操作磁盘快多了,但由此也引入了另外一个问题,那就是既然内存中记录了Undo Log的值,为什么还要在磁盘中也记录Undo Log的值呢?Tips:Undo Log主要保证事务的原子性,即通过记录修改前的状态,以提供回滚功能,其次Undo Log用于提供MVCC的快照读。,每个事务只会使用一个回滚段,当一个事务开始的时候,会制定一个回滚段,在事务进行的过程中,当数据被修改时,原始的数据会被复制到回滚段。

2024-09-24 13:17:39 10306

原创 深入分析MySQL事务日志-Redo Log日志

事务的隔离性是通过锁实现,而事务的原子性、和持久性则是通过事务日志实现。在MySQL中,事务日志分为两类,一个是Redo Log,也叫重做日志,另一个是Undo Log,也叫回滚日志;其中Redo Log保证事务的,Undo Log保证的是事务的;

2024-09-24 13:14:56 7612

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关注的人

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