自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [八股]从反射到动态代理

这部分文章将能解答以下问题:JVM的类加载过程中加载这一阶段做了什么?讲一下设计模式中的代理模式动态代理是什么?Spring是如何实现AOP的?

2024-04-25 19:24:56 394 1

原创 [八股]select,poll与epoll

select将所有的Socket连接放到一个文件描述符集合中,之后该集合会从用户空间拷贝到内核空间,内核采用遍历的方式检查是否有事件产生,当检查到产生事件时,内核j将修改内核空间中的文件描述符集合,之后将该集合从内核空间拷贝到用户空间。用户空间将遍历集合找出可读/写的Socket。现代操作系统采用虚拟存储器来实现内存管理,操作系统的核心是内核,出于安全性考虑,将虚拟空间分为了用户空间和内核空间。poll使用了链表实现了动态数组,相较于select没有了文件描述符集合长度的限制,但其他方面没有什么太大变化。

2024-04-24 18:50:24 393

原创 [elastic 8.x]java客户端连接elasticsearch与操作索引与文档

/

2023-11-05 00:25:21 2476 1

原创 Docker安装部署[8.x]版本Elasticsearch+Kibana+IK分词器

在我发的上一个博客里记录了如何安装7.x版本的elasticsearch,我在跟着教学学习Java Rest Client的时候发现在elastic的官网上Java Rest Client已经被标注为过时了,elastc提供了全新的Elasticsearch Java API Client,作为程序员,应该勇于去尝试新技术,因此我决定继续尝试使用elasticsearch8.x版本。点击左上角的扩容,如果显示无法给只读权限的分区扩容,右键查看该分区挂载在哪个路径下,使用root用户修改权限。

2023-10-31 14:31:38 2082

原创 Docker安装部署Elasticsearch+Kibana+IK分词器

一般来说,我们不希望在elasticsearch容器停止时丢失elasticsearch中的文件,因此我们创建一个数据卷来关联elasticsearch的data文件夹。我尝试安装8.x版本的,不过似乎由于虚拟机内存大小的原因集群状态总是转为RED无法重置elastic账户的密码,因此我最终选择使用7.x版本的elasticsearch,8.x版本的默认使用https来保证数据的安全性,感兴趣的同学可以自行尝试。es-net为我们在之前创建的网络的名称。es-net为上一步我们创建的网络名。

2023-10-29 22:42:19 1361 1

原创 SpringAMQP

消息队列是实现异步通讯的一种方式,我们将从RabbitMQ为例开始介绍SpringAMQT。

2023-10-21 20:24:53 803

原创 云原生之Docker

docker是一个快速交付应用,运行应用的技术。可以将程序及其依赖、运行环境一起打包为一个镜像,可以部署在任意Linux操作系统。运行时利用沙箱机制形成隔离容器,各个应用互不干扰。BaseImage层:包含基本的系统函数库、环境变量、文件系统Entrypoint:入口,是镜像中应用启动的命令其他:在BaseImage基础上添加依赖、安装程序、完成整个应用的安装和配置。

2023-10-20 00:23:58 1226

原创 【SpringCloud】网关

当想实现的过滤器逻辑过于复杂的时候,过滤器工厂中的过滤器便不能满足要求,此时必须自定义过滤器,全局过滤器就可以帮助我们自定义过滤器。通过order注解可以决定filter的执行顺序,当前过滤器和DefaultFilter默认order为声明顺序从1开始递增.较高版本的SpringCloud的Gateway还需要引入一个负载均衡的依赖。如果使用nacos来进行服务发现,还需要引入nacos服务发现的依赖。当想给多个路由设置相同的过滤器时,可以使用默认过滤器。搭建网关首先需要引入相关依赖。

2023-10-03 18:36:30 58

原创 [SpringCloud] Feign远程调用

类型作用说明修改日志级别包含四个级别:NONE、BASIC、HEADERS、FULL响应结果的解析器对http远程调用的结果做解析请求参数编码将请求参数编码,便于通过http请求发送支持的注解格式默认是SpringMVC的注解失败重试机制请求失败的重试机制,默认是没有,不过会使用Ribbon的重试机制。

2023-09-30 23:37:54 81

原创 [SpringCloud]Nacos配置管理

在服务启动读取application.yml文件前,它应该先从nacos读取共享的配置。bootstrap.yml的读取在其之前,所以应该在bootstrap.yml文件中配置nacos的地址并读取配置。在设置Data Id时如果只写服务名不写生产环境名时,该配置为环境共享配置并将被同服务名的服务读取。在配置内容中配置想要实现热更新的配置,我这里只是为了方便演示所以配置的是端口号。[服务名]-[环境].yml > [服务名].yml > 本地配置。启动Nacos之后,在配置管理的配置列表中点击创建配置。

2023-09-14 23:48:04 93

原创 [SpringCloud]服务注册发现

RestTemplate是Spring框架提供的一个工具类,用于进行REST API调用。它是一个模板类,采用的设计模式是模板模式,封装了HTTP请求的细节,使得我们可以更加方便地进行Restful服务的调用。与HttpClient类似,RestTemplate也可以模拟HTTP请求,但它更加优雅和易于使用。getForObject:用于执行GET请求并返回指定的对象。postForObject:用于执行POST请求并返回指定的对象。put:用于执行PUT请求并返回响应对象。

2023-08-26 01:10:32 74

原创 FHQ Treap树

Treap是一个合成词,Treap=Tree+Heap,顾名思义,它是具有堆性质的树,它的本质还是BST(二叉查找树),但因为引入了随机的权值使其在概率期望上达到了log2nlog_2{n}log2​n的复杂度。Treap树的维护有旋转法和FHQ两种方式,FHQ是近年来逐渐流行的,其编码更加简单且可以解决区间翻转和区间移动等问题。

2023-08-21 10:39:14 72

原创 天池实验室学习笔记:基于逻辑回归的分类预测

基于逻辑回归模型对鸢尾花数据集进行二分类和三分类训练和拟合

2023-07-11 21:22:58 155

原创 SpringBoot 自动配置

创建starter模块创建autoconfigure模块并在starter模块中引入在antoconfigure模块中定义自动配置功能,定义自动配置文件META-INF/spring/xxxx.imports。

2023-07-09 20:06:07 84

原创 SpringBoot Bean管理

Bean的作用域与第三方Bean管理

2023-07-08 18:51:39 111

原创 SpringBoot 面向切面编程

AOP是Aspect Oriented Programming(面向切面编程)的缩写。可以对方法进行增强,底层使用的是动态代理。

2023-07-06 19:31:41 746

原创 SpringBoot事务管理

在默认情况下,只有当出现运行时错误RunTimeError时才会进行事务的回滚,可以通过rollbackfor属性来配置何时回滚事务。Springboot框架提供了==@Transaction==注解,可以很方便地管理事务。一般加在业务层的实现类或接口的方法上。propagation属性用来配置事务的传播行为,默认是REQUIRED(有事务时加入事务,没有事务时创建事务)。事务具有原子性和一致性,同一个事务中的语句只能一起成功或一起失败。其中,REQUIRED和REQUIRES_NEW最常用。

2023-07-05 22:21:32 69

原创 SpringBoot全局异常处理器

在程序开发过程中不可避免地会遇到很多异常,此时返回的信息是框架的错误信息,这个错误信息的规范可能不符合前端所需要的规范,因此需要对异常进行处理。

2023-07-04 16:42:58 137

原创 SpringBoot Interceptor快速上手

创建的拦截器类需要继承HandlerInterceptor接口并实现其方法response . getWriter() . write("该请求已成功通过拦截器");} }preHandle在访问资源前进行,返回一个布尔类型的值,true为允许其访问资源,false为不允许其访问资源postHandle在访问资源后执行afterCompletion方法在视图渲染完毕后执行,是最后执行的同时,为了方便我们注册拦截器,我们给它加上@Component注解交给IOC容器管理。

2023-07-04 00:20:47 73

原创 Servlet Filter快速上手

定义一个类实现Filter接口,并重写其全部方法} }其中,init和destroy分别为初始化和销毁方法,只调用一次,一般用来进行资源的获取和释放操作,有其默认的实现方法,因此大多数时候只需要重写doFilter这个方法就行了。其中,在doFilter方法中,调用FilterChain的doFilter方法及为放行该请求去访问对应的资源。

2023-07-03 20:33:15 66

原创 线段树C++模板

线段树在广义上被归类为二叉搜索树,适用于满足于区间加法的问题。

2023-06-09 14:48:29 403 1

原创 高精度算法(加减乘除)

高精度算法

2023-06-07 18:02:57 67

原创 PageHelper便捷分页

然后我们获取全部数据存在集合类型empList中,然后将其强转为Page类型。调用getTotal方法,我们可以获得全部数据量,调用getResult方法,我们可以获得该页的具体数据。首先,我们声明一个Page类型的对象调用startPage()方法,设置分页参数,属性page是获得第几页的数据,属性pageSize是每页的数据数。我们使用PageHelper插件来帮助实现分页功能,将会极大的简化开发流程。

2023-05-30 17:23:49 96

原创 Spring 整合MyBatis

引入Mybatis和JDBC依赖,因为我使用的是mysql数据库,因此我需要引入mysql的依赖_mysql-connector-j_声明一个接口,在接口上添加@Mapper注解,此时在程序运行时,会自动生成该接口的实现类对象并将该对象交给IOC容器管理。${}是将数据直接拼接到SQL中进行编译运行,安全性较低,一般在对表名\列表进行动态设置时使用。其中,#{}内的值是方法的参数,在SQL预编译之后将加入SQL语句进行执行。可通过对sql片段进行抽取,然后使用对sql片段进行引用。

2023-05-29 09:49:50 63

原创 SpringBoot Bean

简洁介绍Spring中的Bean

2023-05-25 19:47:52 65

原创 SpringBoot Http响应

由上可以发现,使用@ResponseBody返回的数据有时是字符串,有时是JSON数据,在实际开发中,前端人员将难以对接后端的数据。我们创建这样一个结果类,code表示状态码,msg表示错误信息,用object对象data保存结果信息,这样,前端人员只需要按照需要从data中获取需要的信息即可,这样也更加规范。我们查看它的源码可以发现,除了三个元注解外,@RestController还包含了@Controller和@ResponseBody注解这两个注解。Controller方法、类上。

2023-05-23 21:46:54 234

原创 图论:最短路径算法(Dijkstra算法、Bellman-ford算法、SPFA算法、Floyd算法)

本篇文章涉及解决最短路径的如下算法🧡Dijkstra算法💛Bellman-ford算法💚Spfa算法💙Floyd算法。

2023-05-23 01:39:28 282

原创 SpringBoot Http请求

SpringBoot请求参数接收

2023-05-20 21:38:17 1047

原创 SpringBoot快速上手Demo

为方便管理,我们创建一个与Demo1Application.java文件同级的文件夹Controller注意这个文件夹的位置一定是要在我项目结构中的demo文件夹内(在你们的项目中不一定叫这个名字),否则将不会被Spring工程扫描到,并在该文件夹下创建一个叫做HelloController的java对象。在这套专栏中,统一使用maven来管理项目依赖,maven是Apache旗下的一个开源项目,是一个项目管理和构建工具,没使用过maven的建议先花十几分钟看看maven的基本使用。

2023-05-18 22:41:35 109

原创 51单片机定时器寄存器配置

当计数超过计数器的最大计数时,TF1/TF0由硬件置1,像CPU请求中断。此时定时器T1、T0是否开启只与TR1/TR0是否置1有关。当不使用外部中断时,GATE置0后通过非门和或门为1.

2023-05-17 14:27:47 1051

原创 力扣1015数论题解(欧拉定理,欧拉函数)

容易发现,当k是2或5的倍数时一定不存在这样的n能被k整除,因此k一定与10互为质数,因此9k也与10互为质数,由欧拉定理。对于这道题,我们很容易的可以发现n只由数字1组成,容易得到。现在框架有了,如何求欧拉函数呢,我们可以利用它的一个性质。(9k)是一个满足条件的n的长度,但它不一定是最小的。的形式,我们得到一个求欧拉函数的方法。假设存在这么一个n,能够整除k,即。的因子,判断是不是合法的n即可。将这两个表达式放一起。因此只需从小到大枚举。

2023-05-11 02:24:53 211

原创 python实现大根堆

堆是一棵完全二叉树,即除了最后一层外,其它各层的节点数都达到最大个数,且最后一层的所有节点都连续集中在最左边。

2023-05-08 12:42:55 806

原创 python初始列表方式导致的二维列表的修改问题

列表使用可能出现的细节问题

2023-05-04 00:36:16 111

原创 Java实现JWT令牌技术

实现jwt

2023-04-03 20:37:09 878

原创 c语言解释KMP算法

c语言实现KMP算法

2023-02-21 14:07:35 114

原创 c语言实现一个栈结构

c语言实现一个简单的栈结构

2023-02-19 17:28:40 107

原创 Windows操作系统下安装Docker指南

windows安装docker踩坑经历

2023-01-05 16:58:13 15941 7

原创 使用阿里云短信服务

python使用阿里云的短信服务

2022-11-23 18:43:49 5118

原创 Redis自学笔记(数据操作)

在写这一部分的时候是为了为学习django框架打基础,因此目前写的都是Redis常用的命令。在掌握django框架后我会深入学习Redis,然后再补充这一部分内容。

2022-11-09 20:30:26 207

原创 Redis自学笔记(下载与配置)

说明:以下操作均在windows系统下完成。

2022-11-09 14:32:57 769

空空如也

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

TA关注的人

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