![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
奇迹是魔鬼的诱惑
miracle is the temptation of the devil
展开
-
if(a==1 && a==2 && a==3) true ?
if(a1 && a2 && a==3) true ?1.无意间在微信公众号看到一个文章,标题如题。知识盲区,一脸懵逼博主只是贴了实现的demo,具体没解释,问了度娘,恍然大悟。demo如下: Class cache = Integer.class.getDeclaredClasses()[0]; Field c = cache.getDeclaredField("cache"); c.setAccessible(true)原创 2022-03-29 11:57:42 · 142 阅读 · 0 评论 -
ExecutorService —— 多线程分享(二)
ExecutorService多线程分享一、概念梳理:A:有一堆任务:B:执行这堆任务:C:获取这堆任务信息,以及影响任务的执行:A: 任务Runnable(接口) :run(),执行任务,无返回值Callable (接口):call(),执行任务,有返回值FutureTask(类):根据不同的构造器,构建一个task实例(构造器的作用是传入一个实现了Runnable接口的任务类,并设置当此任务类运行完成后,任务类需要向调用此类的get方法的对象返回的 结果(result),此构造器会原创 2020-05-29 11:42:13 · 911 阅读 · 0 评论 -
@Async异步调用 —— 多线程分享(一)
SpringBoot使用@Async异步调用项目中实现异步调用的方式还是挺多的,大多要么是使用ExecutorService要么是使用@Async注解,要么干脆直接手动创建线程。之前我自己都是使用ExecutorService去实现多线程的业务操作,但是奈何阿里巴巴归约扫描,看着难受。不用@Async不就是图个懒得写配置省事的。另外其中各自的优缺点这里就不再赘述了,本身也就是记录下自己使用的业务背景和代码配置情况吧。业务背景: 实现的功能是Excel数据导入到数据库,由于使用的是SpringCloud,原创 2020-05-29 11:15:34 · 1221 阅读 · 0 评论 -
Java位移分享(二)
Java位移分享(二)1.上个位移分享帖中,提到了HashMao中tableSizeFor()方法中有使用到位移,但并没有进行深究,因为当时也还没有完全理解,所以推迟到这个分享中去说明。直接看源码吧: static final int tableSizeFor(int cap) { int n = cap - 1; n |= n >>> 1; n |= n >>> 2; n |= n >>原创 2020-05-11 23:38:02 · 144 阅读 · 0 评论 -
Java与、或、异或运算
Java与、或、异或运算分享1. & — 与运算: 上下同为 1 , 则结果为1 , 反之则为0例如 :1101 0011 (十进制: 211)0000 1111 (十进制: 15)0000 0011 -------运算结果 (十进制: 3)2. | — 或运算: 上下任意为 1,则结果为1 ,反之则为0例如 :1101 0011 (十进制: 211)0000 1111 (十进制: 15)1101 1111 -------运算原创 2020-05-08 23:18:28 · 594 阅读 · 0 评论 -
Java位移分享(一)
Java位移分享最近在看HashMap源码时(构造器那块代码),看到了一段代码,如下:static final int tableSizeFor(int cap) { int n = cap - 1; n |= n >>> 1; n |= n >>> 2; n |= n >>> 4; n |= n >>> 8; n |= n >&g原创 2020-05-08 23:05:33 · 156 阅读 · 0 评论