![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术研究
文章平均质量分 81
Java小田
这个作者很懒,什么都没留下…
展开
-
一次azkaban-exec某个节点不执行任务的问题总结复盘
1、问题描述先说下我们生产环境的部署情况azkaban-exec部署在prod11、prod12两台机器上,这两台都是物理机,同时还不部署了namenode、resourcemanafer、historyserver、hiverserver、metastore等正常情况应该是两个azkaban-exec节点都能执行任务,但是昨天发现居然只有一个节点在执行任务可以通过执行sql语句进行验证:select * from executors; +----+----------------------原创 2022-02-24 17:56:45 · 991 阅读 · 0 评论 -
log4j2史诗级漏洞攻击重现
log4j2远程执行命令漏洞原创 2021-12-10 20:06:39 · 7016 阅读 · 3 评论 -
JDK动态代理是怎么动态创建代理类的
关于JDK动态代理的文章很多,基本都比较详细的讲解了动态代理的用法及基本原理,比如这篇文章:Java JDK 动态代理(AOP)使用及实现原理分析但是找了很多,都没有写代理类是怎么创建的,比如上面这篇文章,也只是说到调用ProxyGenerator.generateProxyClass()生成class文件字节数组。如果想知道底层是怎么生成的,还需要继续深入这块的代码。idea直接打开ProxyGenerator类的代码,因为是反编译的,所以可读性很差,所以建议下载open jdk源码进行查看。可原创 2021-05-24 12:52:01 · 550 阅读 · 1 评论 -
模仿MybatisPlus实现 lambda query
刚接触MybatisPlus那会,就觉得它提供的lambda调用方式挺酷的比如new QueryWrapper.eq(“name”, “xiaoming”)改成用lambda的写法就是:new LambdaQueryWrapper.eq(User::getName, “xiaoming”);看起来差别不大,但是对于一些名字比较长的字段名,再也不用去copy了,也不用担心会写错,还是挺爽的。一直都觉得这个是个顺理成章的功能,没有想过怎么去实现它,直到这几天想自己实现一个类似的功能,发现其实没这么简单原创 2021-05-04 17:12:50 · 4482 阅读 · 0 评论 -
使用自定义类加载器加载java.lang.String
前几天跟同事聊怎么用自定义类加载器加载java.lang.String的问题,正好又遇到一个类加载器的问题,决定花点时间研究一下在查看源码研究的过程中,我发现很多人都有个误区:双亲委派机制不能被打破,不能使用自定义类加载器加载java.lang.String,也是由于这个原因。但是事实上并不是,只要重写ClassLoader的loadClass()方法,就能打破了。如下是我写的一个简单的自定义类加载器:import java.io.File;import java.net.URL;import原创 2021-04-04 17:30:36 · 1522 阅读 · 3 评论