自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (3)
  • 收藏
  • 关注

原创 Spring-AOP学习分享

因此,当我们调用代理对象的方法时,实际上会触发切面的增强逻辑,然后再调用目标对象的原始业务逻辑。,在运行时动态的将要增强的代码织入到目标类中,使用动态代理技术实现:JDK动态代理(Proxy,底层通过反射实现);,在编译期,使用特殊的编译器(ajc编译器)把aspect类编译成class字节码后,在java目标类编译时织入,即先编译aspect类再编译目标类。如果目标对象没有实现任何接口,则 Spring 将使用 CGLIB 动态代理,通过创建目标对象的子类来创建代理对象。通过实现这些接口来创建代理对象。

2023-05-25 21:45:50 86

原创 Spring-IOC学习分享

但是在spring boot项目中,任何一种注入方式都会报错,因为spring boot默认的bean创建机制是单例模式,当出现循环依赖时,由于一个bean正在被创建而另一个bean也需要依赖它,就会造成死锁和无限递归等问题。setter注入和属性注入都是在实例化bean之后做的操作,那么在bean实例化之后,依赖注入之前这段时间内,依赖属性都是null。由此可以看出,构造器注入的方式,实例化得到的bean是最完整的bean。属性注入,IOC容器会在创建bean实例后通过反射机制注入属性;

2023-05-25 15:48:51 78

原创 MQ常见问题

场景:生产者在将数据发送到MQ的时候,可能由于网络等原因造成消息投递失败。解决方法:当MQ接收到消息之后,给生产者发送确认信息,若生产者等待MQ的确认信息超时,则再次发送消息。场景:MQ接受到消息后,还未将消息转发给消费者时,MQ服务宕机等原因造成消息丢失。解决方法:消息持久化保存。场景:消费者刚接收到消息还没处理完成,消费者服务宕机等原因造成消息丢失。解决方法:当消费者消费完消息后,给MQ发送确认信息,若MQ等待消费者的确认信息超时,则再次发送消息。

2023-03-24 17:56:05 920

原创 RabbitMQ学习

RabbitMQ基础学习

2023-03-09 17:38:11 89

原创 JVM学习分享

JVM学习分享

2023-02-08 17:16:46 106

原创 RocketMQ学习

RocketMQ 是一款 低延迟、高并发、高可用、高可靠的分布式消息中间件。主要用来削峰填谷。支持发布/订阅(Pub/Sub)。在队列中按照先进先出的顺序传递。支持拉(pull)和推(push)两种消息模式。RocketMQ 架构Name Server:注册中心。Broker:消息中转角色,负责存储消息,转发消息。Broker启动后需要将自己注册到Name Server,随后每隔30s定期向Name Server上报Topic路由信息。分为 Master Broker 和 Slave Bro

2022-04-17 11:39:19 2130

原创 Redis学习

Redis是一种非关系型数据库,Mysql存储在磁盘里,而Redis存储在内存里。Redis即可以用来做持久存储,也可以做缓存。1、redis基础数据类型类型简介特性场景String(字符串)二进制安全可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512MHash(字典)键值对集合,即编程语言中的Map类型适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值(Memcached中需要取出整个字符串反序列化成对象修改完再序列

2022-04-16 15:43:19 350

原创 Java-spring事务学习分享

Spring事务五个特性:事务传播机制事务隔离机制只读事务超时回滚规则事务传播机制REQUIREDSpring默认的传播机制,能满足绝大部分业务需求。如果外层有事务,则当前事务加入到外层事务,一块提交,一块回滚。如果外层没有事务,则新建一个事务执行。REQUIRES_NEW该事务传播机制是每次都会新开启一个事务。如果外层有事务,则将外层事务挂起,开启一个新事务,当当前事务执行完毕,再恢复外层事务的执行。如果外层没有事务,则新建一个事务执行。SUPPORTS完全依赖外层的事务。如

2022-04-03 16:20:46 2350

原创 mybatis学习分享2

一级缓存一级缓存是对于同一个SqlSession。mybatis默认开启一级缓存, SqlSession将查询任务委托给执行器Executor,执行器Executor中的PerpetualCache对象用来存放一级缓存数据。PerpetualCache底层采用HashMap实现,value即是查询结果。一次查询操作中:根据key获取一级缓存数据,如果不为空,则直接返回缓存数据;如果为空,则从数据库中获取数据,并将数据放到一级缓存中。1、PerpetualCache的key:在类BaseExecuto

2022-03-17 16:19:27 446

原创 mybatis学习分享1

Mybatis工作原理读取mybatis配置文件(mybatis-config.xml:为mybatis的全局配置文件,配置了mybatis的运行环境等信息,例如数据库连接信息)。**加载映射文件(mapper.xml)。**根据映射文件生成MappedStatement(对映射信息进行封装,包括参数映射配置、动态SQL语句、结果映射配置),以及其对应的<select | update | delete | insert>标签项。mapper.xml文件中的一个SQL语句对应一个Mapp

2022-03-07 16:28:01 88

原创 数据库-索引学习(以mysql为例)

索引

2022-03-05 16:24:01 492

原创 Java-IO学习分享

IO流学习分享

2022-02-23 17:04:21 229

原创 安全-CSRF学习分享

什么是 CSRFCSRF(Cross-Site Request Forgery)的全称是“跨站请求伪造”,也被称为“One Click Attack”或者“Session Riding”,通常缩写为CSRF或者XSRF。攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。CSRF攻击其实是利用了web中用户身份认证验证的一个漏洞:简单的身份验证仅仅能保证请求发自某个用

2022-02-22 14:49:27 3097

原创 Java-反射学习分享

反射定义,作用

2022-02-22 11:47:41 308

原创 Java-数据库事务学习分享-数据库事务的实现原理(以mysql为例)

事务的实现原理(以mysql为例)

2022-02-10 15:39:50 741

原创 Java-多线程学习分享-4-线程池

线程池

2022-02-09 18:02:12 353

原创 Java-多线程学习分享-3-线程间通信

线程间通信

2022-02-09 16:11:02 85

原创 Java-多线程学习分享-2-线程安全

线程安全,线程同步

2022-02-09 11:36:56 324

原创 Java-多线程学习分享-1

进程、线程的概念;线程的生命周期;线程的实现方式

2022-02-09 10:33:25 101

原创 Java-Collection学习分享

collection基础方法说明,子孙特性比较,map

2022-02-08 17:50:08 435

TCP通信课程设计报告

计算机网络TCP课程设计报告,实现多线程通信,包含全部正确代码

2018-12-23

J2EE期末考试复习题,包括选择题,判断题,填空题,简答题,编程题

J2EE期末考试复习题,包括选择题,判断题,填空题,简答题,编程题

2018-12-13

J2EEppt完整版包含大量代码

J2EEppt完整版,全面的讲解了J2EE的相关知识,还包含的很多相关代码,绝对值得下载

2018-12-13

空空如也

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

TA关注的人

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