随笔分类 -  java知识随笔

该分类将会分享工作上的一些经验和知识给大家
摘要:一、定义一个BaseController public class BaseController { public HttpServletRequest getHttpServletRequest(){ ServletRequestAttributes requestAttributes = (Se 阅读全文
posted @ 2022-06-20 20:50 yangxiaohui227 阅读(223) 评论(0) 推荐(0) 编辑
摘要:1.添加依赖<dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-core</artifactId></dependency>2.代码演示: public class Test 阅读全文
posted @ 2022-06-20 20:46 yangxiaohui227 阅读(381) 评论(0) 推荐(0) 编辑
摘要:本次导出使用糊涂工具包的导出工具,对期进行小封装: @Target({ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface ExportProperty { /** * 导出字段名 阅读全文
posted @ 2022-03-24 15:26 yangxiaohui227 阅读(77) 评论(0) 推荐(0) 编辑
摘要:spring的这个工具有个大坑: @Test public void test2() { List<A> list = new ArrayList<>(); //com.sentinel.demo.kk.A; list.add(new A("kk.A")); User user = new User 阅读全文
posted @ 2022-03-11 17:48 yangxiaohui227 阅读(56) 评论(0) 推荐(0) 编辑
摘要:一:redis的持久化 1. rdb(快照):简单的说就是将redis内存中的所有数据都保持的磁盘中,生成dump.rdb文件 保存策略:save xx kk 意思是在xx秒内,变化的key数量到达kk时就会生成一次dump.rdb文件,默认的策略有: save 900 1 save 300 10 阅读全文
posted @ 2022-03-09 17:43 yangxiaohui227 阅读(83) 评论(0) 推荐(0) 编辑
摘要:一:aop的大致流程 1.我们需要往容器中注入AnnotationAwareAspectJAutoProxyCreator后置处理器,该后置处理器可以解析所有的切面 advisor 和生成代理类 2. 如果我们使用@EnableAspectJAutoProxy 或者 @EnableTransacti 阅读全文
posted @ 2022-02-11 14:43 yangxiaohui227 阅读(236) 评论(0) 推荐(1) 编辑
摘要:背景:我们的商家端有个商品删除接口,某个时间段,突然被大量访问,经过调查发现,是有人通过脚本来刷我们的接口,因为正常的接口只要获取到登录的token就可以不断的调用接口: 现在我们的思路是使用令牌限流方法,令牌就是一个UUID 通过上图知道,对方要刷我们接口,必须知道需要先调用获取token的接口, 阅读全文
posted @ 2021-11-26 17:32 yangxiaohui227 阅读(141) 评论(0) 推荐(0) 编辑
摘要:说到分布式锁,我们都会想到setNx命令,存在就不更新,不存在就更新成功,根据这个命令,看如下代码有啥问题? 1.上面的分布式锁实现会出现的问题: 如果代码执行到减库存的操作,此时服务挂了,如断电了,那么就会导致死锁,其他线程永远都进不来了 解决方案:加个过期时间,如加了10s 2. 上面加了过期时 阅读全文
posted @ 2021-11-05 18:21 yangxiaohui227 阅读(146) 评论(0) 推荐(0) 编辑
摘要:背景:很多商城,商品详情的链接格式:https://item.jd.com/100005786822.html,不同的商品详情的链接不一样的地方在于商品编号,如,我有个商品1002002,那么商品详情的链接为https://item.jd.com/1002002.html; 当我们访问商品详情链接时 阅读全文
posted @ 2021-08-19 19:15 yangxiaohui227 阅读(303) 评论(0) 推荐(0) 编辑
摘要:背景:我们在淘宝购物时,选择了某个地址,有时会提示可以选择放到附近的快递柜子,这种是如何实现的呢?用redis geo api可以简单的实现该功能 思路:1. 我们先将所有的快递柜子存到redis中,这些快递柜信息要包含经纬度 /** * * @param longitude 经度 * @param 阅读全文
posted @ 2021-08-10 17:17 yangxiaohui227 阅读(339) 评论(0) 推荐(0) 编辑
摘要:1.我们如果有一串json数据,想创建对应的java对象,很简单,百度--json格式化: https://www.bejson.com/json2javapojo/new/ 阅读全文
posted @ 2021-01-21 10:20 yangxiaohui227 阅读(169) 评论(0) 推荐(0) 编辑
摘要:1.引入依赖,版本需要对应:其中javax.validation是定义规范的一些接口,而实现由hibernate-validator实现 <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</arti 阅读全文
posted @ 2021-01-05 18:38 yangxiaohui227 阅读(391) 评论(0) 推荐(0) 编辑
摘要:1.跨域:对于一个路径:http:ip:port 如果协议 ip 端口三者有一个不同就有可能产生跨域问题 基于spring-cloud-gateway网关的解决方案,因为该网关使用的是reactor模式的webflux,所以: @Configuration public class CommonCo 阅读全文
posted @ 2020-12-30 17:49 yangxiaohui227 阅读(989) 评论(0) 推荐(0) 编辑
摘要:1.引入maven依赖 <dependency> <groupId>com.github.axet</groupId> <artifactId>kaptcha</artifactId> <version>0.0.9</version> </dependency> 2.配置属性 @Configurat 阅读全文
posted @ 2020-12-10 20:15 yangxiaohui227 阅读(177) 评论(0) 推荐(0) 编辑
摘要:public class A { private A1 a1; public A1 getA1() { return a1; } public void setA1(A1 a1) { this.a1 = a1; } } public class A1 { private A2 a2; public 阅读全文
posted @ 2020-10-10 18:50 yangxiaohui227 阅读(269) 评论(0) 推荐(0) 编辑
摘要:public class Stack { private int maxSize=16; private int top; private int[] arr=null; public Stack(int maxSize) { if(maxSize<1){ throw new RuntimeExce 阅读全文
posted @ 2020-09-03 10:16 yangxiaohui227 阅读(185) 评论(0) 推荐(0) 编辑
摘要:背景: 约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的顺序是:5,4,6,2,3。 public class CircleLinkList { /** * 约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始 阅读全文
posted @ 2020-09-02 19:10 yangxiaohui227 阅读(212) 评论(0) 推荐(0) 编辑
摘要:public class DubbleLinkList { private Node head=null; public void addNode(Node node){ if(node==null){ return; } if(null==head){ head=node; return; } i 阅读全文
posted @ 2020-09-02 15:32 yangxiaohui227 阅读(245) 评论(0) 推荐(0) 编辑
摘要:public class SingleLinkList { private HeroNode head=new HeroNode(-1,""); public void addNode(HeroNode heroNode){ HeroNode temp=head; while (true){ if( 阅读全文
posted @ 2020-08-31 20:08 yangxiaohui227 阅读(225) 评论(0) 推荐(0) 编辑
摘要:public class ArrayQueue { private int maxsize=16; private int last; private int front; private int[] arr; public ArrayQueue(int maxsize) { if(maxsize< 阅读全文
posted @ 2020-08-29 14:25 yangxiaohui227 阅读(191) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示