- 博客(15)
- 资源 (4)
- 收藏
- 关注
原创 布隆过滤器
它是一种基于概率的数据结构,主要用来判断某个元素是否在集合内,它具有运行速度快(时间效率),占用内存小的优点(空间效率),但是有一定的误识别率和删除困难的问题。2、定义一个拦截器实现HandlerInterceptor接口,并重写preHandle,拦截制定路由路径及参数,到存储在redis的布隆过滤器中查询是否存在,不存在则直接返回,存在则放行。* 4. 判断某个key是否在集合时,用k个hash函数计算出k个散列值,并查询数组中对应的比特位,如果所有的比特位都是1,认为在集合中。
2024-05-21 22:43:38 317
原创 IpUtils
@param filter 过滤IP列表,支持后缀'*'通配,支持网段如:`10.10.10.1-10.10.10.99`* @param checkString 被检测的字符串。* @return 第一个非unknown IP地址。* @param addr byte地址。* 是否为IP,或 *为间隔的通配符地址。* @param ip 获得的IP地址。* @param ip 校验IP地址。* @param ip IP地址。* @return 本地IP地址。* @return 本地主机名。
2023-07-28 11:39:59 185
原创 redisUtils
@param time 时间(秒) time要大于0 如果time小于等于0 将设置无限期。throw new RuntimeException("递增因子必须大于0");throw new RuntimeException("递减因子必须大于0");* 设置键值同时指定过期时间,键值不存在的时候可以设置进去。* @return 时间(秒) 返回0代表为永久有效。* @param delta 要增加几(大于0)* @param delta 要减少几(小于0)* @param time 时间(秒)
2023-07-27 22:49:12 64
原创 Java-Api控制层切面日志
/ 有些网络通过多层代理,那么获取到的ip就会有多个,一般都是通过逗号(,)分割开来,并且第一个ip为客户端的真实IP。* 特点:在目标方法之后执行的,能够获取到目标方法的返回值,可以根据这个返回值做不同的处理。//如果获取到的是127.0.0.1或0:0:0:0:0:0:0:1,就获取本地ip。// WL-Proxy-Client-IP:weblogic 服务代理。// Proxy-Client-IP:apache 服务代理。// X-Real-IP:nginx服务代理。
2023-07-12 23:47:18 135
原创 Java-Api异常拦截器
log.error("{} 接口调用异常,请求参数: {},异常信息:{}", request.getRequestURI(), request.getParameterMap(), e.getMessage(), e);log.error("{} 接口调用异常,请求参数: {},异常信息:{}", request.getRequestURI(), consumeContent(request), e.getMessage(), e);//方法参数不合法异常。
2023-07-12 23:41:11 124
原创 Java全局异常处理器
log.error("请求地址'{}',不支持'{}'请求", requestURI, ((HttpRequestMethodNotSupportedException)e).getMethod());log.error("请求地址'{}',权限校验失败'{}'", requestURI, e.getMessage());log.error("请求地址'{}',发生未知异常.", requestURI, e);log.error("请求地址'{}',发生系统异常.", requestURI, e);
2023-07-12 23:35:51 98
原创 Java加密短码
log.error("获取加密key字节异常!throw new RuntimeException("获取加密key字节异常!System.out.println("10进制:"+dataEncode);System.out.println("加密:"+dataEncrypt);System.out.println("解密:"+dataDecrypt);System.out.println("62进制:"+dataHash);
2023-07-12 23:18:35 76
原创 使用子查询可提升 COUNT DISTINCT 速度 50 倍
英文原文:Use Subqueries to Count Distinct 50X Faster [url]https://periscope.io/blog/use-subqueries-to-count-distinct-50x-faster.html[/url]出处:http://www.oschina.net/translate/use-subqueries-to-count-di...
2016-06-16 16:17:22 236 1
原创 事务及SSH框架相关配置
PROPAGATION_REQUIRED事务 采用编程式事务1、 getCurrentSession()与openSession()的区别?* 采用getCurrentSession()创建的session会绑定到当前线程中,而采用openSession()创建的session则不会* 采用getCurrentSession()创建的session在commit或rol...
2016-06-15 22:59:28 108
原创 java启动相应的windows程序来打开文件,"rundll32 url.dll,FileProtocolHandler " + sbUrl.toString...
[size=x-small][b]本文来自:[/b][/size][url]http://wujianjun0410.iteye.com/blog/944912[/url]这里有两种方法: (本人用到第一种方法)try{ Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + sbUrl.toSt...
2016-01-29 15:02:44 2930
原创 删除与查询某一文件下的所有文件
package com.smc.farm.test;import java.io.FileNotFoundException; import java.io.IOException; import java.io.File; public class FileOper { /** * 删除某个文件夹下的所有文件夹和文件 */ pub...
2016-01-21 09:19:31 139
原创 比较两集合(list/set..)元素是否相等(只要 List 含有相同元素(String Type)就可以,允许重复)...
如果是list则 转 list --> setHashSet, TreeSet 均可以实现元素唯一,以便比较。但前者元素无序,故速度快。 后者元素有序,如需二分查找之类算法有优势。具体代码:package com.nicekevin.test;import java.util.HashSet;import java.util.Iterator;import ...
2016-01-20 09:14:24 656
原创 ==和===的区别
[color=red]1、[/color]对于string,number等基础类型,==和===是有区别的 1)不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等,===如果类型不同,其结果就是不等2)同类型比较,直接进行“值”比较,两者结果一样[color=red]2、[/color]对于Array,Object等高级类型,==和===是没有区别的进行“指针地...
2016-01-18 12:25:29 100
原创 a标签中的点击事件
删除后退[color=red]1.[/color]a href="javascript:js_method();"这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放。W3C标准不推荐在href里面执行javascript语句...
2016-01-07 20:24:47 248
原创 JS正则匹配充值时的 0.01的整数倍
var reg = /^0\.([1-9]|\d[1-9])$|^[1-9]\d{0,8}\.\d{0,2}$|^[1-9]\d{0,8}$/; var amount = 0.02;/^0\.([1-9]|\d[1-9])$|^[1-9]\d{0,8}\.\d{1,2}$|^[1-9]\d{0,8}$/;reg.test(amount);
2016-01-07 20:14:03 766
redisStudy.zip
2019-10-28
spring.doc
2019-10-25
Hibernate学习总结
2018-06-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人