自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 【15W字长文】主从复制高可用Redis集群,完整包含Redis所有知识点

主从复制高可用Redis集群分布式架构介绍什么是分布式架构随着越来越多的人参与到互联网的浪潮来,曾经的单体应用架构越来越无法满足需求,所以,分布式集群架构出现,也因此,分布式搭建开发成为了Web开发者必掌握的技能之一。那什么是分布式呢?怎么实现分布式以及怎么处理分布式带来的问题呢?本系列文章就来源于对分布式各组件系统的学习总结,包含但不限于Zookeeper、Dubbo、消息队列(ActiveMQ、Kafka、RabbitMQ)、NoSql(Redis、MongoDB)、Nginx、分库分表MyCat

2022-04-29 08:42:10 1839

原创 【7W字长文】使用LVS+Keepalived实现Nginx高可用,一文搞懂Nginx

使用LVS+Keepalived实现Nginx高可用Nginx介绍和使用什么是NginxNginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。可以使静态资源虚拟化,可以缓存服务器静态资源Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器,并在一个BSD-like协议下发行。由俄罗斯

2022-02-13 11:08:37 7705 2

原创 Vega手动指定运行的jdk

设置安装目录下configuration目录下的config.ini文件。

2023-06-11 10:00:47 143

原创 升级springboot3,类文件具有错误的版本 61.0, 应为 52.0

【代码】升级springboot3,类文件具有错误的版本 61.0, 应为 52.0。

2023-03-21 11:27:11 328

原创 分布式会话与单点登录SSO系统CAS,包含完整示例代码实现

分布式会话与单点登录SSO分布式会话介绍与实现什么是会话会话Session代表的是客户端与服务器的一次交互过程,这个过程可以是连续也可以是时断时续的。会话较多用于网络上,TCP的三次握手就创建了一个会话,TCP关闭连接就是关闭会话。会话Session代表的是客户端与服务器的一次交互过程,这个过程可以是连续也可以是时断时续的。曾经的Servlet时代(jsp),一旦用户与服务端交互,服务器用户创建一个session,同时前端会有一个jsessionid,每次交互都会携带。如此一来,服务器只要在接到用户请

2022-05-06 14:02:58 1831

原创 Java进阶内容(一)--并发编程(2)

并发编程(2)线程之间的协作(等待和唤醒机制)–生产者消费者模型对于消费者要消费产品时,可以使用轮询的方式对产品进行判断其是否存在,存在则进行消费,这种方式的弊端就是,实时性查,性能开销大;使用等待唤醒机制可以解决此弊端等待唤醒是基于类的方法obj.wait()和obj.notify(),调用此方法之前都必须持有锁public final void wait() throws InterruptedExceptionpublic final void notify()public fin

2021-08-30 17:27:58 162

原创 数据结构和算法(八)--二叉树(Binary Tree)

数据结构和算法(八)–二叉树(Binary Tree)什么是树形结构树形结构是一层次的嵌套结构。 一个树形结构的外层和内层有相似的结构, 所以这种结构多可以递归的表示。树形结构指的是数据元素之间存在着“一对多”的树形关系的数据结构,是一类重要的非线性数据结构。在树形结构中,树根结点没有前驱结点,其余每个结点有且只有一个前驱结点。叶子结点没有后续结点,其余每个结点的后续节点数可以是一个也可以是多个。树的基本概念数据结构中,使用树形结构表示数据表素之间一对多的关系,树形结构是一种非线型结构。

2021-06-08 10:59:26 635

原创 数据结构和算法(七)--循环队列(CircleQueue)和双端循环队列(CircleDeque)

数据结构和算法(七)–循环队列(CircleQueue)和双端循环队列(CircleDeque)什么是循环队列为充分利用向量空间,克服"假溢出"(系统作为队列用的存储区还没有满,但队列却发生了溢出,我们把这种现象称为"假溢出"。)现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列称为循环队列(Circular Queue)。循环队列是把顺序队列首尾相连,把存储队列元素的表从逻辑上看成一个环,成为循环队列。在循环队列结构中,当存储空间的最后一个位置已被使用而再

2021-06-03 17:13:14 691

原创 数据结构和算法(六)--队列(Queue)

数据结构和算法(六)–队列(Queue)什么是队列队列是一种特殊的线性表,只能在头尾进行操作队尾(rear):只能从队尾进行添加元素,一般叫做入队(enQueue)队头(front):智能从队头移除元素,一般叫做出队(deQueue)先进先出原则,First In First Out,FIFO[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dkb4opGj-1622453483056)(imgs/队列的数据结构.png)]队列的接口设计int size()

2021-05-31 17:32:12 160

原创 数据结构和算法(五)--栈(Stack)

数据结构和算法(六)–栈(Stack)什么是栈栈是一种特殊的线性表,只能在一端进行操作往栈中添加元素,一般叫做push,入栈往栈中移除元素,一般叫做pop,弹栈/出栈(只能移除栈顶元素)栈遵循后进先出原则,Last In First Out,LIFO注意:这里所说的“栈”和内存中的“栈空间”是两个不同的慨念,不能混为一谈栈的接口设计int size();获取长度boolean isEmpty();判断是否为空void push(E e);入栈,把元素存入

2021-05-31 14:58:50 129

原创 数据结构和算法(四)--静态链表和动态数组优化(了解)

数据结构和算法(四)–静态链表和动态数组优化(了解)什么是静态链表线性存储结构的一种,兼顾顺序表和链表的优点,是顺序表和链表的升级;静态链表的数据全部存储在数组中(顺序表),但存储的位置是随机的,数据直接的一对一关系是通过一个整型变量(称为“游标”,类似指针的功能)维持。静态链表的特点前面所学的链表都是依靠指针(引用)实现的,但是在早期的编程语言中有可能没有指针这个概念,那么可以用数组来实现链表数组中每一个节点存放两个数据,第一个是本身节点的值,第二个是下一个节点的索引数组的0位置默认是头节点

2021-05-31 14:56:15 240

原创 数据结构和算法(三)--双向(循环)链表(LinkedList)

数据结构和算法(三)–双向链表(LinkedList)双向链表的基本数据结构双向链表区别于单向链表,节点中不仅仅有next指向下一个节点,还有prev字段指向上一个节点双向链表中有first和last字段指向第一个节点和最后一个节点双向链表可以提升链表的综合性能双向链表方法设计思路obtainNode(int index)根据传入的index和实际size进行对比,假如index小于size/2则从firstNode进行遍历,否则从lastNode进行遍历,还要注意一点,就是从最后一个

2020-12-16 19:19:51 285 1

原创 数据结构和算法(二)--单向(循环)链表(LinkedList)

数据结构和算法–链表动态数组的缺点扩容和缩容时,会循环遍历所有元素,当数据量很大时,此操作会有一些效率问题再扩容和缩容之前会预留一部分空间,此空间是不存储内容的,而且数组长度越大预留的空间就会越多(按比例),会造成内存浪费链表(是一种链式存储的线性表,内存地址不一定连续)链表本身有一个内部类表示一个一个的节点(Node),链表本身不存储数据,只是指向头节点节点是存储数据内容的真正的类,同时它也会指向下一个节点链表在进行添加操作时,会新建一个Node类来存储数据,并指向下一个节点,因此每一

2020-12-07 09:53:21 324

原创 Java进阶内容(一)--并发编程(1)

线程基础cpu核心和线程的关系通常情况下,cpu核心和线程是1:1的关系,在因特尔引入超线程技术之后,比例变成了1:2。cpu时间片轮转机制(算法–RR调度–上下文切换)这种机制是一种操作系统内部的算法cpu会让获得时间片的线程进行程序的执行,当时间片的时间到了之后(时间片的长度)线程将会暂停执行,使下一个获取到时间片的线程继续执行时间片的算法是完全随机的(其中有权重影响),意思就是会有线程多次连续获得时间片切换时间片也是有消耗的(保存当前线程执行的位置等等),一般时间为5k-2w个时钟

2020-11-23 17:14:51 496

原创 数据结构和算法(一)--动态数组(Arraylist)

数据结构和算法–动态数组什么是数据结构线性结构;举例:线性表,链表,数组,栈,队列树形结构;举例:二叉树,红黑树,b树图形结构;举例:邻接表,邻接矩形线性表的特点:表示一组相同类型的数据的有限序列有头节点,尾节点,前驱,后继的概念数组也是线性表数组Array数组是一个连续存储的线性表,它们元素的内存地址是连续的数组本身无法动态的修改容量可以使用动态数组的方法来进行扩容动态数组的总结和实现(ArrayList)中心思想和总结容器里面有一个真正存储数据的数组,然后有一

2020-11-19 11:31:57 223

带有加密功能的 SQLite Qt 插件

编译后的dll文件

2022-06-10

C++带有加密功能的 SQLite Qt 插件

编译后的dll文件

2022-06-10

空空如也

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

TA关注的人

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