自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 乐企直连单位根据数字化电子发票版式或规范生成发票文件

根据发票信息生成对应的xml、pdf、odf三种文件格式。

2024-08-09 14:02:41 2581 9

原创 记一次Executor使用不当做局部变量导致的OOM

Executor使用不当导致的OOM

2023-01-03 18:36:45 210

原创 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

GeoLite2-City.mmdb

GeoLite2-City.mmdb ip地址库

2021-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除