摘要: Flink的特点是高吞吐低延迟。但是Flink中的某环节的数据处理逻辑需要和外部系统交互,调用耗时不可控会显著降低集群性能。这时候就可能需要使用异步算子让耗时操作不需要等待结果返回就可以继续下面的耗时操作。下面我们一起来看一下异步算子的源码及其实现吧! 阅读全文
posted @ 2022-10-14 08:36 码小D 阅读(784) 评论(0) 推荐(0) 编辑
 
摘要: 最近有个需求,需要使用flinksql读写redis,由于官网上并没有redis的connector,在网上找了很久,开源的几个connector又没法满足要求,所有这里就自己动手实现了一个。已经适配了各个版本的flink,从flink1.12到flink1.15 阅读全文
posted @ 2022-10-10 22:35 码小D 阅读(1247) 评论(0) 推荐(1) 编辑
 
摘要: 本文应该是全网唯一一篇自己实现springboot扩展外部接口的文章。包括加载外部扩展jar包中的新接口,多次加载需要能完全更新,加载mybatis、mybatis-plus中放sql的xml文件,加载@Mapper修饰的mybatis的接口资源,加载其它被spring管理的Bean资源,加载完成后更新swagger文档等。绝对黑科技,走过路过不要错过! 阅读全文
posted @ 2021-03-08 09:35 码小D 阅读(2799) 评论(10) 推荐(5) 编辑
 
摘要: 本篇文章主要实现spring/springboot运行时将源码先编译成class字节码数组,然后字节码数组再经过自定义类加载器变成Class对象,接着Class对象注册到spring容器成为BeanDefinition,再接着直接获取到对象,最后调用对象中指定方法,保证硬核! 阅读全文
posted @ 2021-02-08 12:48 码小D 阅读(3522) 评论(6) 推荐(3) 编辑
 
摘要: 又是好久没写博客了,最近好多人,好多公司都在做apaas这种低代码的配置平台,加快软件的研发效率,通过配置和少量代码,生成前后端应用。这种应用既然要写代码,就少不了在自己系统进行断点、单步等调试了,本篇主要是提供一种可以直接拿来即用的线上断点调试的完整实现,同样可以保证是硬核的原创作品,一如既往的声明,看了本篇没有收获,可以评论区骂我 阅读全文
posted @ 2021-02-02 09:57 码小D 阅读(4034) 评论(4) 推荐(2) 编辑
 
摘要: 最近一直没啥时间写点东西,坚持分享真的好难,也不知道该分享点啥,正好有人要问我这些东西,所以腾出点时间,写一下这个主题。同样本篇可以给读者承诺,听不懂或者没收获算我输,哈哈! 众所周知,mysql中读取方式按照是否需要传统意义的锁,分为锁定读和非锁定读两种。锁定读不用多说,那就一堆算法了,行锁,间隙 阅读全文
posted @ 2020-07-27 09:27 码小D 阅读(6073) 评论(12) 推荐(6) 编辑
 
摘要: 之前写过一篇:自己动手实现分布式任务调度框架本来是用来闲来分享一下自己的思维方式,时至今日发现居然有些人正在使用了,本着对代码负责任的态度,对代码部分已知bug进行了修改,并增加了若干功能,如立即启动,实时停止等功能,新增加的功能会在这一篇做详细的说明。 提到分布式任务调度,市面上本身已经有一些框架 阅读全文
posted @ 2019-11-27 10:42 码小D 阅读(1934) 评论(5) 推荐(2) 编辑
 
摘要: 自从上一篇:一个普通类就能干趴你的springboot,你信吗?后,很巧的是这次又发现一个问题,所以有了这篇文章,还是想沿用上篇的”流水帐“的方式查找问题和解决问题。这篇文章主要是因为使用POI导入一个20M的excel发生了OOM(OutOfMemoryError)异常。说来也惭愧,工作了这么多年 阅读全文
posted @ 2019-11-18 09:55 码小D 阅读(3655) 评论(10) 推荐(3) 编辑
 
摘要: 先声明本人并不是标题党,如果看了本篇文章并且认为没有得到任何收获,请您随便留言骂我,本人绝不还口,已经对springboot了如指掌大大神,求放过! 不BB了,直接上代码,请各位在自己的springboot项目随便一个包下复制进去如下类(不要修改什么东西),如果你的springboot还能站起来算我 阅读全文
posted @ 2019-11-04 09:52 码小D 阅读(2476) 评论(18) 推荐(10) 编辑
 
摘要: 好久没写博客了,这段时间主要是各种充电,因为前面写的一些东西,可能大家不太感兴趣或者是嫌弃没啥技术含量,所以这次特意下了一番功夫。这篇博客其实我花了周末整整两天写好了第一个版本,已经开源出去了,同样是像以前那样用来抛砖引玉。下面进入正题! 当我们想在springboot实现一个配置集中管理,自动更新 阅读全文
posted @ 2019-09-23 09:37 码小D 阅读(1863) 评论(2) 推荐(3) 编辑
 
摘要: 前段时间,公司要改造现有的单节点调度为分布式任务调度,然后就研究了目前市面上主流的开源分布式任务调度框架,用起来就一个感觉:麻烦!特别是之前在一个类里写了好多个调度任务,改造起来更加麻烦。我这人又比较懒,总感觉用了别人写好的工具还要改一大堆,心里就有点不舒服。于是我就想自己写一个框架,毕竟自己觉得分 阅读全文
posted @ 2019-03-18 11:37 码小D 阅读(15265) 评论(4) 推荐(4) 编辑
 
摘要: 工作中用到了springboot的缓存,使用起来挺方便的,直接引入redis或者ehcache这些缓存依赖包和相关缓存的starter依赖包,然后在启动类中加入@EnableCaching注解,然后在需要的地方就可以使用@Cacheable和@CacheEvict使用和删除缓存了。这个使用很简单,相 阅读全文
posted @ 2018-05-23 10:14 码小D 阅读(1318) 评论(6) 推荐(2) 编辑
 
摘要: 突然发现之前写的自己实现XXX的话题不是很被大众关注,可能是真的写的不行,也可能是大多都是一些吃了饭没事做瞎写的一些东西,大家都没兴趣,之后可能会尽量写一些真正实用的东西,大家一起学习。言归正传,促使我研究这个话题的原因是在工作中遇到需要自己实现多级缓存的情况。比如在springboot中我们虽然可 阅读全文
posted @ 2018-05-14 11:12 码小D 阅读(1464) 评论(3) 推荐(2) 编辑
 
摘要: 好久没写博客了,依然是按照我喜欢的风格,写一篇自己实现解释型语言。看过我之前的博客应该知道,我写的东西大多只是起到一个抛砖引玉的功能,实际上自己要实现一个框架,语言啥的,都有太多需要考虑的东西,能力有限,精力有限,只能实现一个最基本的框框出来,有兴趣的朋友自己去扩展。 刚学开发语言的时候,那些大牛们 阅读全文
posted @ 2018-04-13 09:43 码小D 阅读(1258) 评论(0) 推荐(2) 编辑
 
摘要: 用过springmvc的可能都知道,要集成springmvc需要在web.xml中加入一个跟随web容器启动的DispatcherServlet,然后由该servlet初始化一些东西,然后所有的web请求都被这个servlet接管。所以自己写mvc的关键就是弄懂这个servlet干了啥。先分析一下s 阅读全文
posted @ 2017-12-10 15:34 码小D 阅读(1206) 评论(0) 推荐(0) 编辑
摘要: 发现要坚持写博客真的是一件很困难的事情,各种原因都会导致顾不上博客。本来打算写自己动手实现orm,看看时间,还是先实现一个动态sql,下次有时间再补上orm完整的实现吧。 用过mybatis的人,估计对动态sql都不陌生,如果没有用过,就当看看热闹吧。我第一次接触mysql是在大四的时候,当时就觉得 阅读全文
posted @ 2017-12-10 00:29 码小D 阅读(4019) 评论(2) 推荐(1) 编辑
 
摘要: 终于到了激动人心的时刻了,首先感谢小伙伴们的阅读,如果能多点评论,多点探讨就更好了,没有交流让我觉得我写的东西只有标题有点价值,内容只是在浪费大家的时间。为了泪滴下周能写下一个框架orm,请小伙伴们能给点信心。前面3篇中介绍的大都是完成某一个层面的工具式的类,看起来就像是一盘散沙。原因就是缺少一... 阅读全文
posted @ 2014-11-26 08:50 码小D 阅读(2504) 评论(9) 推荐(8) 编辑
  2021年2月5日
摘要: 本篇继续接着《自己动手实现java断点/单步调试(一)》实现断点调试中的单步调试,包括执行下一条,进入方法,跳出方法。 阅读全文
posted @ 2021-02-05 09:23 码小D 阅读(1167) 评论(1) 推荐(0) 编辑
  2020年2月12日
摘要: 放一篇之前没开放出来博客,博客中的时间是2019年,并不是当前。先介绍下本篇分享的背景:上周三上午很久不联系的以前关系很好的前同事突然跟我说有个项目,让我入伙,我问他具体的内容,他就说是关于刷单平台的项目,然后具体的太复杂,晚上下班过来我公司附近请我吃饭再详细说。然后这次是吃太二酸菜鱼,吃完后就找了 阅读全文
posted @ 2020-02-12 14:50 码小D 阅读(263) 评论(0) 推荐(0) 编辑