- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 CDH6.x解决log4j2漏洞问题
背景2021年11月,阿里向Apache官方报告了Apache Log4j2远程代码执行漏洞,某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。对于我们自己管理的springboot项目,可以通过升级log4j2的版本来解决。但是对于离线CHD集群,升级就很难实现。官方给出的缓解措施是删除相关jar的class文件。官方修复脚本的github地址https://github.com/cloudera/cloudera-scripts-for-log4j具体操作...
2021-12-29 17:02:24
3253
1
原创 Hive UDF配合Geoip2/GeoLite2实现ip解析及静态文件位置导致异常的分析
需求hive做报表经常会有ip解析的需求,如解析ip为国家地区省份等作为大屏的地图展示。方案hive udf配合免费的GeoLite2来实现,GeoLite2官网:https://dev.maxmind.com/geoip/geolite2-free-geolocation-data。代码需要注意的是地址库GeoLite2-City.mmdb文件的存放位置,我看其他方案有放到hive classpath下,但是这种情况下使用hive on spark生成了spark job时会导致任务报FileN
2021-12-04 11:41:10
3787
原创 一个简单利用redis.incr次数检查工具
应用场景在用java写交互逻辑时,经常遇到一些需要在给定时间内做次数检查的逻辑,如:短信验证次;修改登录/交易密码次数;实名认证次数等等。通常三方服务是有调用成本的,出于这种考虑也应加上校验限制。redis incr命令的特性正好符合了需求,springboot开发环境下工具类如下:package com.example.utils;import org.joda.time.DateTime;import org.joda.time.Duration;import org.springframe
2021-06-07 16:11:54
566
原创 使用Volatile实现线程交替打印一个字符串
之前使用锁加wait和notify的方式来实现两个线程交替打印一个字符串,也可以考虑使用Volatile关键来实现线程间的通信,代码如下: private volatile boolean flag4Volatile = true; private int index = 0; @Test public void testVolatile() throws InterruptedException { var str = "我是个大帅逼";
2020-08-18 10:34:02
395
原创 Java实现两个线程交替打印一个字符串
Java实现两个线程交替打印一个字符串面试时经常会遇到这类问题,可以用一些小例子来熟悉多线程的使用以及Object的wait和notify等相关知识。回到这题:首先我们需要一个字符串,可以拆分成数组或者List其次我们需要一把锁,用于控制字符串的有序打印最后我们还需要一个指针,用于线程间通信(通知打印到哪里了)代码如下:线程a打印字符串方法:public static void printStringA(String[] strs) throws InterruptedException
2020-08-17 11:27:30
1876
原创 一个简单的可单独配置超时时间和重试次数的RestTemplate工具方法
RestTemplate reTry 项目中有用到RestTemplate,之前使用的是HttpClient,用起来比较繁琐。切换为RestTemplate后写了一个简单的工具方法。因了解到RestTemplate需要使用SimpleClientHttpRequestFactory 统一配置超时和重试参数,由于项目中不同外部接口的限制不一样,所以需要单独配置这些参数。代码如下:package com.example.uti
2020-08-06 15:40:59
4152
3
原创 python和java中的ThreadPoolExecutor简单使用对比
python和java中的ThreadPoolExecutor简单使用对比pythonjavapythonjava
2020-07-27 17:14:27
274
原创 springboot项目里,static方法里使用非static方法
springboot项目里,static方法里使用非static方法thisJava里this指代的是当前的对象,而static方法是类方法,是先于任何的实例存在。因此static方法里是不能使用this的方法。thiz...
2020-04-09 09:56:37
752
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人