java小知识
Dxmonster_X
这个作者很懒,什么都没留下…
展开
-
Kafka java端获取Topoic,新建Topic,offset(当前偏移量,最终偏移量)信息
Kafka java端获取Topoic,新建Topic,offset(当前偏移量,最终偏移量)信息网上很多介绍怎么获取偏移量的,但是都是互抄,而且版本过老,方法不适用,或者要创建Consumer才能获取偏移量,我就奇了怪了,监听自动创建Consumer,新建再获取什么鬼,所以这里介绍的是使用Kafka自带的Api获取。一些解释都写在了注释里依赖implementation group: 'org.springframework.kafka', name: 'spring-kafka', versio原创 2021-06-02 10:07:22 · 2187 阅读 · 5 评论 -
如何手动创建FeignClient.starter(主要能自定义Url,当做HttpClient调用)
如何手动创建FeignClient.starter(主要能自定义Url,当做HttpClient调用)在最近需求中,需要写一个starter,并且用feignclient调用其他程序,但是一开始脑子秀逗了,正常FeignClient不是注解表明Url吗,但是starter中properties不是对象吗,怎么搞,后来想到,别人再用的时候,你直接${}使用者properties中的定义不就行了吗。晚上的博文全是吵来吵去,并且错误的,所以我摸索的正确结果,写出来。废话不多说,开搞。顺带写一波怎么自定义star原创 2020-11-13 10:23:44 · 1386 阅读 · 3 评论 -
JUC.CountDownLatch (发令枪闭锁)解析使用
主要作用为:列如提高性能操作线程池时,主线程需要等待所有线程操作完毕后,对返回值进行处理,可用发令枪闭锁实现先贴源码(以下简称CDL)CDL构造函数内部维护一个大于0的int变量,调用countDown方法int变量减一操作,调用await方法阻塞线程,当int变量被减为0时,阻塞线程放开,传参timeout表示多少秒内计数器不管多少单位时间内不管int变量是否为0,都将放开该线程注:因为内部sync继承了AQS,AQS内部CLH队列锁实现的,即将暂时获取不到锁的线程加入到队列中,所以在并发时原创 2020-10-27 14:31:20 · 502 阅读 · 0 评论 -
SpringBoot 定时任务的两种实现方法(Scheduled和quartz)以及InitializingBean接口的作用
开发中肯定会遇到需要跑job的情况,这里介绍两种实现job方式,一种是boot自带的Scheduled,另一种是增加依赖的quartz.当然,每个框架都是博大精深的,这里只是简单实现。别问,问就是我也是小菜鸡两者的不同点精确度和功能Quartz可以通过cron表达式精确到特定时间执行,而Scheduled不能。Quartz拥有Scheduled所有的功能,而Scheduled则没有。任务类的数量Quartz每次执行都创建一个新的任务类对象。 Scheduled则每次使用同一个任务类对象。原创 2020-10-15 14:31:06 · 569 阅读 · 0 评论 -
SpringBoot @ControllerAdvice注解全局异常处理
开发中需要解决异常全局处理的简单办法,@ControllerAdvice可以解决此类需求@ControllerAdvicepublic class ErrorHandler { private Logger logger = LoggerFactory.getLogger(getClass()); /** * 未知的异常,统一处理 * * @param e * @return */ @ResponseBody @Exce原创 2020-10-14 15:14:45 · 111 阅读 · 0 评论 -
注解@Mapper(componentModel = “spring“)-自动生成DTO-DO的模型映射
注解@Mapper(componentModel = “spring”)-自动生成VO-DO的模型映射场景: 插件可以自动生成实现类,实现DTO-DO各种模型之间的字段映射(不仅仅限制于DTO-DO)第一步: 引入pom文件 <!--mapStruct依赖--> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-jd原创 2020-10-14 15:06:33 · 7077 阅读 · 1 评论