- 博客(23)
- 收藏
- 关注
原创 Java泛型(补档)
Java 泛型是 Java SE 1.5 引入的一项重要特性,它的核心思想是 参数化类型(Parameterized Types),即通过将数据类型作为参数传递给类、接口或方法,使代码能够灵活地处理多种类型,同时保证类型安全性。在类名后添加类型参数 <T>,T 是占位符(可以是任意标识符),声明后类的占位符会被替换成对应类型。泛型方法可用于编写通用的工具类,例如排序、查找等。
2025-04-30 18:32:08
477
原创 RabbitMQ(补档)
RabbitMQ 是一个开源的消息队列软件(有时也被称为消息代理),它实现了高级消息队列协议(AMQP)。它主要用于应用程序之间,或者软件组件之间的消息通信。通过使用 RabbitMQ,可以实现异步的、可靠的、可扩展的消息处理机制,这使得它成为构建分布式系统时的一个理想选择。解耦服务:在微服务架构或分布式系统中,服务之间可以通过消息队列进行通信,从而实现松散耦合。这样做的好处是,即使某些服务出现故障,也不会影响到整个系统的运行。异步处理:对于一些不需要立即响应的操作,可以采用异步的方式进行处理。
2025-03-16 17:33:37
1376
原创 RocketMQ(补档)
RocketMQ 是一个分布式消息中间件,具有高吞吐量、低延迟、可靠性高等特点。它广泛应用于大规模分布式系统中,用于解耦服务之间的直接调用、异步处理、流量削峰等场景。
2025-03-16 00:30:56
1196
原创 Java常用设计模式
设计模式是软件开发中解决常见问题的模板或指南。Java中的23种设计模式通常被分为三大类:创建型(Creational Patterns)、结构型(Structural Patterns)和行为型(Behavioral Patterns)。
2025-03-14 23:50:35
497
原创 MyBatis的<association>、<collection>(补档)
association>用于一对一的关联映射,表示外部对象是一个单独的实例。<collection>用于一对多的关联映射,表示外部对象包含了一个集合或列表的实例。
2025-03-13 14:11:06
358
原创 Java 事务:@Transactional 、@GlobalTransactional
使用 @Transactional 来管理单个服务内的本地事务。使用 @GlobalTransactional 来管理涉及多个服务或资源的分布式事务,确保跨服务调用之间的一致性。异常处理:默认情况下只有遇到运行时异常和错误时才会触发回滚。可以通过属性rollbackFor指定其他类型的异常也触发回滚。传播行为:可以使用propagation属性定义事务的传播行为,比如是否在一个已存在的事务中运行还是创建新的事务。隔离级别:通过isolation属性设定事务的隔离级别。
2025-03-12 11:26:26
1008
原创 Redisson分布式锁框架
Redisson是一个用于Redis的Java客户端,它极大地简化了分布式锁、分布式集合、分布式服务等复杂场景下的开发工作。Redisson提供了丰富的功能,并且对分布式锁的支持尤为强大和灵活。
2025-03-10 00:19:27
445
原创 Java 分布式锁
该代码示例展示了如何使用上述表来获取和释放锁,并执行相应的业务逻辑(例如更新库存),在请求A对业务进行操作的时候,假设请求B也进入到此方法,则会由于锁表的唯一索引lock_name而导致插入失败,导致其操作被拒绝,而主键则需要针对不同业务场景设置,不同业务场景不会触发锁机制。此外,由于使用的是临时节点,如果客户端崩溃或与ZooKeeper断开连接,该节点也会自动被删除。,数据库会在查询过程中给数据库表增加排他锁,当某条记录被加上排他锁之后,其他线程无法再在该行记录上增加排他锁,而事务提交后会自动释放锁。
2025-03-06 23:55:26
578
原创 Java锁
这是一种硬件指令级别的操作,用于实现乐观锁。它不使用锁,而是通过比较预期值与当前值是否相同来决定是否更新数据。如果不同,则说明数据已经被其他线程修改过,需要重新尝试。do {// 获取当前值// 计算新值// 使用CAS尝试更新值} while (!@Test// 输出:Updated Value: 1:synchronized关键字-可用于代码块和方法是Java中的一种同步机制,可以视为悲观锁。可重入锁:允许同一个线程多次获取同一把锁。
2025-02-23 21:42:07
633
原创 @Async注解
Async 是 Spring 框架中用于声明异步方法的注解。使用此注解的方法会在一个独立的线程中执行,而不是在调用者的线程中,从而实现非阻塞操作。
2025-02-08 10:48:25
233
原创 SpringBoot的过滤器、拦截器、监听器(补档)
在Java Web开发中,过滤器(Filter)、拦截器(Interceptor)和监听器(Listener)是三种不同的机制,它们分别用于处理不同类型的任务。
2025-02-05 16:40:39
1041
原创 Java Event 事件
Spring框架中的事件(Event)机制是基于观察者模式实现的,它提供了一种简单的方式来通知应用程序中的不同部分发生了某些事情。通过Spring的事件机制,你可以在应用中发布和监听自定义事件,从而实现组件之间的松耦合通信。
2025-02-03 22:08:06
833
原创 CompletableFuture多线程
CompletableFuture 是 Java 8 引入的一个类,位于 java.util.concurrent 包中。它是 Future 接口的一个实现,但提供了更多的功能和灵活性来处理异步计算。相比于传统的 Future,CompletableFuture 允许以非阻塞的方式编排和组合异步任务,并且可以通过链式调用、异常处理等功能简化异步编程。
2024-12-29 23:39:37
1268
原创 HTTP响应内容压缩(处理响应内容过大的场景)
如果单体应用中不同部分有不同的压缩需求,可以通过代码逻辑或更细粒度的配置来实现差异化的压缩策略,但这相对复杂一些。如果服务器和客户端之间的网络连接已经很快,那么压缩带来的额外处理时间可能抵消甚至超过它所带来的节省。性能监控:无论是在微服务还是单体项目中,启用响应压缩后都应该密切关注系统的性能指标,确保压缩确实带来了预期的性能提升,而没有引入不必要的CPU负载或其他问题。统一管理:在一个微服务架构中,虽然每个服务可以有自己独立的配置,但为了简化管理和维护,推荐对类似的微服务使用统一的配置管理工具或默认值。
2024-12-16 13:36:24
620
原创 Stream 的 flatMap 和 map 方法
map方法super T,?flatMap方法super T,?map:适用于将流中的每个元素转换为另一个对象,但不会改变流的结构。flatMap:适用于将流中的每个元素转换为一个流,并将这些流合并成一个单一的流,从而展平嵌套的结构。
2024-10-23 18:15:20
1036
1
原创 Java多态性(补档)
数据本身不会丢失,只是访问受限于父类引用所能看到的部分。为了访问子类特有的属性和方法,你需要显式地向下转型。使用instanceof关键字可以避免。四、注意事项向上转型:将子类对象赋值给父类引用是自动的,称为向上转型(upcasting)。向下转型:如果您需要访问子类特有的方法或属性,需要显式地将父类引用向下转型为子类类型。例如,((子类) 对象名).子类方法();。运行时类型检查:在进行向下转型之前,通常会使用instanceof关键字来检查对象是否是预期的子类类型。
2024-07-25 14:42:40
335
原创 Java时间戳
longDatelongDategetTime()longTimestampTIMESTAMPInstantInstantLocalDateLocalTimeInstant和Instant。
2024-06-18 15:53:22
521
原创 SpringBoot整合Mongodb
一个文档数据库,以JSON为数据模型,由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
2024-04-18 23:39:27
1757
原创 Oauth2.0+JWT
授权服务器:用于对资源拥有者的身份进行认证,对访问资源进行授权。客户端如果想要访问资源的话需要 资源拥有者 通过向 授权服务器 授权后才可以访问。OAuth 2.0 :OAuth2被称为授权框架(或规范框架),其主要目的是允许第三方网站或应用程序访问资源。资源服务器:存储资源的服务器,客户端最终需要通过资源服务器来获取资源。客户端:本身不存储资源,需要通过资源拥有者去请求资源服务器的资源。资源拥有者:通常可以理解为用户。
2024-04-13 21:45:25
698
原创 SpringSecurity
SpringSecuriry简介:基于Spring提供声明式的安全访问可控制解决方案的安全框架(认证+授权),充分利用了IOC、DI、AOP功能。PasswordEncoder接口:实现对密码进行加密和加密后的校验,这边推荐使用他的BCryptPasswordEncoder实现类。1.SpringSecurity规定使用时容器必须有PasswordEncode的实例,故需要用配置类注入。1.在 段落2 配置的Config中继承类并实现方法实现。2.自定义登录校验逻辑。
2024-01-28 17:07:53
90
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人