jdk8
文章平均质量分 68
JAVA拾贝
纵横捭阖,冷心为上
展开
-
接口返回大量无用或者敏感字段怎么办?
背景 地点:xxxx公司会议室 前端A: 你们后端接口返回的json太复杂啦!我这例只需要用户的真实姓名和年龄就可以了,结果你们返回了我一大串,好几十个字段…… 前端B: 是呀!是呀!身份证信息是敏感的,这里也不需要用,你们竟然页返回了,还有密码都返回来!幸亏是加密的~ 后端小菜:多余的字段你们不要管就好啦,又不影响你们~,实在不行我拷贝个新对象给你!思考 ????接口传输大量无用数据占用带宽资源、影响性能、甚至泄漏敏感信息!拷贝新对象...原创 2020-11-24 14:37:32 · 28843 阅读 · 0 评论 -
java实现tail -f 日志实时输出到页面
背景 今天有点无聊,于是有了这个项目……解决了什么问题 页面实时查看日志,省去了连接服务器再查找日志……效果talk is cheap, show me the codepom <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta...原创 2020-11-18 17:28:49 · 34919 阅读 · 3 评论 -
注解实现基于redis的分布式锁
背景 分布式系统开发中常常用到分布式锁,比如防止多个用户同时预订同一个商品,传统的synchronized就无法实现了,而基于数据库的乐观锁实现又可能会对数据库产生较大的压力。而分布式锁相对较轻量,对性能影响也较小。目前主流的分布式锁都基于Redis实现。使用分布式锁的流程一般如下:如果需要使用分布式锁的地方有多个,那么就需要写多个类似的代码。而重复代码是开发中最常见到的bad smell。我们可以使用AOP把这段逻辑抽象出来,这样就避免了重复代码,也极大地减去了工作量。目标...原创 2020-11-18 10:06:41 · 32169 阅读 · 0 评论 -
基于Drools规则引擎通过apollo实现动态更新
定义简单规则:package com.aeert.droolsdemo.fact;dialect "mvel"rule "person" when $person : Person(age<11 || age>50) then System.out.println("这个人的年龄不符合要求!");end通过apoll...原创 2020-03-27 17:25:12 · 35539 阅读 · 3 评论 -
jdk8 vavr函数式编程库
直接上代码:个人感觉option,try,match在日常开发中比较有意义import io.vavr.*;import io.vavr.API.Match;import io.vavr.control.Option;import io.vavr.control.Try;import lombok.Data;import java.util.Comparator;impo...原创 2019-08-29 15:53:51 · 33004 阅读 · 0 评论