首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
exposure
掘友等级
点赞是一种阅读礼仪
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
11
文章 11
沸点 0
赞
11
返回
|
搜索文章
赞
文章( 11 )
沸点( 0 )
volatile关键字原理
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是…
死磕Synchronized底层实现--偏向锁
本文分析的JVM版本是JVM8,具体版本号以及代码可以在这里看到。 目前网上的很多文章,关于偏向锁源码入口都找错地方了,导致我之前对于偏向锁的很多逻辑一直想不通,走了很多弯路。 synchronized分为synchronized代码块和synchronized方法,其底层获取…
解决在Filter中读取Request中的流后, 然后再Control中读取不到的做法
我们来看一下核心代码: filter中主要做的事情, 就是来校验请求是否合法, 是否有篡改过值. 大家都知道, 流只能读一次, 读了就没有了, 为了后面的代码还能够取得流, 我们应该还需要将其写出去才行. 所以, 我新建立了一个类. 看代码: 请注意这里的编码, 最好将其转换成…
Java并发之13个原子操作类
java.util.concurrent.atomic这个包里面提供了一组原子变量类。其基本的特性就是在多线程环境下,当有多个线程同时执行这些类的实例包含的方法时,具有排他性,即当某个线程进入方法,执行其中的指令时,不会被其他线程打断,而别的线程就像自旋锁一样,一直等到该方法执…
java并发之ConcurrentHashMap 1.8原理详解
链表转换为红黑树时(链表节点个数达到8个可能会转换为红黑树)。如果转换时map长度小于64则直接扩容一倍,不转化为红黑树。如果此时map长度大于64,则不会扩容,直接进行链表转红黑树的操作。 单线程新建nextTable,扩容为原table容量的两倍。 每个线程想增/删元素时,…
Java的四种引用方式
java内存管理分为内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看对象是否有引用指向该对象。 第二是有利于JVM进行垃圾回收。 是指创建一个对象并把这个对象赋给一个引用变量。 强引用有引用变量指向时永远不会被垃圾回收,JVM宁愿抛出OutOfMemory错误也不…
JDK并发之AQS实现原理
类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch...。 它维护了一个volatile int state(代表共享资源)和一个FIFO…
JDK并发之独占锁ReentrantLock以及Condition
ReentrantLock是一个可重入且独占式的锁,它具有与使用synchronized监视器锁相同的基本行为和语义,但与synchronized关键字相比,它更灵活、更强大,增加了轮询、超时、中断等高级功能。ReentrantLock,顾名思义,它是支持可重入锁的锁,是一种递…
java并发之信号量Semaphore原理
1. 信号量Semaphore的介绍 我们以一个停车场运作为例来说明信号量的作用。假设停车场只有三个车位,一开始三个车位都是空的。这时如果同时来了三辆车,看门人允许其中它们进入进入,然后放下车拦。以后来的车必须在入口等待,直到停车场中有车辆离开。这时,如果有一辆车离开停车场,看…
java 并发之CyclicBarrier 原理
CyclicBarrier是一个同步辅助类,允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。 (01) CountDownLatch的作用是允许1或…
下一页
个人成就
文章被点赞
57
文章被阅读
54,903
掘力值
657
关注了
0
关注者
42
收藏集
0
关注标签
2
加入于
2019-01-02