自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux安装配置Nacos

环境:centos7、mysql8.0、nacos2.5.1。

2025-03-27 15:26:16 436

原创 linux安装配置rabbitmq

环境:centos7.6。

2025-03-18 11:32:06 1062

原创 【案例】Java使用ffmpeg实现rtsp视频流转hls、rtmp流

linux系统直接运行命令ubuntu:centos:windows系统下载包+配置环境变量环境变量配置就在path中加一个你下载下来的包解压后的一直到bin目录的路径地址。

2025-02-26 14:44:01 892

原创 使用frp实现本地内网穿透

环境:linux (具有公网ip的线上服务器)、windows(本地)、frp首先下载下来下面两个文件概览 | frp一些概述,便于您快速的了解 frp。

2025-01-08 16:59:50 408

原创 线程基础知识 上

当多个线程访问某个类时,这个类始终都能表现出正确的行为(所见即所知),就称这个类是线程安全的;

2024-12-11 16:44:03 610

原创 BrianKernighan算法

看左程云大佬的算法课的时候觉得很精妙的算法,就整理总结了下来https://space.bilibili.com/8888480

2024-12-05 10:28:31 422

原创 基础排序算法概述

时间复杂度空间复杂度稳定性选择排序O(n^2)O(1)不稳定冒泡排序O(n^2)O(1)稳定插入排序O(n^2)O(1)稳定归并排序O(nlogn)O(n)稳定快速排序O(nlogn)O(logn)不稳定堆排序O(nlogn)O(1)不稳定基数排序O(n)O(m)稳定数据量很小的情况下直接用插入排序比较快且易于实现;性能优异、实现简单、不在乎稳定性且利于改进,选择随即快排;性能优异、不在乎额外空间占用、在乎稳定性,选择归并排序;

2024-12-02 16:29:37 442 1

原创 HikariCP与Druid对比

环境:springboot3、jdk17。

2024-11-08 15:44:57 715

原创 Netty核心源码与优化

如果有复杂的业务逻辑操作,建议IO线程和业务线程分离,对于IO线程,由于互相之间不存在锁竞争,可以创建一个大的NioEventLoopGroup线程组(具体线程数量要根据CPU核心数、连接数和负载情况调整,线程过多会带来线程上下文切换开销大,反而可能性能降低),所有Channel都共享同一个线程池;在Netty中Boss线程主要负责接受客户端的连接请求,通常默认为Boss线程数为一个线程,当有大量设备或客户端同时连接,Boss线程的处理能力可能会成为瓶颈;,确保每个 Channel 都具有一致的配置;

2024-10-29 14:27:14 1230 1

原创 深入Netty通信技术

/数据头:消息长度//数据体。

2024-10-25 10:22:00 896

原创 Netty简单应用

【代码】Netty简单应用。

2024-10-23 13:36:40 376

原创 Netty核心组件

入站处理流程中,如果对原消息不做处理,调用 ctx.fireChannelRead(msg) 把原消息往下传,由流水线最后的 TailHandler 完成自动释放。如果截断了入站处理流水线,则可以继承 SimpleChannelInboundHandler ,完成入站ByteBuf自动释放。出站处理过程中,申请分配到的 ByteBuf,通过 HeadHandler 完成自动释放。

2024-10-23 09:32:06 735

原创 Netty基础原理

Netty是由JBoss提供的开源的高性能、异步事件驱动的网络应用框架,通过Netty可以很快的构建出通信效率极高的应用;

2024-10-22 11:47:31 845

原创 RPC通讯基础原理

RPC是一种通过网络从远程计算机上调用程序的技术,使得构建分布式计算更加容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性,提供一种透明调用机制,让使用者不必显式的区分本地调用和远程调用;

2024-10-17 19:37:23 1537

原创 SpringBoot项目热部署-devtools

DevTools 会使用两个类加载器(一个用于加载不变的类,一个用于加载可能会变化的类),每次重启只重新加载管理变化的类的加载器,因此会快很多。

2024-10-14 15:50:05 740

原创 设计模式-行为型模式-中介者模式

定义一个单独的(中介)对象,来封装一组对象之间的交互,将这组对象之间的交互委派给中介对象交互,从而避免对象之间的交互;中介者模式主要解决对象间的交互复杂性问题,而代理模式则主要用于控制对某个对象的访问;

2024-09-23 14:46:19 648

原创 设计模式-行为型模式-解释器模式

用于定义语言的语法规则表示,并提供解释器来处理句子中的语法;

2024-09-20 15:09:50 1211

原创 设计模式-行为型模式-命令模式

命令模式将请求封装为一个对象,这样可以使用不同的请求参数化其他对象(将不同请求依赖注入到其他对象),并且能够支持请求的排队执行、记录日志、撤销等功能;

2024-09-20 11:13:51 777

原创 设计模式-行为型模式-备忘录模式

在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态;

2024-09-13 17:27:43 717

原创 设计模式-行为型模式-访问者模式

允许在运行时将一个或多个操作应用于一组对象,将操作与对象结构分离;访问者模式主要解决的是数据与算法的耦合问题,尤其是在数据结构比较稳定,而算法多变的情况下,为了不污染数据本身,访问者会将多种算法独立归档,并在访问数据时根据数据类型自动切换到对应的算法,实现数据的自动响应机制,并确保算法的自由扩展;

2024-09-13 16:38:37 1045

原创 设计模式-行为型模式-迭代器模式

迭代器模式提供一种对容器对象中的各个元素进行访问的方法,而不需要暴露该对象的内部细节;在软件系统中,容器对象有两个职责:一是存储数据,二是遍历数据;从依赖性上看,前者是基本职责,而后者是可以变化的,又是可以分离的,因此可以将遍历数据的行为从容器中抽取出来,封装到迭代器对象中,由迭代器来提供遍历数据的行为,这将简化聚合对象的设计,更加符合单一职责原则;对于迭代器模式,设计时很少用到,但编码时经常用到,目前大多数编程语言中,迭代器已经成为一个基础的类库,直接能用来遍历集合对象;

2024-09-06 16:47:07 944

原创 设计模式-行为型模式-状态模式

允许一个对象在其内部状态改变时改变他的行为,用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题,状态模式将一个对象的状态从该对象中分离出来,封装到专门的状态类中,使得对象的状态可以灵活变化;

2024-09-06 15:24:58 1055

原创 设计模式-行为型模式-职责链模式

避免讲一个请求的发送者与接收者耦合在一起,让多个对象都有机会处理请求,将接受请求的对象连接成一条链,并且沿着这条链传递请求,直到有一个对象能处理他为止;

2024-09-05 10:49:50 887 1

原创 设计模式-行为型模式-策略模式

定义一系列算法,将每个算法封装起来,并使他们可以相互替换,使得算法可以随着使用他的客户端变化而变化;当实现某一个功能存在多种算法或策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来实现该功能;

2024-09-05 09:56:52 648

原创 设计模式-行为型模式-模板方法模式

模板方法模式在父类中定义了一个算法的框架,允许子类在不修改结构的情况下重写算法的特定步骤;是一种基于继承的代码服用技术,其结构只存在于父类与子类之间的继承关系下;

2024-09-04 17:14:38 677 1

原创 设计模式-行为型模式-观察者模式

定义对象之间一对多依赖关系,这样当一个对象改变状态时,他的所有依赖项都会自动得到通知和更新;

2024-09-02 18:01:34 776

原创 设计模式-结构型模式-享元模式

摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,从而让我们能在有限的内存容量中载入更多对象;

2024-08-30 14:48:31 1293

原创 设计模式-结构型模式-组合模式

将对象组合成树形结构以表示整个部分的层次结构,组合模式可以让用户统一对待单个对象和对象的组合;其更像是一种数据结构和算法的抽象,其中数据可以表示成树这种数据结构,业务需求可以通过在树上的递归遍历算法来实现;

2024-08-29 16:58:56 742

原创 Linux字体缺失导致EasyExcel报错

安装ttmkfdir,当你在 Linux 系统中加了新的字体,可以使用 ttmkfdir 生成相关的字体配置文件,使得字体能被 X11 系统识别和使用;系统未联网:最烦的就是版本问题,直接从官网下载版本一直冲突,于是我用另一个同样centos7系统下载下来包然后移到问题服务器;环境:centos7(华为云服务器),jdk17,springboot3。在问题服务器中创建文件夹,然后将字体文件移过来。easyExcel的配置中别忘了设置字体。回到windows系统找要用的字体。保存,然后刷新字体缓存。

2024-08-29 16:12:01 875

原创 设计模式-结构型模式-外观模式

为子系统中的一组接口提供统一的接口,它定义了一个更高级别的接口,使得子系统更易于使用;相当于公司部门之间通过代表来沟通,这样减少无效、复杂的沟通;

2024-08-28 09:28:20 540

原创 设计模式-结构型模式-适配器模式

将类的接口转化为客户期望的另一个接口,适配器可以让不兼容的两个类一起协同工作;

2024-08-26 15:04:52 933

原创 设计模式-结构型模式-装饰器模式

装饰器模式动态的给一个对象添加一些额外的职责,就扩展功能而言,装饰器模式提供了一种比子类更加灵活的方案;在软件设计中,装饰器模式是一种用于替代继承的技术,通过一种无需定义子类的方式给对象动态的增加职责,使用对象之间的关联关系取代类之间的继承关系;

2024-08-23 14:21:24 1315

原创 设计模式-结构性模式-桥接模式

桥接模式就是将抽象部分与他的实现部分分离,使他们都可以独立的变化;桥接模式用一种巧妙地方式处理多层继承存在的问题,用抽象关联来取代传统的多层继承,将类之间的静态继承关系转变为动态的组合关系,使得系统更加灵活,并易于扩展,有效地控制了系统中类的个数;

2024-08-23 10:44:39 776

原创 Xpath语法

XPath 是一种在 XML 和 HTML 文档中查找信息的语言,提供了丰富的表达式来选择节点和处理文档内容;

2024-08-22 18:04:24 389

原创 设计模式-结构型模式-代理模式

让你能够提供对象的代替品或占位符,代理控制着对于原对象的访问,并允许将请求提交给对象前后进行一些处理;

2024-08-22 15:04:13 1297 1

原创 设计模式-创建型模式-原型模式

用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象;

2024-08-21 09:29:04 936

原创 设计模式-创建型模式-建造者模式

建造者模式又称生成器模式,将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示;

2024-08-20 14:22:33 1127

原创 设计模式-创建型模式-工厂模式

工厂模式提供了一种创建对象的最佳方式,在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象;工厂模式分为三种:简单工厂、工厂方法和抽象工厂;

2024-08-06 11:17:03 684

原创 设计模式-创建型模式-单例设计模式

单例模式是最简单的模式之一,其保证了某个类在运行期间只有一个实例对外提供服务;

2024-08-01 09:15:16 1001

原创 设计模式-六大设计原则

一个类或者模块只负责完成一个职责;【实例】上面这个类,当此类只是用来展示用户信息,则设计符合单一职责;当此用户的地址经常需要使用,比如电商平台类的项目,则需要将地址信息分离出来才符合单一职责。1.1 如何判断一个类是否违反单一职责类中代码行数、函数、属性过多类依赖的其他类过多(如果某个 service 类需要依赖多个不同功能的 service 类来完成一个复杂的业务逻辑,但自身的职责仍然是单一的,那么这也是符合单一职责原则的)私有方法过多。

2024-07-31 14:11:35 903

linux服务器部署项目,jdk安装包

linux服务器部署项目,jdk安装包

2023-09-22

14.项目部署-Idea快速将SpringBoot项目部署到Docker上

Idea快速将SpringBoot项目部署到Docker上

2023-08-30

centos7安装elasticsearch

centos7安装elasticsearch

2023-08-25

12.HTTPclientUtil

HTTPclientUtil-用来向其他项目发起http请求

2023-08-25

10.Linux-centos7安装jdk&mysql&redis

centos7安装mysql 5、centos7安装jdk、redis

2023-08-24

5.分布式项目中的事务管理-seata

5.分布式项目中的事务管理-seata

2023-08-21

26.JavaWeb-SpringSecurity安全框架-SpringSecurity配置类

SpringSecurity配置类

2023-07-19

22.JavaWeb-Minio存储服务器 工具类

Minio存储服务器 工具类

2023-07-17

20.Redis缓存数据库的redis配置类

redis配置类

2023-07-13

18.JavaWeb-JWT(登录、鉴权)

JWTUtil

2023-07-13

12.1 物业管理项目中的新知识点-雪花id工具

12.1 物业管理项目中的新知识点-雪花id工具

2023-06-20

物业管理项目的数据库内容

物业管理项目的数据库内容

2023-06-16

客户信息管理(JavaSE)

简单的一个对数据库中信息实现增删改查操作的练习项目

2023-06-12

空空如也

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

TA关注的人

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