
java
东耳佳茗
东耳佳茗,一个有故事的程序员!
展开
-
java 动态新增定时任务
工具类import com.cnsuning.bdes.common.WeekEnum;import org.apache.commons.lang.StringUtils;import org.quartz.*;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Component;import java.util.Calendar;import jav原创 2021-09-18 15:49:03 · 1691 阅读 · 3 评论 -
Elasticsearch api查询多行空格分隔数据java解析
查询结果index shard prirep state docs store ip nodetwitter04-700 0 p STARTED 0 261b 127.0.0.2 bdmssitdb48twitter05-127 0 p STARTED 0 261b 127.0.0.1 bdmssitdb49twitter05-579 0原创 2021-09-18 11:09:00 · 496 阅读 · 0 评论 -
使用JAVA8 filter对List多条件模糊筛选、单个参数多个值过滤、多个参数联合排序
对于从缓存中获取的list集合如果根据条件进行模糊查询呢?条件根据indexName字段筛选需要的值1、造数据List<ShardsInfoDto> shardsList = new ArrayList<>(); ShardsInfoDto shardsInfoDto = new ShardsInfoDto(); shardsInfoDto.setIndexName("chenming20210416"); shardsI原创 2021-04-21 19:42:16 · 14690 阅读 · 0 评论 -
任务状态不明原因被重置问题排查
做了个优化项目,定时任务批量执行数据备份,每天凌晨0点任务状态会被重置成初始状态,测试环境测没有问题,上了pre发现任务会被不明原因重置状态,检查整个项目也没有发现有其他定时器,想着是环境问题,后来找DBA抓包看数据更改来源ip地址,发现之前有人做多活演练测试申请了另外一套服务器,目前实际上是没有用的(没人知道),但是jboss服务部署了,数据源都配置了目前在用的数据库,真是坑爹啊!...原创 2021-03-10 17:28:49 · 199 阅读 · 0 评论 -
Comparator.comparing排序报空指针异常
最近由于系统调整,导致部分系统名出现null值,隐藏的bug被触发:list.sort(Comparator.comparing(System::getSystemChName))当含有系统名称为null数据时,会报空指针异常,可以使用:Comparator.nullsLast(String::compareTo)解决排序字段为null的问题结果:systemList.sort(Comparator.nullsLast(Comparator.comparing(System::原创 2021-01-18 15:56:40 · 11265 阅读 · 5 评论 -
多线程计数 AtomicInteger
大家在工作中肯定遇到过计数统计需求,单线程的情况下count直接定义int型就行,可是在多线程并发下会产生多个线程同时count++的情况,那么这种情况就需要用到AtomicInteger来保证int型变量操作的原子性。AtomicInteger要点阐述AtomicInteger的实现是基于CAS(Compare And Swop)原理; AtomicInteger的语义是:对Atomi...原创 2019-11-25 19:35:04 · 1140 阅读 · 0 评论 -
LeetCode 1. 两数之和 (Java)
给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]原创 2019-11-25 16:54:39 · 137 阅读 · 0 评论 -
误刷问题解决
员工午餐消费福利每日限制一次,后台有次数校验,自从刷脸消费上线后,刷普通IC卡读卡器和刷脸设备靠在一起,员工刷卡的同时会出现刷脸的误刷,查后台日志发现两笔交易相差几十毫秒,第二笔检查前前一笔还没有入库成功,所以绕过控制,造成误刷,想过加锁机制,但是两笔不是并发,锁不住,队列的话太麻烦,而且中午高峰期消费,要求一两秒一笔,怕影响效率,后来发现刷卡和刷脸次数校验可以分开来控制,刷卡检查消费成功次数,刷...原创 2019-11-19 11:08:22 · 341 阅读 · 0 评论 -
Gson将json转Map 浮点型数据精度丢失问题
今天是1024节,写篇博客纪念下(其实就是想点亮1024勋章,哈哈哈),想到前段时间做flink的数据采集遇到的json转换数值精度问题导致消费端数据转换异常逻辑很简单,就是要将一段json格式的报文转成map,随手用了Gson来转换:Map map=gson.fromJson(mapJson,Map.class);报文中的value值是整型(比如1024),但是转换完就变成...原创 2019-10-24 10:41:22 · 2275 阅读 · 0 评论 -
Spring缓存机制整合Redis
首先,在Spring中使用Redis需要jedis.jar和spring-data-redis.jarSpring整合Redis有两种方式,一种为注解,另一种为xml配置文件,根据你的Spring IoC配置形式进行选择,下面来分别进行讲解:如果你的IoC容器是以xml文件形式配置的,则在你的IoC配置文件中加入如下代码:<!-- 配置连接池 --> &...原创 2019-10-08 17:10:26 · 231 阅读 · 0 评论 -
JAVA调用DLL
0 JNA安装0.1 JNA是什么JNA(JavaNativeAccess)框架是一个开源的Java框架,是SUN公司主导开发的,建立在经典的JNI的基础之上的一个框架。JNA项目地址:https://jna.dev.java.NET/JNA使Java调用原生函数就像.NET上的P/Invoke一样方便、快捷。JNA的功能和P/Invoke类似,但编写方法与P/Invok转载 2017-05-02 14:59:18 · 332 阅读 · 0 评论 -
JNA调用C语言动态链接库
最新因为项目需要,学习了一下JNA框架,在这里记录一下学习和使用心得,给大家分享,希望能帮助新手。本文主要讲解如何使用JNA框架轻松调用C语言动态链接库,如何使用JNA模拟C语言参数(例如数组、指针等)。JNA(JavaNative Access)框架是一个开源的Java框架,是SUN公司主导开发的,建立在经典的JNI的基础之上的一个框架。JNA官网地址:https://githu转载 2017-05-02 17:45:26 · 828 阅读 · 0 评论 -
人脸识别横向图片无法识别问题
人脸库注册时会发现有些图片属性是横向的,需要旋转90度或者其他角度才行,具体实现方法如下:public static void main(String[] args) throws Exception { File file = new File("C:\\userPhoto\\20180830161212.jpg"); Metadata metadata = JpegMeta...原创 2018-09-03 13:48:45 · 1842 阅读 · 0 评论 -
百度人脸识别实现方法
import java.io.IOException;import java.net.MalformedURLException;import java.net.URL;import net.sf.json.JSONObject;/*** 人脸识别工具类*/public class FaceAddUtil { /** * 重要提示代码中所需工具类 * Fi...原创 2018-09-03 14:15:09 · 2749 阅读 · 0 评论 -
spring web项目tomcat启动不自动加载配置文件中的Bean,第一次访问才开始加载
项目中有个功能是main方法启动的,放在web项目中,需要项目启动自动开启thrift服务,spring配置init-method自动加载bean不生效,找了半天原因,原来是web.xml配置少了个load-on-startup,加上后自动运行成功!...原创 2019-07-17 11:58:13 · 884 阅读 · 1 评论 -
IDEA+Maven 整合SSM框架实现简单的增删改查
...原创 2019-08-02 15:11:10 · 285 阅读 · 0 评论 -
spring boot 外部容器tomat、jboss部署
最近微服务比较火,小明我也学习下Spring Boot框架的使用。首先创建一个项目,创建时选择Spring Initializr,然后Next,如下图:填写项目信息,如下图:下一步:点击finish完成OK,项目创建成功之后接下来我们来看看这个东西要怎么样去运行。首先我们看到在项目创建成功之后,在项目的根目录下会有一个artifactId+Application命名...原创 2019-08-30 18:02:31 · 2622 阅读 · 0 评论 -
线程池动态调整线程数
领导要动态实时调整任务的线程数,这真的是个什么烂需求,线程数不是应该根据cpu资源来评估调的最优值吗,但是领导既然说了,硬着头皮也得弄啊,还是具体研究一下,不能做也得给出个理由啊...按照JDK文档的描述,如果池中的实际线程数小于corePoolSize,无论是否其中有空闲的线程,都会给新的任务产生新的线程 如果池中的线程数>corePoolSize and <maximum...原创 2019-09-09 16:33:11 · 5743 阅读 · 1 评论 -
maven 多环境打包配置
实际开发过程中有多个环境,每次上不同环境更改配置的话不仅麻烦,而且容易出错,maven项目可以在pom文件中配置实现不同环境不同打包配置<profiles> <profile> <id>test</id> <properties> <deploy.type>test<...原创 2019-09-27 19:29:50 · 629 阅读 · 0 评论 -
json字符串转化成含多层list集合的对象
返回待解析报文"DATA" : [ { "infoSource" : "IN", "actOrderId" : 110718608, "orderAppId" : "3200130001", "orderAppCustomCategory" : null, "channelLevel1" : 0, "channelLevel2" : 0...原创 2015-11-02 19:03:44 · 7877 阅读 · 1 评论