自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 并发编程-多线程常用方法interrupt、isInterrupted、interrupted、yield、Join

Thread类中常用方法使用与源码解析- getName() 获取线程名private volatile String name;/······/ public final String getName() { return name; }获取一个线程的名称,是被volatile 修饰的线程安全的属性;- setName (String)修改线程名线程名称可以在线程被初始化得时候赋值,也可以初始化完成后使用set方法进行赋值 public final s

2020-07-26 22:13:47 168

原创 并发编程-ReentrantLock锁和同步器的框架-AQS原理

AQS即AbstractQueuedSynchronizer,是一个用于构建锁和同步器的框架。它能降低构建锁和同步器的工作量,还可以避免处理多个位置上发生的竞争问题。在基于AQS构建的同步器中,只可能在一个时刻发生阻塞,从而降低上下文切换的开销,并提高吞吐量。AQS支持独占锁(exclusive)和共享锁(share)两种模式。独占锁:只能被一个线程获取到(Reentrantlock)共享锁:可以被多个线程同时获取(CountDownLatch,ReadWriteLock).无论是独占锁还是共享锁,

2020-07-04 21:43:31 205

原创 重量级锁、轻量级锁、偏向锁与三者之间的转换过程

前言介绍synchronized采用互斥的方式让同一时刻至多只有一个线程能持有【对象锁】,其他线程想再获取这个【对象锁】时就会阻塞住,这样就能保证拥有锁的线程可以安全的执行临界区内的代码,不用担心上下文切换。synchronized实际是用对象锁保证了临界区内代码的原子性,临界区内的代码对外是不可分割的,不会被线程切换所打断。如果加锁线程add没有运行完时间片就用完了,锁并不会释放,sub会进入阻塞状态,当锁释放之后会唤醒阻塞状态线程synchronized基本使用实现原理前提知

2020-06-06 06:53:03 1124

原创 一篇学会Java8新特性

函数式接口lambda新增方法举类Stream接口默认方法DATE API优点:1.代码简洁,开发快速: 函数式编程大量使用函数,减少了代码的重复,因此程序比较短,开发速度较快2. 接近自然语言,易于理解3. 更方便的代码管理: 函数式编程不依赖、也不会改变外界的状态,只要给定输入参数,返回的结果必定相同4. 易于“并发编程”:因为它不修改变量,所以根本不存在"锁"线程的...

2020-04-14 16:12:28 273

原创 【设计模式】一:六大基本原则详解

六大设计原则(Java)设计模式不是新技术,而是解决方案,是大佬们面对不同的需求场景踩过各种坑之后总结出了的一系列最佳实践;JAVA设计模式提供六个基本原则,分别是:开闭原则(OCP) - The Open-Closed Principle单一职责原则(SRP) - Single Responsibility Principle里氏替换原则(LSP) - Liskov Substitut...

2020-04-12 21:54:03 347

空空如也

空空如也

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

TA关注的人

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