代码相关
叫我放猪之人
这个作者很懒,什么都没留下…
展开
-
redis分布式锁
两种实现方式:redisson、lua脚本具体用法见项目中的readmehttps://github.com/yanyan20769/lock原创 2019-11-04 14:39:30 · 195 阅读 · 0 评论 -
自定义注解支持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 · 8017 阅读 · 1 评论 -
钉钉消息通知服务
https://github.com/yanyan20769/ding-talk原创 2019-02-27 16:23:13 · 1094 阅读 · 0 评论 -
异步方法上传MultipartFile问题
前端上传Excel文件,经过读取-校验-保存后使用了异步方法将原始文件上传到阿里云,但是错误日志偶尔会出现这个错误定位代码中41行debug更进源码可以看到最后调用一个native方法,入参是该multipartFile在本地文件目录中创建的一个临时文件的全路径+名称由于是偶尔出现,所以猜想会不会是由于主线程结束,导致本地目录的临时文件被清除,所以异步方法中的getInp...原创 2018-12-05 18:34:06 · 2973 阅读 · 0 评论 -
java实现生产者-消费者模式
阻塞队列使用自己写的,前篇文章自己实现阻塞队列里有介绍,现在代码贴过来阻塞队列实现方式一 使用synchronizedimport java.util.ArrayList;import java.util.List;public class SelfQueue<T> { //默认阻塞队列容量 private static int DEFAULT_CAPA...原创 2018-08-20 15:14:24 · 449 阅读 · 0 评论 -
自己实现阻塞队列
内部使用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 · 628 阅读 · 0 评论 -
两个队列实现栈
基本思想:一个队列用于存储所有元素,另一个空闲,入队元素进入存储队列,出队时将存储队列的元素依次放入空闲队列,剩下最后一个时弹出,然后交换指针用于下次入栈及出栈。public class Stack<T> { private Queue<T> storeQueue; private Queue<T> emptyQueue; pu...原创 2018-08-19 10:23:40 · 165 阅读 · 0 评论 -
两个栈实现队列
基本思想:一个栈存放入队数据,另一个栈存放出队数据。出队时,出队栈为空的情况下,就一次性将入队栈的数据拿过来;出队栈不为空则pop出栈顶数据。public class Queue<T> { private Stack<T> inStack; private Stack<T> outStack; public void add(T...原创 2018-08-18 13:45:05 · 156 阅读 · 0 评论 -
用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 · 6212 阅读 · 0 评论 -
一次错误的美化代码
前段时间,开发的时候遇到一个问题,虽然很快解决了,但是里面包含的原理以及内在原因一直没弄清楚,后来了解了JVM相关知识才真正弄清楚。有一个方法doSomething(),该方法从HttpServletRequest中获取参数组装成查询的入参对象Student,然后对student进行默认属性的处理,处理完成过后用该对象做参数做查询操作代码片段1void doSomething(Htt...原创 2018-08-15 11:22:57 · 264 阅读 · 0 评论