摘要:
优雅的处理异常 自定义断言类 全局处理异常 /* 自定义断言类,传入需要判断的集合或者字符串 和 错误信息,如果为空则抛出异常,被全局异常处理器捕获进行对应处理, @Nullable 表示可传入一个null值,@NotNull 表示不可以出入null值 */ public class MyAsser 阅读全文
摘要:
RSA加密解密的原理和过程 加密过程(先求幂再取余) 假设这里的公钥为(7,33),我们需要加密一串数字 3,1, 15 对这三个数字分别进行 7次方运算之后和33进行取余操作得到 (9,1,15) (9,1,15)则是我们通过公钥加密之后的数据了。 解密过程(先求幂再取余) 假设这里的私钥为(?, 阅读全文
摘要:
死锁演示代码 死锁的四个必要条件 互斥条件:一个资源每次只可以被一个进程使用 请求与保持:一个进程因请求资源而阻塞时,对已获得的资源保持不放 不剥夺条件:进程已经获得的资源,在未使用完成之前,不可以强行剥夺 循环等待条件:若干进程之间行程了一种头尾相接的循环等待资源关系 package com.yi 阅读全文
摘要:
多线程环境下安全的集合 List /** * 并发修改异常 多个线程同时操作一个不安全的集合 * <p> * CopyOnWriteArrayList 写时复制技术 * add方法会先复制一个新数组 对新数组进行相关操作 操作完成之后合并到原数组去 独立写 */ public class Demo0 阅读全文
摘要:
通知类 点击查看代码 @Component @Aspect @Slf4j public class OperateAdvice { @Autowired private InfoFromTokenBiz infoFromTokenBiz; @Pointcut("within(com.yishan.c 阅读全文
摘要:
package com.yishan.foreach; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.concurrent.CopyOnWriteArray 阅读全文
摘要:
ySql一对多,查询最新数据 场景1:比如有一张学生信息表,还有一张日志表,每次修改了学生信息便会在日志表中插入一条更新日志,现在需要查询出所有学生的最新的一条更新记录 SELECT log. * FROM `system_log` AS log INNER JOIN `student` AS t 阅读全文
摘要:
MyBatis批量插入 <foreach collection="list" item="item" index="index" open="" close="" separator=";"> <if test="list != null and list .size() != 0"> and t. 阅读全文
摘要:
`package com.yishan.json; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import java 阅读全文
摘要:
Redis 基础知识介绍 NoSql 海量用户+高并发,会造成服务器瘫痪,主要原因就是使用的是关系型数据库 原因 1.性能瓶颈:磁盘IO性能低下 关系型数据库存取数据的时候是要通过磁盘IO的。磁盘的性能本身是比较低的 2.扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群 关系型数据库表与表的关系非 阅读全文