腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
圈层
工具
返回腾讯云官网
回顾
专栏成员
举报
19
文章
19304
阅读量
13
订阅数
订阅专栏
申请加入专栏
全部文章(19)
java(9)
编程算法(7)
数据分析(4)
node.js(2)
ide(2)
http(2)
其他(1)
javascript(1)
缓存(1)
function(1)
identity(1)
null(1)
搜索文章
搜索
搜索
关闭
AQS(上) 同步队列AQS介绍篇
数据分析
node.js
AbstractQueuedSynchronizer抽象同步队列简称AQS,它是实现同步器的基础组件,并发包中锁的底层就是使用AQS实现的。另外,大多数开发者可能永远不会直接使用AQS,但是知道其原理对于架构设计还是很有帮助的。下面看下AQS的类图结构,如图所示。
YanL
2020-06-16
948
0
公平锁/非公平锁/可重入锁/自旋锁
数据分析
在JAVA中我们知道有很多加锁的方式,比如常见的 通过synchronized关键字,还有Lock,还有之前说原子CAS操作时有看到过的死循环方式的自旋锁。
YanL
2020-04-29
1.3K
0
[Java 并发]读锁/写锁
http
之前我们都知道在一个变量被读或者写数据的时候每次只有一个线程可以执行,那么今天我们来看一下读写锁,读写两不误ReadWriteLock。
YanL
2020-04-29
1K
0
Integer以及包装类使用值比较时需要注意的问题
缓存
这是因为Integer类源码中有一个IntegerCache,这一个私有的内部类。这个类缓存了-128到 127之间数字的包装类。需要记住它把一些数字的包装类提前缓存了,如果判断成立就把缓存中的那个包装类返回,如果不则new一个新的。
YanL
2020-04-29
1K
0
CountDownLatch
javascript
node.js
定义初始化的时候,需要传入一个正数来初始化计数器**(0也可以,但这样定义没有实际意义)。有两个方法countDown()**用于递减计数器,await()方法阻塞当前线程,直到计数器递减为0。
YanL
2020-04-29
538
0
Atomic包中原子类的使用,以及内部CAS的实现和原理
数据分析
编程算法
上篇文章有说过 多线程环境下 进行变量属性 自增操作时会造成线程不安全的情况,也有说到 volatile 关键字,最后也不能保证线程安全,因为多线程情况下 他不能保证原子性,不能保证写操作过程不可以被
YanL
2020-04-29
797
0
ThreadLocal (下) 继承性
编程算法
http
java
通过以上例子可以看到,同一个ThreadLocal变量在父线程中设置值后,在子线程是取不到的。根据上节的介绍,这应该是正常现象。因为子线程thread里面调用get方法时当前线程为thread线程,而这里调用set方法设置的变量时main线程,两者是不同线程,自然子线程访问时放回null。那么有没有办法让子线程能访问到父线程中的值,当然是有的哈哈哈!
YanL
2020-04-29
511
0
Volatile关键字
编程算法
ide
java
什么叫可见性呢,首先要说一下JAVA虚拟机内存,JAVA虚拟机内存模型规定,所有的变量都放在计算机的主内存当中,主内存是共享内存区域,所有线程都可以访问,而每个线程创建时都会为其创建一个工作内存(可以称之为栈空间),工作内存呢就是每个线程的私有数据区域,所以每个线程创建时也会从主内存进行一个变量副本拷贝,每当修改的时候也是再自己的工作内存中进行修改的,不能直接操作主内存,修改完成之后再对主内存的变量进行重新赋值,因此线程之间无法访问对方的工作内存,线程之间必须通过主内存来完成。
YanL
2020-04-29
438
0
线程的通知与等待
编程算法
Java中的Object类是所有类的父类,鉴于继承机制,Java把所有的类都需的方法放在了Object类里面,其中就包含要说的通知与等待。
YanL
2020-04-29
1.1K
0
LockSupport 工具类使用以及实现原理
其他
JDK中的rt.jar包里面的是个LockSupport是个工具类,它的主要作用是挂起和唤醒线程,该工具类是创建锁和其他同步类的基础。
YanL
2020-04-29
2.1K
0
LongAccumulator介绍,使用,实现原理
function
identity
null
LongAdder类时LongAccumulator的一个特例,LongAccumulator比LongAdder的功能更强大。例如下面的构造函数,其中accumulatorFunction是一个双目运算器接口,其根据输入的两个参数返回一个计算值,identity则是LongAccumulator累加器的初始值。
YanL
2020-04-29
1.7K
0
LongAdder(下)代码实现原理
数据分析
java
编程算法
为了解决高并发下多线程对一个变量CAS争夺失败后进行自旋而造成的降低并发性能的问题,LongAdder在内部维护多个Cell元素**(一个动态的Cell数组)**来分担单个变量进行争夺开销。下面围绕以下话题从源码角度来分析LongAdder的实现!
YanL
2020-04-29
488
0
Java线程之间的通知与等待,详解!!
编程算法
Java中的Object类是所有类的父类,鉴于继承机制,Java把所有的类都需的方法放在了Object类里面,其中就包含要说的通知与等待。
YanL
2020-04-26
1.8K
0
ThreadLocal (下) 继承性问题解决,以及具体实现原理
java
通过以上例子可以看到,同一个ThreadLocal变量在父线程中设置值后,在子线程是取不到的。根据上节的介绍,这应该是正常现象。因为子线程thread里面调用get方法时当前线程为thread线程,而这里调用set方法设置的变量时main线程,两者是不同线程,自然子线程访问时放回null。那么有没有办法让子线程能访问到父线程中的值,当然是有的哈哈哈!
YanL
2020-04-26
1.7K
0
ThreadLocal (中) 原理具体实现详解
java
由该图可知,Thread类中有一个threadLocals和一个inheritableThreadLocals,它们都是ThreadLocalMap类型的变量,而ThreadLocalMap是一个定制化的HashMap。在默认情况下,每个线程中的这两个变量都为null,只有当线程第一次调用ThreadLocal的set()或get()方法时才华创建它们。其实每个线程的本地变量不是存放在ThreadLocal实例里面,而是存放在具体线程内存空间中。ThreadLocal就是一个工具壳,它通过set方法把value值放入调用线程的threadLocals里面并存放起来,当调用线程调用它的get方法时,再从当前线程的threadLocals变量里面将其拿出来使用。如果调用线程一直不重质,那么这个本地变量会一直存放在调用线程的threadLocals变量里面,所以当不需要使用本地变量的时候可以通过调用ThreadLocal变量的remove()方法,从当前线程的threadLocals里面删除该本地变量。另外,Thread里面的threadLocals为何被设计为map结构?很明显是因为每个线程可以惯量多个ThreadLocal变量。
YanL
2020-04-26
693
0
ThreadLocal (上) 简介以及基本使用
java
多线程访问同一个共享变量特别容易出现并发问题,特别是在多个线程需要对一个共享变量进行写入时,为了保证线程安全,一般使用者在访问共享变量时进行适当的同步。如图所示
YanL
2020-04-26
661
0
Integer (以及基本数据类型的对象包装类) 值比较缓存问题
java
这是因为Integer类源码中有一个IntegerCache,这一个私有的内部类。这个类缓存了-128到 127之间数字的包装类。需要记住它把一些数字的包装类提前缓存了,如果判断成立就把缓存中的那个包装类返回,如果不则new一个新的。
YanL
2020-04-26
722
0
Atomic包下原子类的使用,以及内部CAS的实现和原理
java
上篇文章有说过 多线程环境下 进行变量属性 自增操作时会造成线程不安全的情况,也有说到 volatile 关键字,最后也不能保证线程安全,因为多线程情况下 他不能保证原子性,不能保证写操作过程不可以被
YanL
2020-04-26
1.3K
0
Volatile关键字 作用以及解决问题
编程算法
ide
java
什么叫可见性呢,首先要说一下JAVA虚拟机内存,JAVA虚拟机内存模型规定,所有的变量都放在计算机的主内存当中,主内存是共享内存区域,所有线程都可以访问,而每个线程创建时都会为其创建一个工作内存(可以称之为栈空间),工作内存呢就是每个线程的私有数据区域,所以每个线程创建时也会从主内存进行一个变量副本拷贝,每当修改的时候也是再自己的工作内存中进行修改的,不能直接操作主内存,修改完成之后再对主内存的变量进行重新赋值,因此线程之间无法访问对方的工作内存,线程之间必须通过主内存来完成。
YanL
2020-04-26
500
0
没有更多了
社区活动
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档