notify和notifyAll区别

wait此方法导致当前线程(称之为 T)将其自身放置在对象的等待集中,然后放弃此对象上的所有同步要求。

被wait的线程,想要继续运行的话,它必须满足2个条件:

由其他线程notify或notifyAll了,并且当前线程被通知到了

经过和其他线程进行锁竞争,成功获取到锁了

2个条件,缺一不可。其实在实现层面,notify和notifyAll都达到相同的效果,都只会有一个线程继续运行。但notifyAll免去了,线程运行完了通知其他线程的必要,因为已经通知过了。什么时候用notify,什么时候使用notifyAll,这就得看实际的情况了。

· 什么是条件锁、读写锁、自旋锁、可重入锁?

条件锁

在lock中提供了与之关联的条件,一个锁可能关联一个或多个条件,这些条件通过condition接口声明。目的是运行线程获取锁并且查看等待某一个条件是否满足,如果不满足则挂起直到某个线程唤醒它们。condition接口提供了挂起线程和唤起线程的机制;

读写锁

Java中读写锁有个接口java.util.concurrent.locks.ReadWriteLock,也有具体的实现ReentrantReadWriteLock,它们不是继承关系,但都是基于 AbstractQueuedSynchronizer来实现。ReentrantReadWriteLock的锁策略有两种,分为公平策略和非公平策略

注意: 在同一线程中,持有读锁后,不能直接调用写锁的lock方法 ,否则会造成死锁。。

可重入(Reentrant)锁

如果锁具备可重入性,则称作为可重入锁。像synchronized和 ReentrantLock都是可重入锁。假如某一时刻,线程A执行到了method1,此时线程 A获取了这个对象的锁,而由于method2也是synchronized方法,因为可重入,线程A不需要申请加锁即可执行。(可以理解锁的维度是线程,所以已拥有锁不需要再次申请加锁)。不可重入锁(自旋锁):不可以再次进入方法A,也就是说获得锁进入方法A是此线程在释放锁钱唯一的一次进入方法A。

可中断锁

可中断锁:顾名思义,就是可以相应中断的锁。在Java中,synchronized就不是可中断锁,而Lock是可中断锁。

· 线程池ThreadPoolExecutor的几个参数说明?

网易的java微专业_网易微专业Java高级架构师相关推荐

  1. java 企业级 百度网盘_开课吧JavaEE企业级高级架构师2021百度网盘

    java/javaee基础面试问题 1.面向对象和面向过程的区别对比: 面向对象易维护.易扩展.易复用,由于面向对象继承.封装.多态的特性,可以设计低耦合的系统易于维护,但因为类的实例化开销较大,所以 ...

  2. 高级架构师,精通JAVA/高并发/微服务/分布式/中间件

    JAVA高级架构师专栏 大纲介绍 Java基础复习 单点系统 Springboot框架应用 页面开发模版引擎 Java核心基础 JVM调优 高并发优化 Spring.Mybatis.Springboo ...

  3. java实战项目_我靠这份Java知识体系和6个大厂实战项目,拿到阿里年薪50W+offer

    当你选择了Java程序员这个岗位后,到了30岁,都会有一个感受,觉得自己的职业发展受到了限制,升职加薪很难,一直在做重复的复制粘贴工作. 随着年纪越来越大,竞争力越来越弱,身体也不如从前,就会非常有危 ...

  4. 阿里java架构师+职级_阿里 P8 高级架构师年入100W+,到底什么水平?

    原标题:阿里 P8 高级架构师年入100W+,到底什么水平? 大家都知道,阿里P8高级技术专家,基本上是一线技术人能达到的最高职级,也是很多程序员追求的目标.达到年入百万的P8 Java高级架构师级别 ...

  5. 计算机方面的自考大专专业,自考大专有哪些专业_自考大专专业科目一览表

    由于自考大专的报读门槛低,不限年龄,也没有前置学历要求,只要有提升学历的意愿都可以报名.而且学历的含金量高,不仅国家予以承认,而且社会的认可.那么,自考大专有哪些专业,考生又该怎样选择专业? 自考大专 ...

  6. java jwt 验证_教程:用Java创建和验证JWT

    java jwt 验证 "我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多 ...

  7. java里面如何加入高级的东西_如何成为一名Java高级架构师

    近些年来互联网快速发展,现阶段的数据量和高并发的诉求,引起了不少传统的技术人员的力不从心,企业愈发关注到了系统架构的重要性,既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的领导型人物 ...

  8. 阿里 P8 Java高级架构师,都需要掌握哪些技术栈?

    大家都知道,阿里P8高级技术专家,基本上是一线技术人能达到的最高职级,也是很多程序员追求的目标.达到平均年入百万的P8 Java高级架构师级别,不仅要具备优秀的编程能力和系统设计能力,在技术视野和业务 ...

  9. Java进阶之路——从初级程序员到架构师,从小工到专家必会的技能

    怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作三五年之后开始迷茫的老程序员经常会问到的问题.希 ...

  10. Java高级架构师之路核心知识整理

    小编整理出一篇Java高级架构师之路的核心知识,同时也是面试时面试官必问的知识点,篇章也是包括了很多知识点,其中包括了有基础知识.Java集合.JVM.多线程并发.spring原理.微服务.Netty ...

最新文章

  1. 计算机系统安装和维护实验,2计算机系统安装维护实验报告.doc
  2. 2. 离散特征处理方法--特征交叉 feature crosses
  3. 2011年排名前七位的Linux操作系统。
  4. 屏幕滚动控件Scrollview
  5. CloudStack部署运维手册V2 --- 新鲜出炉
  6. 台湾高校首创气体灭火数位实境教育馆
  7. 【一步到胃解决】Several ports (8005, 8080, 8009) required by Tomcat v9.0 Server at localhost are already
  8. mysql安装时损坏的图像_在PHP中从MySQL获取图像会导致图像损坏
  9. Java实现折半查找(二分查找)的递归和非递归算法
  10. 使用C语言进行面向对象的开发--GObject入门[5]
  11. c语言上机报告之水仙花数,C语言上机报告之水仙花数..doc
  12. 备忘录AIX主机下用SHELL脚本编写FTP传某个目录下的文件到LINUX主机
  13. 黑苹果论坛被封_给掌上电脑装上黑苹果,买到的人都觉得赚大了
  14. (整理)REHL6.5_Yum安装Reids
  15. Selenium2+python自动化18-加载Firefox配置
  16. eclipse下使用hibernate tools实现hibernate逆向工程
  17. Java实现国密算法SM2,SM3,SM4,并且实现ECB和CBC模式
  18. 《给忙碌者的天体物理学》pdf、mobi、epub下载
  19. 史丰收速算-第五届蓝桥杯省赛
  20. Visual Leak Detector VS2019

热门文章

  1. pytthon问题 pytcharm Automatic upload failed: could not resolve file “sftp://10.xx.xx.xx 【已解决】
  2. nacos做配置中心读取不到配置报错:Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder ‘cou
  3. 记录office安装一半重启后无法继续安装
  4. Oracle Golden Gate 系列二 -- GG 的系统需求
  5. ie11加载项启用不了 java,经常提示此网站的某个加载项无法运行(ie10/11)
  6. 量化噪声的大小与什么成正比_量化噪声
  7. [转载] 网络游戏程序员须知 调试多人联机游戏
  8. 为什么学校的计算机识别不出u盘,电脑读不出u盘是什么问题 为什么电脑不能识别u盘...
  9. 优酷搞笑--万万没想到--台词
  10. python实现语音信号的分帧、加窗、预处理