摘要:
缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。 解决方案 阅读全文
摘要:
获取指定月份周明细 package com.ruoyi.ad.util; import java.text.SimpleDateFormat; import java.time.*; import java.time.temporal.ChronoUnit; import java.time.tem 阅读全文
摘要:
生成验证码:提供一个接口, 这个接口里,我们将生成的验证码存入session,然后将验证码以图片格式或者base64编码串返回给调用端。 校验验证码:提供一个接口,这个接口里,我们收到调用端传过来的校验码,然后从session取出验证码,两个验证码都全部转小写,进行无大小写区分匹配校验,返回true 阅读全文
摘要:
思路:使用assic码表,三个范围:数字(48-57),大写字母(65-90),小写字母(97-122) 代码: import java.util.Random; /** * 随机字符串工具 * * @author volitation * */ public class RandomString 阅读全文
摘要:
两种方式: 1). 实现Cloneable接口并重写Object类中的clone()方法; 2). 实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆,代码如下 import java.io.ByteArrayInputStream; import java 阅读全文
摘要:
maven项目右键没有maven菜单选项 从SVN导入后,右击项目没有“Maven”菜单项: 只需一步,右击项目==》“Configure”==》“Convert to Maven Project”: 然后再次查看右键菜单,会发现“Maven”菜单项已经出现了: 出现该问题的原因是,从Git导入项目 阅读全文
摘要:
题目如下: 代码: package com.xieh; import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * * @author 谢辉 * 思路如下: * 1、一个菱形的行数肯定都是奇数行 阅读全文
摘要:
JS代码: /** * 要求格式yyyy-MM * @param {Object} currentMonth 当前月份 */ function getCalendar(currentMonth) { if(currentMonth.indexOf("-") < 0) { return; } var 阅读全文
摘要:
干支纪年表 代码实现: package com.xieh; public class Demo { public static void main(String[] args) { // System.out.println(gzYear(1911)); for (int i = 1800; i < 阅读全文
摘要:
由于项目需要,需要在不调用后台接口的情况下,将json数据导出到excel表格,参考了好多资料以及很多大佬写的博客终于实现,兼容chrome没问题,其他还没有测试过,这边介绍两种实现方式,并附上代码和gif动图,博主不才还望轻喷,代码可直接copy运行 方法一 将table标签,包括tr、td等对j 阅读全文