会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
jingyi_up
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
9
10
11
12
13
2020年4月25日
并发包(JUC)之阻塞队列
摘要: 1、阻塞队列分类 2、阻塞队列原理 基于ReentrantLock和Condition实现阻塞和线程间的通信。 Condition notEmpty = lock.newCondition( ) Condition notFull = lock.newCondition( ) (1)添加元素方法:a
阅读全文
posted @ 2020-04-25 19:00 jingyi_up
阅读(36)
评论(0)
推荐(0)
2020年4月24日
并发包(JUC)之Condition、CountDownLatch
摘要: Condition 1、Condition概述 对于synchronized,可以结合wait/notify实现线程的通信,Condition则是JUC中提供的一个多线程协调通信的工具类,可以让某些线程等待某个条件(condition),只有满足条件时才会被唤醒。 condition.await(
阅读全文
posted @ 2020-04-24 17:07 jingyi_up
阅读(171)
评论(0)
推荐(0)
并发包(JUC)之Lock和AQS
摘要: 1、Lock接口的实现——并发包锁 (1)ReentrantLock 重入锁,重入锁指线程在获得锁之后,当该线程再次请求获得该锁不需要阻塞,而是可以直接获得锁,同时计数器增加重入次数。不同线程还是会阻塞的。 (2)ReentrantReadWriteLock 重入读写锁,实现了ReadWriteLo
阅读全文
posted @ 2020-04-24 17:06 jingyi_up
阅读(103)
评论(0)
推荐(0)
volatile关键字——数据可见性问题
摘要: 1、缓存一致性问题 由于存储设备与处理器的运算速度差距很大,计算机系统在内存与处理器之间增加了一层高速缓存,将运算需要的数据复制到缓存中,让运算能快速进行。 有了高速缓存的存在以后,每个CPU的处理过程是, 先将计算需要用到的数据缓存在CPU高速缓存中,在CPU 进行计算时,直接从高速缓存中读取数据
阅读全文
posted @ 2020-04-24 16:27 jingyi_up
阅读(281)
评论(0)
推荐(0)
2020年4月23日
对象锁——synchronized关键字
摘要: jdk1.6之后对synchronized进行了优化,为了减少获得锁和释放锁带来的性能消耗,引入了偏向锁和轻量级锁,协调线程安全性和性能的平衡。这种优化主要解决上下文频繁切换,由于Java层面的线程与操作系统的原生线程有映射关系,如果要将一个线程进行阻塞或唤起都需要操作系统的协助,这就需要从用户态切
阅读全文
posted @ 2020-04-23 16:37 jingyi_up
阅读(232)
评论(0)
推荐(1)
线程原理理解
摘要: 1、多线程的实现 * 继承Thread类创建线程,Thread本质上是实现了Runnable接口的一个实例。 * 实现Runnable接口,主要避免java单继承问题,如果一个类已经extends另一个类,就无法再继承Thread,但可以实现Runnable接口来创建线程。 * 实现Callable
阅读全文
posted @ 2020-04-23 11:13 jingyi_up
阅读(110)
评论(0)
推荐(0)
2020年4月22日
JVM参数及性能调优
摘要: 1、JVM参数 分为标准参数和非标准参数。标准参数如:-version,-help。非标准参数有-X和-XX,其中-XX使用最多,主要用于JVM调优和Debug。 * Boolean类型,格式:-XX:[+-]<name>,+或-表示启用或禁用name属性。 如:-XX:+UseG1GC 表示启用G
阅读全文
posted @ 2020-04-22 16:57 jingyi_up
阅读(65)
评论(0)
推荐(0)
2020年4月21日
GC——垃圾回收
摘要: 1、可回收对象(垃圾)的判定 (1)引用计数法 对于某个对象而言,只要应用程序中持有该对象的引用,就说明该对象不是垃圾,如果一个对象没有任何只针对其引用,它就是垃圾。 弊端:如果AB相互持有引用,会导致永远不能被回收。 (2)可达性分析 通过GC Root的对象,开始向下寻找,看某个对象是否可达 。
阅读全文
posted @ 2020-04-21 21:46 jingyi_up
阅读(70)
评论(0)
推荐(0)
2020年4月20日
JVM内存模型
摘要: 1、虚拟机栈和栈帧 (1)每个线程对应一个虚拟机栈,线程中方法的调用则对应栈中栈帧的入栈和出栈。 栈帧:每个栈帧对应一个被调用的方法,可以理解为一个方法的运行空间。每个栈帧中包括局部变量表(Local Variables)、操作数栈(Operand Stack)、指向运行时常量池的引用(A refe
阅读全文
posted @ 2020-04-20 16:58 jingyi_up
阅读(31)
评论(0)
推荐(0)
上一页
1
···
9
10
11
12
13
公告