自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AOP实现(JDK动态代理和CGlib动态代理)

AOP(面向切面编程)的实现方式有多种,主要介绍一下JDK动态代理和CGlib动态代理,这两种方式也是Spring框架中使用的方式。

2023-01-11 03:04:53 244 1

原创 Spring多线程事务解决方案

对批量操作进行性能优化时会用到多线程来并行处理,从而提高运行效率。而时有业务要求保证批量操作事务的一致性,但不同线程所对应的是不同的事务,这就无法通过Spring提供的注解@Transactional来保证线程间的事务一致性。这也是Spring事务失效的一种情况。可以参考分布式2PC协议,通过编程式事务的方式,统一管理所有1线程事务的提交或回滚

2023-01-07 23:11:43 6429 12

原创 课设:指纹签到系统-支持PC网页端查看

设计基于ESP8266指纹签到系统,完成指纹签到和签退功能,以ESP8266 NodeMCU为核心,与TFT液晶屏、指纹模块相结合,通过无线节点,实现成员签到和签退操作监测,并通过网络以TCP通信的方式向云端服务器发送对应指令,将成员的签到情况进行记录,并可通过浏览器访问指定网站来查询,使成员的签到打卡管理更加高效便捷。指纹模块负责采集指纹信息,将信息发送到ESP8266,ESP8266接收到信息并解析后,将数据通过tcp方式发送到服务器上,并将服务器响应的数据解析显示到tft液晶屏上。

2022-10-18 15:15:56 613

原创 RabbitMQ的使用(Java语言传统操作)

简单看一下RabbitMQ的工作原理图,无论是生产者还是消费者都需要与RabbitMQ建立连接Connection,但是可以看到一个Connection内部有很多个Channel,实际上生产者和消费者是通过Channel与Broker(RabbitMQ Server本身)进行交互的。在实际应用中,创建连接的操作会被封装成一个工具类,并不是每次获取Channel都需要重新创建连接,使用已经创建好的Connection可以有效的减少连接带来的开销。创建连接通常,配置必要属性,获取连接,在通过连接创建信道。

2022-10-05 17:25:58 1467 1

原创 RabbitMQ的死信队列和延迟队列

如果设置了队列的 TTL 属性,那么一旦消息过期,就会被队列丢弃(如果配置了死信队列被丢到死信队列中),而第二种方式,消息即使过期,也不一定会被马上丢弃,因为消息是否过期是在即将投递到消费者之前判定的,如果当前队列有严重的消息积压情况,则已过期的消息也许还能存活较长时间;死信队列是在普通队列的基础上的扩展,有死信队列就一定有死信交换机,只需要将普通队列和死信交换机进行“关联”,将处理不了的消息发送至死信交换机,再由死信交换机发送到与其绑定的队列上,就完成了死信队列的使用。针对每条消息设置ttl。

2022-10-04 16:32:23 711 1

原创 RabbitMQ交换机的四种类型

Exchanges概念,无名交换机、Fanout交换机、Direct交换机、Topics交换机、Headers交换机

2022-10-02 17:04:19 582 1

原创 RabbitMQ如何保证消息不丢失

对三个环节分别使用发布确认、持久化、消息应答机制,可以有效的解决

2022-10-02 15:35:34 2991

原创 数据结构--稀疏数组

因为该二维数组的很多值都是默认值0,因此记录了很多没有意义的数据 —》 稀疏数组。(可以达到一个压缩的效果)当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。...

2022-08-18 16:06:40 152

原创 HTTPS如何保证数据传输安全?底层是如何实现的?据说大部分人都不知道

HTTPS 为什么安全?因为 HTTPS 保证了传输安全,防止传输过程被监听、防止 数据 被窃取,可以确认网站的真实性。HTTPS 的传输过程是怎样的?客户端发起 HTTPS 请求,服务端返回证书,客户端对证书进行验证,验证通过后本地生成用于改造对称加密 算法 的随机数。通过证书中的公钥对随机数进行加密传输到服务端,服务端接收后通过私钥解密得到随机数,之后的 数据 交互通过对称加密 算法 进行加解密。为什么需要证书?防止“中间人”攻击,同时可以为网站提供身份证明。使用 HTTPS 会被抓包吗。......

2022-08-15 11:33:33 1943

原创 Linux操作系统笔记(基本命令+环境安装项目部署+Shell编程)

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。......

2022-08-14 18:29:16 662

原创 分布式版本控制Git

Git本地有四个工作区域工作目录(WorkingDirectory)、暂存区(Stage/Index)、资源库(Repository或GitDirectory)、git仓库(RemoteDirectory)。工作区,就是你平时存放项目代码的地方暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本。...

2022-07-28 17:33:19 68

原创 工厂设计模式

工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。

2022-07-17 20:25:17 85

原创 适配器模式和装饰器模式区别

适配器模式和装饰器模式都可以在原类文件方法的基础上修改、增强,但侧重点不一样

2022-07-14 16:58:02 2469

原创 单例模式(八种方法分析)

所谓的单例设计模式,就是采取一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。

2022-07-14 11:29:55 572

原创 适配器模式(SpringMVC、线程源码分析)

适配器模式定义:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能在一起工作的那些类可以一起工作。——《设计模式:可复用面向对象软件的基础》......

2022-07-14 10:05:34 594

转载 spring的事务是什么?与数据库的事务是否一样

先说一下什么是事务,事务:是对数据库的一些列操作。之前一直觉得事务只针对于数据库当中,5种隔离级别,7种传播行为,后来才发现这是针对Spring的,对数据库来说隔离级别只有4种,Spring多了一个DEFAULT 这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别.总的来说,本质上其实是同一个概念,spring的事务是对数据库的事务的封装,最后本质.........

2022-06-22 16:54:00 580

原创 EasyCode使用+模板(MyBatis-plus、Lombok)

逆向工程,EasyCode插件,支持Lombok插件的模板

2022-04-20 21:56:16 2113

原创 Docker安装(Docker上部署一个SpringBoot项目含MySql)

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

2022-04-02 20:10:32 2623 1

原创 Docker 常用命令

docker 的常用命令,包含镜像、容器操作等命令

2022-04-02 16:46:10 864

原创 八皇后问题(经典回溯算法 JAVA版)

八皇后问题

2022-01-18 17:44:57 2656

原创 SpringBoot将本地目录作为资源目录实现访问

由于项目涉及到了大量图片资源,即图片上传功能,总不能上传图片至Jar包内部吧,所以需要在jar包外设置资源路径来保存图片及其他资源。创建资源目录首先需要在项目的根路径创建资源目录存放图片获取项目跟目录:System.getProperty("user.dir");例:D:\item\stereoscopic-garage*stereoscopic-garage为我的项目名*String FILE_PATH_PREFIX = "static/images/photos";//获取项目根路径S

2021-08-02 22:04:50 952

原创 SpringBoot整合Shiro MD5盐值加密

springBoot整合Shiro MD5盐值加密Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。...

2021-05-02 19:01:44 403

原创 SSM整合所需Maven依赖和配置

SSM整合所需Maven依赖和固定配置Maven依赖配置Maven静态资源过滤问题解决web.xmlresource配置文件applicationContext.xmldruid.propertiesmybatis-config.xmlspring-mapper.xmlspring-mvc.xmlspring-service.xmlMaven依赖<!--依赖--> <dependencies> <!--Junit--> <

2021-02-23 00:00:57 853

原创 SpringMVC中文乱码彻底解决

post 传参时乱码可以自定义过滤器,也可以使用springmvc提供的过滤器使用springmvc提供的过滤器,web.xml中添加这段代码:<!--乱码过滤器--> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEnco

2021-02-22 00:22:24 213 3

原创 SpringMVC注解实现

SpringMVC注解实现固定代码and整体结构目录结构web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml

2021-02-21 19:11:10 92

原创 SpringMVC执行原理

SpringMVC执行原理图参考【狂神说java】实线部分spring已经帮我们写好,虚线部分需要我们自己写,但执行原理必须懂1:DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心。用户发出请求,DispatcherServlet接收请求并拦截请求。2:HandlerMapping为处理器映射。DispatcherServlet调用HandlerMapping,HandlerMapping根据请求url查找Handler。3:HandlerExecution表示

2021-02-21 17:21:38 134

原创 JDBC手动获取连接和数据库连接池获取连接(mysql)

获取Connection手动获取连接方式一(简单获取)方式二(通过配置文件获取连接)通过数据库连接池获取连接通过Druid获取数据库连接补充知识点通过类加载器获取文件的信息手动获取连接几个重要参数:String driverClassName = "com.mysql.jdbc.Driver";//Driver类的路径String url = jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useSSL=false;//test为数据库

2020-11-12 21:00:52 1241

空空如也

空空如也

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

TA关注的人

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