自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 多线程与高并发(二)

LockSupportLockSupport与synchronized对比总结LockSupport中park()和unpark()方法的实现原理LockSupport与synchronized对比阻塞和释放线程时,synchronized方法使用的时 wait() 和 notify() 方法并且需要保证synchronized、wait()、notify()方法对象必须一致,一个synchronized代码块只能有一个线程调用wait()和notify()方法。而在JDK1.6中java.util.c

2020-10-27 08:18:29 129

原创 CAS操作

ReentrantLock以及相关其他锁ReentrantLock可重入性可尝试获取锁可被打断加锁可指定公平性ReentrantLock 可自主设置为公平锁或非公平锁CountDownLatchCyclicBarrierPhaserReadWriteLockSemaphoreReentrantLock可重入性ReentrantLock是允许重入的:public class Reen_01 { Lock lock = new ReentrantLock(); public void m1(){

2020-10-21 12:35:08 566

原创 多线程与高并发

volatile关键字和synchronizedvolatile作用保证线程可见性(MESI 缓存一致性协议)禁止指令重排序(CPU)volatile应用单例模式(饿汉式)单例模式可以保证线程安全只创建一次。public class DCL { private static DCL dcl = new DCL(); private DCL(){} public DCL getInstance(){ return dcl; }}有些时

2020-10-15 08:48:31 167

原创 多线程相关问题

多线程的基本知识创建线程的几种方式启动线程的几种方式线程的生命周期线程的不同状态创建线程的几种方式继承Thread 类 public class MyThread extends Thread{ @Override public void run() { System.out.println("This is MyThread"); } }2.实现Runnable接口 public class MyRunnable implements Runnable{ @Ov

2020-10-15 00:06:37 107

原创 操作系统相关问题(一)

硬件与操作系统缓存一致性与指令重排序图解名词解释:缓存一致性产生的原因解决方法指令重排序cpu层面如何禁止重排序解释JVM层面如何禁止重排序hanppen-before缓存一致性与指令重排序图解名词解释:PC -> Program Counter 程序计数器 (记录当前指令地址)Registers -> 暂时存储CPU计算需要用到的数据ALU -> Arithmetic & Logic Unit 运算单元CU -> Control Unit 控制单元MMU

2020-10-13 23:09:40 186

原创 Macos 编译openjdk错误如何解决

编译时,也就是make之后。 /Users/gaodachang/openjdk/hotspot/make/bsd/makefiles/gcc.make:225: * extraneous endif’. Stop. make[7]: * [jvmg] Error 2 make[6]: * [generic_build2] Error 2 make[5]: * [jvmg] Error...

2018-07-30 23:38:46 731

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除