自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(197)
  • 资源 (7)
  • 收藏
  • 关注

原创 ubuntu制做vsftpd的docker镜像

【代码】ubuntu制做vsftpd的docker镜像。

2025-04-02 12:12:06 239

原创 python下载m3u8格式视频

【代码】python下载m3u8格式视频。

2025-03-28 17:53:37 472

原创 Linux本地部署deepseek及SpringBoot集成deepseek

本文以linux安装为例(服务器主机ip:192.168.109.210)

2025-03-10 16:27:00 736

原创 OpenEuler分区扩容

通过第一步可以看出、home分区所对应的逻辑卷在/dev/mapper/openeuler-home上。/home分区有17G的空间。利用率非常低,现在需要将home下的10G空间分配给/成功将/home目录下的10G扩容到根目录。创建openeuler-home文件系统。创建openeuler-home逻辑卷。如果home目录下有文件,先进行备份。三、删除home分区的逻辑卷。

2025-03-07 16:04:53 415

原创 OpenEuler-24.03-LTS-SP1安装

在选择INSTALLTION SOURCE时会出现。的错误,设置好network后,只需将yun镜像源。checking至100%,内核加载完毕。所有必选项配置完成后,点击开始安装。ip addr查看网卡信息。

2025-03-06 11:15:10 349

原创 Java反射获取对象属性的值

【代码】Java反射获取对象属性的值。

2025-02-27 22:57:52 301

原创 Spring Boot启动内嵌tocmat原理

要研究Spring Boot启动内嵌tomcat的原理,就需要先了解一下Spring Boot自动配置的过程,首先简要的梳理一下springboot自动配置的步骤。

2025-02-06 16:43:46 1035

原创 Cmake编译多个目录源码

在大型项目中分模块开发出现多给源码目录,使用Cmake构建项目,如果单个在camkelist中配置源码文件的,工作量巨大且不够灵活,Cmake提供的内置函数aux_source_directory和set可以轻松解决这一问题。编写Cmakelists.txt文件。

2025-02-05 17:19:46 201

原创 css底部对齐布局

绝对定位可以将元素直接定位到整个可视页面的最底部,不受父容器的约束,有些场景使用不受灵活,此处position使用fixed固定定位效果也一样,稍微有区别的就是,使用fixed定位,如果在加一层盒子,使用相对定位,定位效果失效。

2024-12-17 23:16:26 464

原创 Vue3网站锚点定位

网站上实现锚点定位的方法有很多,今天介绍vue3实现的定位效果的方式。通过scrollIntoViewh函数的行为,滑动至指定的容器。

2024-12-06 10:22:27 462

原创 validation自定义校验器

**检验手机号参数*//**校验邮件参数*/对于常量的校验,比如性别 1 男 2 女这类枚举值,如何通过检验器校验调用方的传参合法性,可定义一个枚举类的校验器进行校验。/*** 检验枚举*//// 指定校验器/**校验失败时的返回信息*//**分组校验*/Class<?/**负载*/Class<?/**枚举*/Class<?/**枚举编码*/@Override@OverrideClass<?try {/// 遍历枚举值,和传递的枚举值做对比。

2024-11-28 22:36:01 320

原创 Spring Boot3远程调用工具RestClient

Spring Boot3.2之后web模块提供了一个新的远程调用工具RestClient,它的使用比RestTemplate方便,开箱即用,不需要单独注入到容器之中,友好的rest风格调用。下面简单的介绍一下该工具的使用。

2024-11-21 22:54:12 742

原创 ThreadLocal父子线程、线程池数据传递解决

翻看源码,ThreadLocal是当前线程中属性ThreadLocalMap集合中的某一个Entry的key值Entry(threadlocl,value),虽然不同的线程之间threadlocal这个key值是一样,但是不同的线程所拥有的ThreadLocalMap是独一无二的,也就是不同的线程间同一个ThreadLocal(key)对应存储的值(value)不一样,从而到达了线程间变量隔离的目的,但是在同一个线程中这个value变量地址是一样的。至此完美解决线程变量线程池线程传递。

2024-11-18 21:42:14 1631

原创 Spring Boot3自定义starter

2、定义Properties及业务service3、自动配置类 配置自动导入类,在resource创建META-INF/spring目录,在目录下创建org.springframework.boot.autoconfigure.AutoConfiguration.imports文件,写入TestStarterAutoConfiguration 全路径

2024-11-16 00:02:34 464

原创 贪心算法求无序数组最大递增序列

给定一个无序的数组,获取其最大的递增序列。

2024-09-05 10:44:04 427

原创 埃氏筛选法求素数

埃氏筛选法求素数可以减少遍历次数,及在前期的循环中就将存在的合数打上标记,从而提高算法的时间效率。

2024-08-21 17:57:20 339

原创 链表反转算法

**后继节点 *//** 节点数据域 */int data;} LinkNode;/**** 添加链表元素*//*** 查询链表*//***递归法 链表反转*//*** 迭代法 链表反转*/

2024-08-17 23:51:26 257

原创 快慢指针数组去重

快慢指针是原地算法的又一经典实现方式,比如数组去重,就可以引入快慢指针,一趟循环即将数组中的重复元素过滤掉。其核心思想是通过两个相向运动的指针,通过控制其运动快慢,快指针作为探测指针,提前预判重复元素,然后覆盖慢指针所指向的重复元素。快慢指针移动的原则,快指针再循环过程中不断前进,不受额外条件制约,慢指针在快慢指针不相等的情况下前进。数组总共有5个非重复的元素。

2024-08-14 15:23:13 242

原创 SpEL结合AOP示例

*** spEL* @return*/@Aspect@Component=null){LOGGER.info("TestAopAspect-->doAfter-------后置织入");/// 通过spel表达式获取到形参的中name的值/// 将name追加到返回的listtry {if(result!/**解析spel*//// 方法参数名称=null,"参数列表不能为空");///方法参数值i++) {

2024-08-10 17:40:07 477

原创 原地算法求两数之和

给定一个自增序列数组,总数组中找出两个元素等于目标值,并输出元素的下标。这个题右很多解法,通过hash可以将时间复杂度降到O(n),但是需要额外开辟空间,那么原地算法非常适合解决此题,及保障时间复杂度,亦可保障空间复杂度的最优。

2024-08-07 15:11:39 187

原创 原地算法实现数组反转

**左指针*/int left;/**右指针*/int right;} Tptr;/*** 数组反转*//*** 展示数组*/

2024-08-07 14:33:27 411

原创 Xtrabackup备份mysql数据库

XtraBackup是一个用于MySQL和Percona Server的开源热备份工具,它由Percona开发。XtraBackup支持两种备份类型:完整备份(full backup)和增量备份(incremental backup)。

2024-07-27 22:40:47 571

原创 sql手动自增id

有时候在运维处理数据的时候,需要给某张表插入新的记录,那么需要知道最新插入数据的id,并在最新id的基础上加上id增长步长获取新的id,这个过程往往需要现将max出来加1,再手动补充到sql语句中,很麻烦,而且数据多的时候容易出错。有什么方式可以解决这弊端,其实方法很简单,只需引入一个临时变量即可轻松解决。

2024-07-24 15:59:19 1851

原创 快速排序算法

快速排序又是一种分而治之思想在排序算法上的典型应用。本质上来看,快速排序应该算是在冒泡排序基础上的递归分治法。即在一个无序的序列中选取一个任意的基准元素pivot,利用pivot将待排序的序列分成两部分,前面部分元素均小于或等于基准元素,后面部分均大于或等于基准元素,然后采用递归的方法分别对前后两部分重复上述操作,直到将无序序列排列成有序序列。排序 n 个项目要 Ο(nlogn) 次比较。在最坏状况下复杂度为Ο(n2)。1、快速排序算法定义。

2024-07-24 11:16:42 148

原创 冒泡排序算法

*** 冒泡排序* @param data 待排序数组* @param len 数组长度*/int i = 0;int j = 0;for (i;i++)for (j;j++)/// 将小于当前元素的下一个元素进行交换printf("排序后-----------------\n");i = 0;for (i;i < len;i++)

2024-07-24 11:07:33 178

原创 插入排序算法

插入排序算法的大概实现思路是这样的,从数组第2个元素开始抽取元素,把它与左边第一个元素比较,如果左边第一个元素比它大,则继续与左边第二个元素比较下去,直到遇到不比它大的元素,然后插到这个元素的右边,迭代处理整个数组 ,选择适当的位置插入。插入排序算的时间复杂度O(n2) ,空间复杂度,O(1) 稳定排序。下面使用代码做简单演示。

2024-07-17 17:27:18 182

原创 选择排序算法

选择排序大体思路是找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。其次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。选择排序的算法效率不是很高,时间复杂度O(n2) ,空间复杂度:O(1)。

2024-07-17 15:52:30 322

原创 java线程锁synchronized的几种情况

类方法做是在类加载过程中已经打上标记了,类信息存储在jvm的常量池中,而对象的方法锁是在运行动态确定的,因此类方法锁和不同的对象成员方法锁之间不存在竞争关系。在并发情景,能用无锁的数据块就不要用锁,能锁区块,就不要锁整个方法体,能锁对象就不要用类锁。

2024-07-11 12:04:35 611

原创 设计模式-装饰器

装饰器模式是一种结构型,它允许在运行时扩展一个对象的功能,而不需要改变其现有结构。这种模式的核心思想是通过创建一个装饰器来动态地增强或修改原有对象的行为。装饰器模式是继承的一个补充,提供了比继承更加灵活的方式来扩展对象的行为。

2024-07-04 16:08:07 316

原创 桥接模式与适配器模式

3、测试/// 处理B类业务/// 处理A类业务。

2024-07-03 11:05:29 520

原创 css grid实现九宫格布局

常见的九宫格布局可以使用flex布局实现,但是flex布局有个致命的缺陷,比如3行3列的布局,当第不足3个元素的时候,元素依然是平局平铺的,这样就不满足九宫格的效果,这种情况,使用grid布局可以轻松搞定这个问题。

2024-06-22 23:09:06 718

原创 Sping事件发布机制

对应于观察者模式中的主题,事件源发生某事件是特定事件监听器被触发的原因。Spring的ApplicationEvent是事件类,事件源soruce作为ApplicationEvent的一个属性维护,有用户自定义传入。事件发布器可以认为是事件监听的容器,对外提供发布事监听器的接口,通过publishEvent方法维护事件和事件监听器之间的映射关系,并在事件发生时负责通知事件监听器。Spring事件发布机制是一种非常重要的通信方式,使用观察者设计模式,可以用于状态通知、业务解耦、异步处理的业务场景。

2024-06-20 17:44:59 267

原创 ASM字节码插桩技术初探

ASM(全称:ASMifier Class Visitor)是一个java字节码操纵框架,ASM 提供了许多 API 和工具,可以直接以二进制形式读取和修改类文件、动态生成类或者增强既有类的功能。

2024-06-14 16:58:44 1282

原创 graalvm编译springboot3 native应用

云原生时代容器先行,为了更好的拥抱云原生,spring boot3之后,推出了graalvm编译boot项目,利用jvm的AOT( Ahead Of Time )运行前编译技术,可以将javay源码直接构建成机器码二进制的文件,无需jdk静态编译为class字节码,运行时jre解释执行,这样就无需依赖java环境运行,部署到容器中可以直接启动运行。

2024-06-12 23:54:04 1315 1

原创 k8s集群修改apiserver的ip地址

有时候由于服务器的调整,导致ip的的变化,k8s集群的api大管家的ip变动会导致kubectl的接口都无法正常使用,这是只需要将k8s主节点配置文件的ip替换即可。例如无需要将原来的192.168.146.202的ip替换成192.168.85.202,执行一下操作即可。重启apiserver。

2024-06-02 16:26:13 1570 1

原创 java函数式编程

Lambda 表达式是 JDK8以后 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。 java提供两类常用的函数,Consumer消费函数,Supplier供给函数。使@FunctionalInterface注解定义函数接口。 在项目开发中,有时候流程控制if语句比较多,可以使用函数编程有效的消除if嵌套

2024-05-08 22:22:46 7116

原创 css响应式布局左、右上、右中布局

【代码】css响应式布局左、右上、右中布局。

2024-05-03 15:54:26 438

原创 Js使用Promise实现阻塞任务

Promise异步编程

2024-03-29 17:24:24 894

原创 Spring Boot设置io临时目录

在部署springboot项目,使用MultipartFile上传文件会出现以下异常出现这种情况的原因是由于在部署项目的时候没有指定应用的临时io目录,spring会直接使用操作系统的临时目录,而操作系统的临目录会在一定的周期类回收,导致隔一段时间后上传文件会出现上述问题。

2024-03-26 11:29:31 1599

原创 Nginx启停操作

上图表示nginx进程启动成功,进程号为30034为主进程(负责链接操作),剩下的四个是工作进程(负责io操作),这里很直观的体现出nginx的epoll是进程级别的。

2024-03-25 17:55:41 638

graalvm-ce-java17-windows-amd64-22.1.0.zip

graalvm AOT

2024-06-11

商米消费机uniapp客显原生插件

Sunmi T1mini/T2mini有顾客显示器。官方文档提供的demo支持原生android调用,uniapp无法调用。本插件将商米的原生方法封装为uniapp可用的原生插件。客显插件.zip压缩包包含的四个部分sunmi_subscren_display_lib-release.aar、package.json、inedex.vue(调用的demo说明)、原生插件引用的目录结构。

2024-03-04

hadoop-3.2.2.tar.gz

64位centos7编译hadoop3.2.2

2021-09-27

hadoop-2.9.2.tar.gz

hadoop2.9.2源码使用使用centos7 64位虚拟机环境、jdk8、maven3.6编译而成

2020-06-10

android平台ffmpeg动态库

android平台使用的ffmpeg动态库,arm架构和armv7-aj架构及编译脚本,编译环境Ubuntu 18.04.1 LTS ,安卓ndk版本android-ndk-r12b

2018-11-14

安装lxml模块的wheel文件

找到python解释器安装的目录,找到pip执行文件,配置环境变量,然后根据操作系统的位数和python的版本号安装wheel(进入存放wheel文件的目录,打开控制台,输入 pip insatall xxxxx.whl)即可

2018-03-19

ssm整合实例工程

ssm框架是目前比较流行的一种后台服务器开发框架,尤其是在移动互联网项目中的应用,虽然现在使用maven搭建分布式聚合工程的比较流行,单传统的web方式搭建ssm工程需要掌握的

2018-02-28

ssm框架搭建所需要的全部jar包

Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。

2018-02-28

tesseract-ocr-setup-3.02.02.exe

Tesseract是一个开源的OCR(Optical Character Recognition,光学字符识别)引擎,可以识别多种格式的图像文件并将其转换成文本,目前已支持60多种语言(包括中文)

2017-09-13

空空如也

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

TA关注的人

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