
Java
文章平均质量分 76
MrFC
这个作者很懒,什么都没留下…
展开
-
Java动态代理——原理详解&源码分析
动态代理的使用示例说到Java的动态代理相信很多开发者都非常熟悉了,但是为了之后更好的对动态代理的原理和源码进行讲解分析,接下来还是先来了解下动态代理的实际使用示例:现在有这样一个场景:明星Michel有两个技能,唱歌、跳舞明星都会有个经纪人,他们的工作是帮明星处理各种除了唱歌、跳舞的其他事务演唱会负责人需要邀请明星Michel来现场唱跳,然后联系Michel的经纪人告知请求下面由代码进行演示,首先创建明星接口,定义唱跳方法:public interface Starter {原创 2022-02-09 10:25:07 · 910 阅读 · 1 评论 -
RocketMQ源码解析——Consumer
目录:了解消息消费者——Consumer:消息消费以组的模式开展,一个消费组内可以包含多个消费者,每个消费者可以订阅多个主题,消费组之间有负载均衡(集群)模式和广播模式两种消费模式:负载均衡(集群)模式:主题下的同一条消息,只允许其中一个消息消费者进行消费广播模式:主题下的同一条消息,将被集群内所有的消费者消费一次消息消费者和服务器之间的消息传递也有两种模式,推送模式、拉取模式:推送模式:当消息到达服务器之后,服务器推送消息给消息消费者(所谓的推送模式实际上是基于拉取模式实现的,在以下的源原创 2021-09-25 17:46:52 · 726 阅读 · 0 评论 -
RocketMQ源码解析——NameServer
了解RocketMQ核心组件——NameServerRocketMQ消息中间件的设计思路是基于主题订阅发布的机制,消息生产者(Producer)发送某一个消息到消息服务器,消息服务器负责将消息持久化存储,消息消费者(Consumer)...原创 2021-08-30 22:53:51 · 441 阅读 · 1 评论 -
RocketMQ源码解析——搭建RocketMQ源码环境
本文旨在使用idea从远程仓库中将RocketMQ源码拉取到本地,并配置搭建环境,运行源码中的示例。依赖环境:IdeaJDK8RocketMQ源码(从github或者gitee上拉取代码即可,本文是从gitee上拉取的源码)1. 从远程拉取RocketMQ源码:拉取后的源码目录如下:2. 创建配置文件目录:面对以上的源码目录,代码还不能运行,因为缺少对应的配置文件目录因此,需要完成以下操作:在项目根目录下创建conf目录将distribution/conf目录下的logback_b原创 2021-08-22 10:48:31 · 535 阅读 · 0 评论 -
SpringBoot整合Shiro框架 && Shiro框架核心源码全面解析
本文主要展示内容有二:SpringBoot项目如何整合Shiro框架,从前端请求用户登录,到后端判断用户、角色、权限认证,再到登录后请求获取用户信息。基于以上整合代码的示例,针对其中shiro框架核心逻辑进行源码解析。在开始阅读文章之前,建议了解Shiro框架的基本使用,才能更好了解本文中所展示的代码示例,可以阅读此文入门:Shiro框架基本使用。首先了解下数据库的表结构这是一个典型的 用户——角色——权限 表结构。用户可以拥有多个角色,角色也可拥有多个权限。SpringBoot项目导入S原创 2021-06-11 19:30:08 · 1385 阅读 · 0 评论 -
Spring + WebSocket(注解) 实现用户一对一通信
首先项目需要导入相应的依赖<dependency> <groupId>javax.websocket</groupId> <artifactId>javax.websocket-api</artifactId> <version>1.1</version></dependency><dependency> <groupId>com.alibaba&l原创 2021-05-29 11:42:21 · 550 阅读 · 3 评论 -
JDK与CGLIB动态代理区别 && 使用示例
JDK与CGLIB动态代理区别:JDK动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。CGLIB动态代理是利用asm开源包,将代理对象类的class进来,通过修改其字节码文件生成子类来处理。对于动态代理来说,Spring框架中使用最为广泛和经典:如果目标对象实现了接口,默认情况下采用JDK的动态代理实现AOP...原创 2021-05-11 20:12:11 · 357 阅读 · 4 评论 -
SpringMVC国际化
This article uses IDEA to realize the internationalization function based on SpringMVC.First create an internationalized properties file:![Insert picture description here https://described] The transfer failed, blog.csdni may have an anti-leech mechanism原创 2021-05-11 12:41:37 · 383 阅读 · 0 评论 -
支付宝沙箱使用详细教程(Java版本)
想要使用支付宝沙箱,首先需要开通支付宝沙箱的账号:网址:https://open.alipay.com/platform/home.htm进入上面网址点击进入管理中心再点击研发服务然后就可以看到你的沙箱相关的信息:下一步需要点击“设置/查看”设置你的公钥私钥,如下:将“应用私钥”复制保存下来,在Java代码中需要用到,然后再将“应用公钥”复制回填到对应位置。最后再设置下支付宝网关:到此,支付宝的沙箱就开通完成了,接下来就是Java代码的事情了。要使用支付宝沙箱,需要依赖两原创 2021-05-07 11:28:18 · 2719 阅读 · 0 评论 -
LocalDateTime工具类
public class DateTimeUtil { /** * Date转换为LocalDateTime * * @param date 日期 * @return LocalDateTime */ public static LocalDateTime toLocalDateTime(Date date) { return LocalDateTime.ofInstant(date.toInstant(), Zon原创 2021-04-07 17:50:16 · 1190 阅读 · 1 评论