![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java8
文章平均质量分 74
Lvshen的技术小屋
技术宅
展开
-
高并下如何做变量的自增与自减
将单一value的更新压力分担到多个value中去,降低单个value的 “热度”,分段更新。但是用到了锁,这个东西可以说偏重量级的了,会引起线程上下文的切换和调用,线程之间的切换也会有性能成本的。高效的原因是高并发,高并发意味着CAS的失败几率更高, 重试次数更多,越多线程重试,CAS失败几率又越高,变成恶性循环,测试的性能结果如上。高并发量的情况下,由于真正更新成功的线程占少数,容易导致循环次数过多,浪费时间,并且浪费线程资源。,性能好,线程安全,不会出现重复编号的情况。原创 2022-08-20 11:00:25 · 1409 阅读 · 1 评论 -
还在为日期计算烦恼?Java8帮你轻松搞定
我们平时开发日期一般都是使用Date类。在使用Date计算时,一般将会将Date转换成时间戳,即转换成ms后进行计算,这样做很麻烦。当然我们也可以使用第三方日期类。其实Java8自带的日期类就相当的强大了,基本能满足各种计算。今天我们就来聊聊Java8里面的日期类,LocateDate。原创 2022-08-20 10:54:32 · 815 阅读 · 0 评论 -
BigDecimal计算的这些坑,让我的程序产生难以想象的Bug
通常我们在金融、科学等场景,会使用BigDecimal。然而如果我们不注意BigDecimal的精度问题,计算结果偏差可能会很大,最终会产生难以想象的Bug。1意想不到的加减乘除@Testpublicvoidtest3(){BigDecimalparam1=newBigDecimal(0.1);BigDecimalparam2=newBigDecimal(0.2);//加法BigDecimaladd=param1.add(par...原创 2022-01-20 17:12:37 · 1374 阅读 · 1 评论 -
使用EasyExcel导出,这个轮子真方便
EasyExcel是一款优秀的Excel导出组件,基于注解的形式导出。除了导出,还支持导入。今天我们主要聊聊它的导出。git项目地址:https://github.com/alibaba/easyexcel它的优秀之处在于很省内存,导出导入速度也很快。1实现代码首先需要引入Maven<!--阿里的easyexcel--><dependency><groupId>com.alibaba</groupId><...原创 2021-04-26 16:30:52 · 501 阅读 · 0 评论 -
我用注解优雅的实现了数据的脱敏
1使用场景你平时肯定做过这样的需求。要求展示用户的手机号,但是不能完全展示,需要在中间给手机号打码,如下图:我们将关键数据做了适当隐藏,这样就叫数据脱敏。2数据脱敏数据脱敏又称数据去隐私化或数据变形,是在给定的规则、策略下对敏感数据进行变换、修改的技术机制,能够在很大程度上解决敏感数据在非可信环境中使用的问题。根据数据保护规范和脱敏策略.对业务数据中的敏感信息实施自动变形.实现对敏感信息的隐藏。我们来看看具体需求,现在要求对以下数据的电话号码和身份证号码适当隐藏处理:要求脱敏原创 2021-04-26 16:07:50 · 937 阅读 · 0 评论 -
被Arrays.asList坑了后,我决定分析它的源码
平时我们使用Arrays.asList()快速组装成List集合。比如我们将字符串或者数组转换成集合:String[]arrayStr={"1","2","3"};List<String>list=Arrays.asList(arrayStr);System.out.println(list);结果list的数据为我们点击asList进去看看源码怎么写的@SafeVarargs@SuppressWarnings("varargs")public...原创 2021-04-12 14:23:47 · 215 阅读 · 0 评论 -
使用DFA自动机算法屏蔽敏感词以及进阶算法AC自动机的思考
需求背景大家有没有做过屏蔽敏感词的需求呢,这个需求一般来说很常见了。比如,系统中有一段话:我爱吃肯德基要求【肯德基】三个词给屏蔽掉,屏蔽后的语句显示为:我爱吃***常规的做法可能是查询敏感词库中的敏感词,循环每一个敏感词,然后去输入的文本中从头到尾搜索一遍,看是否存在此敏感词。但是如果敏感词很多,对于匹配也是很耗性能的。这里介绍使用DFA算法匹配敏感词,并进行处理。性能要优于常规处理方法。什么是DFA算法“在计算理论中,确定有限状态自动机或确定有限自动机(英语:原创 2021-04-12 14:21:07 · 1549 阅读 · 1 评论 -
如何优雅的统计List集合中元素重复出现次数
背景统计List集合中元素出现的次数,相信大家都做过。举个例子,我们要统计集合中名字重复的次数。List<String>nameLists=Arrays.asList("Lvshen","Lvshen","Zhouzhou","Huamulan","Huamulan","Huamulan");方式一一般我们会这么做:Map<String,Integer>nameMap=Maps.newHashMap();nameLists.for...原创 2021-03-30 14:54:43 · 10860 阅读 · 0 评论 -
Java8用起来,你的代码将会简化很多
Java8已经诞生好几年了,但我相信很多小伙伴并不熟悉Java8的特性,并将这些特性使用到工作中去。下面介绍一些我使用Java8的一些经验,真的将我的代码简化了很多。Optional你是否遇到过这样一个场景:“通过学生获取姓名,然后再通过这个姓名去会员表里面查询,并将查到的会员打一个学生的标记。”你可能会这么写代码你看上面的代码,if语句就嵌套了3层。如果需求更复杂,那么if语句可能会嵌套更多。你的代码肯定通不过代码评审,如果你知晓卫语句,你可能会这么写代码虽然没有if语原创 2020-09-05 08:20:45 · 237 阅读 · 0 评论