- 博客(17)
- 问答 (1)
- 收藏
- 关注
原创 redis分布式锁
两种实现方式:redisson、lua脚本具体用法见项目中的readmehttps://github.com/yanyan20769/lock
2019-11-04 14:39:30
215
原创 自定义注解支持spring EL表达式
1 新增三个注解支持类,其实是拷贝出来的spring的类package per.yan.ding.util.el;import org.aspectj.lang.JoinPoint;import org.aspectj.lang.reflect.MethodSignature;import org.springframework.cache.interceptor.Simple...
2019-06-16 19:22:57
8079
1
原创 redis分布式限流
1 新增限流注解 RateLimiter/** * redis限流注解 * @author gaoyan * @date 2019/2/21 10:05 */@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface RateLimiter {...
2019-06-16 19:14:23
378
原创 异步方法上传MultipartFile问题
前端上传Excel文件,经过读取-校验-保存后使用了异步方法将原始文件上传到阿里云,但是错误日志偶尔会出现这个错误定位代码中41行debug更进源码可以看到最后调用一个native方法,入参是该multipartFile在本地文件目录中创建的一个临时文件的全路径+名称由于是偶尔出现,所以猜想会不会是由于主线程结束,导致本地目录的临时文件被清除,所以异步方法中的getInp...
2018-12-05 18:34:06
3006
原创 java实现生产者-消费者模式
阻塞队列使用自己写的,前篇文章自己实现阻塞队列里有介绍,现在代码贴过来阻塞队列实现方式一 使用synchronizedimport java.util.ArrayList;import java.util.List;public class SelfQueue<T> { //默认阻塞队列容量 private static int DEFAULT_CAPA...
2018-08-20 15:14:24
463
原创 自己实现阻塞队列
内部使用ArrayList作为存储容器,提供两个构造方法,可以自己指定队列容量。一 使用synchronized锁实现import java.util.ArrayList;import java.util.List;public class SelfQueue<T> { //默认阻塞队列容量 private static int DEFAULT_CAPA...
2018-08-20 15:05:45
647
原创 两个队列实现栈
基本思想:一个队列用于存储所有元素,另一个空闲,入队元素进入存储队列,出队时将存储队列的元素依次放入空闲队列,剩下最后一个时弹出,然后交换指针用于下次入栈及出栈。public class Stack<T> { private Queue<T> storeQueue; private Queue<T> emptyQueue; pu...
2018-08-19 10:23:40
180
原创 两个栈实现队列
基本思想:一个栈存放入队数据,另一个栈存放出队数据。出队时,出队栈为空的情况下,就一次性将入队栈的数据拿过来;出队栈不为空则pop出栈顶数据。public class Queue<T> { private Stack<T> inStack; private Stack<T> outStack; public void add(T...
2018-08-18 13:45:05
162
原创 用ArrayList实现简单队列和栈
队列特点:先进先出import java.util.ArrayList;public class Queue<T> { private ArrayList<T> arrayList; /** * 入队 */ public void add(T t) { if (arrayList == null) ...
2018-08-18 11:43:41
6258
原创 一次错误的美化代码
前段时间,开发的时候遇到一个问题,虽然很快解决了,但是里面包含的原理以及内在原因一直没弄清楚,后来了解了JVM相关知识才真正弄清楚。有一个方法doSomething(),该方法从HttpServletRequest中获取参数组装成查询的入参对象Student,然后对student进行默认属性的处理,处理完成过后用该对象做参数做查询操作代码片段1void doSomething(Htt...
2018-08-15 11:22:57
275
原创 静态块真的是类加载的时候执行么?
最近在读java深度历险这本书,书中第二章有个关于静态块执行时机的讨论,这一改我以前的认知啊。很多博客或是书籍都认为静态块是类加载的时候执行的,真相真的是这样么?我们先来看两个例子:example 1: public class Test { public static void main(String[] args) throws Exception { ...
2018-08-09 11:02:14
1422
转载 intellij idea关于maven依赖的小技巧
https://blog.youkuaiyun.com/qq_27093465/article/details/69226949
2018-07-26 19:55:39
254
转载 intellij idea 收费版本破解
安装完成,打开,进入License server address 中输入 http://idea.java.sx/,点击Activate。现在http://idea.java.sx/已经不可用,可以使用http://idea.toocruel.net 。=================================================================...
2018-07-26 13:38:38
8570
原创 intellij idea 配置gitlab ssh key
1 安装git,登录官网https://www.git-scm.com/download/ ,选择相应系统版本,下载后安装好。公司网慢的可以用第三方的软件管家下载。2 打开git bash,不需要进入任何目录,直接输入 ssh-keygen -t rsa -C 'xxx@xxx.com','xxx@xxx.com'为gitlab上的登录账户。一路回车。 3 打开生成的密钥文件,目录...
2018-07-25 16:35:47
55883
14
空空如也
oracle中有关于自定义类型用游标遍历问题
2015-08-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人