![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
踏浪的小健
挥一挥衣袖,知识全过来
展开
-
手写一个callable创建线程,来了解下原理
1.先模拟源码的Callable创建自己的MyCallablepackage com.example.test.demo.thread.callable;/** * @author 王健宇 * @title: MyCallable * @description * @date 2021/7/9 19:12 */public interface MyCallable<T> { T call();}2.创建自己的FutureTaskpackage com.原创 2021-07-09 20:09:24 · 121 阅读 · 0 评论 -
JAVA多线程之wait和notify的使用小案例,记录一下
1.代码package com.example.test.demo.thread;import java.util.Date;/** * @author 王健宇 * @title: WaitNotifyDemo * @description * @date 2021/6/26 10:41 */public class WaitNotifyDemo { // 消费产品 class User { String name; //姓名 Str原创 2021-06-26 11:13:54 · 291 阅读 · 0 评论 -
通过Aop手写一个日志框架
1.大致流程2.编写aop采集日志package com.example.test.aop;import cn.hutool.core.date.DateUtil;import cn.hutool.json.JSON;import cn.hutool.json.JSONUtil;import com.example.test.utils.Log;import org.aspectj.lang.JoinPoint;import org.aspectj.lang.annotatio.原创 2021-06-24 13:28:43 · 232 阅读 · 0 评论 -
JAVA多线程的一些小基础记录一下
1.创建多线程的7种方式(1)继承Thrend(2)实现Runnable、内部类、lambda(如下)public class RunnableLambda { public static void main(String[] args) { new Thread(() -> { System.out.println(Thread.currentThread().getName() + "运行了"); }).start();原创 2021-06-23 21:43:33 · 80 阅读 · 0 评论 -
关于JAVA中使用POI操作Excel常见方法记录(持续更新)
合并单元格操作CellRangeAddress r1 = new CellRangeAddress(0, 0, 2, 4); // 行开始、行结束、列开始、列结束sheet.addMergedRegion(r1);单元格背景色s.setFillPattern(FillPatternType.SOLID_FOREGROUND);s.setFillForegroundColor(new XSSFColor(new Color(247, 150, 70)));...原创 2021-06-23 18:13:24 · 99 阅读 · 0 评论 -
Spring Aop+反射+自定义注解实现限流
记录一下今天所学的限流注解1.定义注解package com.example.test.anno;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/** * @author 王健宇 * @title: VisitLim原创 2021-06-23 09:21:19 · 134 阅读 · 0 评论