![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 63
挲迦
这个作者很懒,什么都没留下…
展开
-
双亲委派如何打破
双亲委派机制简述原创 2020-07-30 20:54:25 · 591 阅读 · 0 评论 -
JVM基础知识浅析【类加载|GC】
JVM基础原创 2022-04-26 15:16:28 · 1199 阅读 · 0 评论 -
Copy-on-write
写时复制原创 2022-04-22 11:48:26 · 269 阅读 · 0 评论 -
java防止并发和幂等
b之前工作中用了很多防并发和幂等,一般也是使用前辈们常用的手段,今天系统梳理下之前用的手段防并发幂等原创 2021-05-29 12:33:19 · 384 阅读 · 0 评论 -
NIO从入门到精通
serverpackage com.deppyu.nio;import java.io.IOException;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.net.SocketAddress;import java.nio.ByteBuffer;import java.ni...原创 2020-09-13 16:47:48 · 255 阅读 · 0 评论 -
阻塞队列的简单使用
概要分类public interface BlockingQueue<E> extends Queue<E> { //这两个一对 不能立即被执行就会抛异常 boolean add(E var1); boolean remove(Object var1); //这个直接会返回一个结果 boolean offer(E var1); E poll(); 【这个是父类Queue里面的方法】 //这两个不能立即被执行...原创 2020-07-29 14:14:43 · 200 阅读 · 0 评论 -
【日志篇】java日志的桥接器和适配器和异步日志
五花八门的日志框架门面 slf4j common-log实现 jul log4j logback 等解决jar包中应用的日志框架各不相同,使用适配器和桥接器可以很好的解决桥接器命名规范一般是 实现类-over/to-门面 (eg: log4j-over-slf4j)桥接器实现原理- 已上面jar包为例,桥接器重写了log4j,类名功能都一样,但是实现了slf接口。引入桥接器 排除实现 完美替代log4j的类。...原创 2020-07-23 10:56:24 · 770 阅读 · 2 评论 -
AQS梳理【ReentrantLock|CountDownLatch|Semaphore|CyclicBarrier|ReentrantReadWriteLock】
概述aqs是java并发包的一个基石级别服务,主要是通过队列和大量的cas来玩转。本文我们会基于公平锁来跟进抢锁流程后续补个图,这个是公平锁的lock方法。ReentraLock的内部类 FairSync类关系 FairSync extend Sync(抽象类) extends AbstractQueuedSynchronizersync定义了lock抽象方法给 子类实现,FairSync的实现具体是依赖 aqs的 acquire来看下acquire方法【这是个小模版方法,具.原创 2020-07-29 10:59:36 · 473 阅读 · 0 评论 -
IO常识简述【I/O模型&&零拷贝】
概要用户发起IO操作,一般就是两个动作。内核把网卡/磁盘的内容搬到内核空间(动作A),再把内核空间数据搬到用户空间(动作B)。主要有五种模型 同步阻塞 这个比较简单,就是用户发起操作后 静静的等待AB完成。完全block住 同步非阻塞 这个其实和同步阻塞相差不大。动作B也是完全阻塞模式,动作A阶段 内核会直接告诉你没好,上面那个是没好不说 你等着。这个是轮训去问,别问 问就是没好。 多路复用 这个也是阻塞的,好处是一个线程处理多个channel,数据到.原创 2020-06-30 10:02:19 · 253 阅读 · 0 评论 -
【java基础->常见线程通讯方法】
1.LockSupportLockSupport.park();LockSupport.unPark(Thread t);park和unpark次数问题,可以先调用unpark再调用park,但是先unpark N次只会生效一次2. wait和notify[必须配合synchronized使用]obj.notify唤醒等待线程obj.wait让出锁 自己进入等待的 w...原创 2020-03-16 13:25:31 · 138 阅读 · 0 评论 -
【java基础 > 锁升级】
围绕synchronize关键字说下三个锁升级无锁 -> 偏向锁 -> 轻量级锁 -> 重量级锁1,Mark Word2,指向类的指针3,数组长度(只有数组对象才有)锁的信息都是放在对象头的mark word里面的,具体信息如下:【说个小知识点 yc的年龄最大的是15 cms默认的是6,4bit的最大就是15】1.无锁态,一个对象没有被争...原创 2020-03-16 10:07:00 · 128 阅读 · 0 评论 -
[java基础-hashMap] capacity/算槽位等有意思的操作
精妙的位移运算初始化槽位大小,返回比cap大的最小2的N次方static final int tableSizeFor(int cap) { int n = cap - 1; n |= n >>> 1; n |= n >>> 2; n |= n >>> 4; ...原创 2020-03-16 20:09:34 · 2540 阅读 · 0 评论 -
interrupt的三个方法区分
thread的三个interrupt方法名比较类似,业务代码中写的不多,经常会忘记 三个的差异。看源码的时候 就会错乱。interrupt简述interrupt()方法只是改变中断状态,不会中断一个正在运行的线程。需要用户自己去监视线程的状态为并做处理。支持线程中断的方法(也就是线程中断后会抛出interruptedException的方法)就是在监视线程的中断状态,一旦线程的...原创 2019-07-25 09:51:51 · 819 阅读 · 0 评论