分析aqs源码自记

独占模式请求锁acquire()尝试获取锁tryAcquiretrue=>继续运行false=>执行addWaiter,获取返回的node作为acquireQueued的参数执行acquireQueued(addWaiter())==true=>acquireQueued(addW

JUC

JUCvolatile关键字不具备“互斥性”。不能保证变量的“原子性”内存可见性问题:当多个线程操作共享数据时,彼此不可见先看如下代码,创建一个线程去运行ThreadDemo,在运行时更改flag的值为true,然后在main线程中读取flag的值,如果为true则输出。publicclassTes

apache commons-collections 反序列漏洞分析

在这里只记录下对jdk1.8可用的apachecommons-collections中执行任意类任意执行方法链,实际程序代码与原作者相同,想知道更多分析思路,请参考原文环境jdk1.8commons-collections-3.2完整程序importorg.apache.commons.collec

base64特性导致的不等串解码相同

base64是将原串以三个字符一组,转化成24个二进制位再分成四个字符的编码方式。下图就是将Man字符转为TWFu的过程。在很多时候,其实原字串的长度都不是3的倍数,这时候转出来的二进制位长度必然不是24的整数倍。这时候就需要对二进制位进行补零操作。在6个二进制位都为零的时候,base64中就呈现=

记第一次开发面试

采用的是双人抢答形式后互相补充回答,整个面试过程持续了一个半小时左右环节一:自我介绍环节二:java基础和数据库基础String和StringBuilder的区别List有几类linkedList和ArrayList的区别CopyOnWriteArrayList的线程安全树与链表的区别java异常有
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×