Java基础

白天 夜间 首页 下载 阅读记录
  我的书签   添加书签   移除书签

等待和通知的代码书写标准范式

浏览 54 扫码 分享 2022-07-10 06:11:14

    若有收获,就点个赞吧

    0 人点赞

    上一篇:
    下一篇:
    • 书签
    • 添加书签 移除书签
    • 并发编程[目录]
      • 线程池概念
        • 线程池是怎样工作的
        • CachedThreadPool的工作原理
        • 线程池内部结构(组成)
        • Java 并发类库提供的线程池
        • 使用无界队列的线程池会导致内存飙升吗
      • 线程池
        • 线程池中多余的线程是如何回收的?
        • 线程池如何监控,才能帮助开发者快速定位线上错误?
        • 不同场景,如何使用线程池
        • 线程池面试题
        • 线程执行完任务之后都在干啥
        • 线程池的任务提交源码
        • 线程池有哪 4 种拒绝策略?
        • 线程池有哪些常用的API?
          • ExecutorService方法
          • 线程池被关闭的方式有哪几种
        • 如果你提交任务时,线程池队列已满。会时发会生什么?
        • 12.如果线上机器突然宕机,线程池中阻塞队列中的任务怎么办
        • 11.线程池状态(生命周期)
          • 线程池 Executor 生命周期
        • 10.CompletionService
        • 08.合理地配置线程池
          • 说一下该如何设置线程池的参数,设置多大合适
        • 07.关闭线程池
        • 06.提交任务submit() 和 execute()区别
        • 05.扩展线程池
        • ThreadFactory(创建线程的工厂)代码实现
        • 02.ThreadPoolExecutor 的类关系
          • Worker源码大致结构
          • ThreadPoolExecutor 重要属性
          • ThreadPoolExecutor类注释
      • CAS简介
        • Atomic概念
          • 第40讲:AtomicInteger 在高并发下性能不好,如何解决?为什么?
          • CASJavaAPI
            • Atomic的JavaAPI
          • AtomicInteger 和 synchronized 的异同点?
        • compareAndSet怎么用
        • CAS的jdk1.8新增的东西
        • CAS的ABA问题
      • 关于CPU
      • 进程和线程
      • Synchronized概念
        • Java 对象头
        • Synchronized锁升级降级问题
        • 04.JDK对锁的更多优化措施
        • Synchronized 和 ReentrantLock 有什么区别呢?
        • Synchronized 和 volatile 的区别
      • ConcurrentHashMap介绍
        • ConcurrentHashMap源码
        • ConcurrentHashMap与HashMap和HashTable等的区别
        • ConcurrentHashMap的实现原理(JDK1.7和JDK1.8)
        • ConcurrentHashMap 在 Java7 和 8 有何不同
        • ConcurrentHashMap有十个提升性能的地方,你都知道吗?
        • ConcurrentHashMap源码原理探究
      • JUC 工具类
      • 并发
        • 创建多线程的方式
          • Thread和Runnable区别
          • run()和start()区别
          • 获取线程名字
          • 设置线程未捕获错误信息处理器
          • Callable、Future和FutureTask
          • CompletableFuture概念和使用
            • 如何利用 CompletableFuture 实现“旅游平台”问题?
        • 线程的停止,暂停,恢复
        • 多线程的运行状态(五种状态)
        • 进程、线程和协程之间的区别和联系
      • 显式锁
        • 07.LockSupport
        • 06.StampedLock
        • 05.读写锁ReentrantReadWriteLock
        • 04.Condition接口
        • ReentrantLock概念
          • Synchronized 和 Lock 区别[主要,待整理中]
          • ReentrantLock的API
          • ReentrantLock实现原理
        • AQS概念
          • AQS
        • 01.什么是显示锁
      • 死锁概念
        • 使用 jstack 排查Java项目的Linux线上环境死锁
      • 并发安全
        • 你知道哪几种锁?分别有什么特点?
        • volatile 概念
          • 爆赞,对 volatile 关键字讲解最好的一篇文章!
          • 指令重排序问题
          • Volatile不保证原子性以及解决方案
          • volatile 变量和 atomic 变量有什么不同
          • 线程安全的懒汉模式为什么要使用volatile关键字
          • volatile内存屏障和指令重排序问题
          • 原子类和 volatile 有什么异同?
        • 08.内存屏障
        • 07.happens-before
          • Java 内存模型中的 happen-before 是什么?
          • happens-before原则有哪些
        • 06.Java内存模型
          • Java内存模型的原子性,有序性,可见性
          • 面试官:什么是Java内存模型?
          • JMM Java内存模型
        • 05.并发下的性能
        • 04.线程饥饿
        • 03.活锁
        • 保证线程安全的方法
      • 优化思路案例[目录]
        • Java多线程异步调用性能调优
        • Java并行调用性能优化
        • Java多人抽奖案例
        • Java多线程并发编程实战之高并发数据一致性实战
        • Java多线程并发编程实战之百万级数据计算性能优化实战
        • Java 用多线程实现11种方式实现亿级高并发计数器
        • Java 百万数据秒级导出到Excel中
        • Java多线程百万数据快速入库实战
        • 多线程批量拆分List导入数据库
      • 并发编程[还没整理完,看起来会有点乱]
        • TheadLocal概念
          • Java的ThreadLocal演示代码
          • ThreadLocal出现OOM内存溢出的场景和原理分析
        • Java并发编程75道面试题及答案
        • 并发编程知识点
        • 并发基础
          • 07.扩充知识点- Disruptor
          • 06.Java8新增的并发
          • 05.线程协作[目录]
            • 守护线程
            • 线程的优先级
            • 调用yield() 、sleep()、wait()、notify()等方法对锁有何影响?
            • wait()和notify()和notifyAll()
              • 生产者和消费者
              • 等待和通知的代码书写标准范式
            • sleep()
            • yield()
            • join()
              • 面试题:我启动三个线程,我怎么让这三个线程按顺序执行完
          • 04.final的内存语义
          • 03.Thread类
          • 1
        • 并发框架
          • Future和FutureTask
          • Exchange
          • Semaphore
          • CyclicBarrier
          • CountDownLatch
          • Fork-Join
        • 并发容器
          • 队列
            • 队列在工作中的使用场景
            • 队列设计思想
            • 队列和锁的结合
            • 队列和线程池的结合
            • Java并发之的DelayQueue简单介绍和使用
          • Deque
          • ConcurrentLinkedQueue(非阻塞队列)
          • ConcurrentLinkedDeque
          • 写时复制容器CopyOnWrite
            • CopyOnWriteArrayList概念
            • CopyOnWriteArrayList的API
            • CopyOnWriteArrayList概念
            • CopyOnWriteArrayList源码分析
          • ConcurrentSkipList系列
        • 其它有时间整理一下
          • 第77讲:AQS 在 CountDownLatch 等类中的应用原理是什么?
          • Java中设置线程捕获错误信息处理器
          • ThreadLocal里面的泛型不能是static修饰的变量
          • Java并发编程之Exchange概念和Demo
          • Java并发编程之Semaphore
          • Java并发编程之Semaphore代码演示
          • Java多线程之CountDownLatch和CyclicBarrier区别
            • CyclicBarrier 和 CountdownLatch 有什么异同?
          • 什么是线程安全性,如何保证线程安全_张俊杰 的博客-CSDN博客
          • Java 中用到的线程调度算法是什么
          • Java中Thread和Runnable区别
          • Java并发编程之Fork-Join
          • 第77讲:AQS 在 CountDownLatch 等类中的应用原理是什么?
          • Java之CyclicBarrier
          • Java中线程的停止,暂停,恢复
          • Java多线程之join方法
          • java创建多线程的几种方式
          • 多线程程序需要注意事项
          • java中 run()和start()区别
          • 进程间的通信方式,线程间的通信方式 进程
          • java线程的停止,暂停,恢复
          • 多线程中设置线程未捕获错误信息处理器
          • 多线程中Thread和Runnable区别
          • 多线程中run()和start()区别
          • 1
          • [并发编程]Java 中用到的线程调度算法是什么
          • [并发编程]并发和多线程以及并发优缺点
          • [并发编程]澄清并行和并发
          • [并发编程]多线程程序需要注意事项
          • [并发编程]高并发编程的意义、好处和注意事项
          • 同步和异步(两种方式阻塞和非阻塞对比)
    • IO[大目录]
      • IO流效率对比
      • IO流概念
      • 文件操作类
      • 数据输入输出流
      • ZIP压缩输入/输出流(没尝试过)
      • 字节流
      • 字符流
      • 缓冲流(高效流)
      • 转换流
      • 序列化流与反序列化流
      • 打印流
      • Properties属性类
    • 集合框架[笔记]
      • LinkedList笔记
      • ArrayList笔记
      • Java 集合面试问题及答案--1号
        • Java 集合面试问题及答案--2号
      • ArrayList笔记
      • 集合在 Java 7 和 8 有何不同和改进
      • 集合框架
        • 删除list里面的元素
        • []Map接口
          • HashMap概念
          • HashMap在Java1.8中比1.7做了哪些优化
          • HashMap的put方法过程
          • HashMap的get方法的过程
          • HashMap的哈希函数设计
            • HashMap中hash函数怎么是是实现的?
          • HashMap为什么是线程不安全的
          • HashMap的remove(Key)方法的过程
          • HashMap底层数据结构
          • HashMap是线程安全的吗?为什么安全或者不安全?
          • 聊一聊JDK 7的HashMap中的“死锁”是怎么回事?
          • HashMap中能put两个相同的Key吗?为什么能或为什么不能?
          • HashMap中的键值可以为Null吗?能简单说一下原理吗?
          • 你了解HashMap的底层数据结构吗?
          • 为什么java8以后链表数据超过8以后,就改成红黑树存储?
          • Hash碰撞问题
          • HashMap扩容
            • 准备用HashMap存1w条数据,构造时传10000会触发扩容吗?
          • HashMap的默认初始化长度是多少?
          • 拉链法导致的链表过深问题为什么不用二叉查找树代替,而选择红黑树?为什么不一直使用红黑树?
          • ConcurrentHashMap 底层具体实现知道吗?实现原理是什么?
          • ConcurrentHashMap 和 Hashtable 的区别?
            • 我们可以使用CocurrentHashMap来代替Hashtable吗?
          • HashMap 的长度为什么是2的幂次方
            • 如果创建HashMap的时候没有指定HashMap散列表的长度,初始长度为多少?
            • HashMap的大小为什么是2的n次方
          • HashMap是怎么解决哈希冲突的?
            • 有什么方法可以减少碰撞?
          • HashMap的扩容操作是怎么实现的?
            • HashMap的扩容机制是怎么样的?JDK7与JDK8有什么不同吗?
            • 负载因子默认是多少,有啥作用?为什么负载因子为0.75?什么时候进行扩容(resize)?
            • 如果HashMap的大小超过了负载因子(load factor)定义的容量,怎么办?
          • HashMap的put方法的具体流程?
            • 新entry节点插入链表的时候是头插法还是尾插法
          • HashMap在JDK1.7和JDK1.8中有哪些不同?HashMap的底层实现
            • JDK1.8发生了哪些变化?
        • []Java集合容器知识点
          • []LinkedList
            • LinkedList 是双向链表还是单向?, 他有个 get 方法,时间复杂度是多少
          • 辅助工具类
          • Collection接口
            • Queue
            • Set接口
            • List接口
              • List中数组和链表的区别
          • 集合容器概述
      • Java 集合使用不当,Code Review 被 diss了!
      • LinkedHashMap
      • JavaSE基础:Collections工具类 - 掘金
      • 允许Key重复的Map - IdentityHashMap
      • Iterator和Enumeration比较
      • TreeSet详细介绍(源码解析)和使用示例
      • Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)
      • TreeMap源码解析(基于JDK1.6.0_45)
      • TreeMap详细介绍和使用示例
      • Hashtable详细介绍(源码解析)和使用示例
      • HashMap详细介绍(源码解析)和使用示例
      • Map架构
      • Java 集合系列07之 Stack详细介绍(源码解析)和使用示例 - 如果天空不死 - 博客园
      • Vector详细介绍(源码解析)和使用示例
      • LinkedList详细介绍(源码解析)和使用示例
      • WeakHashMap详细介绍(源码解析)和使用示例
      • System.arraycopy()和Arrays.copyOf()方法区别
      • ArrayList核心源码分析-扩容机制(jdk1.8)
      • HashMap 源码详细分析(JDK1.8)
      • Java 集合系列02之 Collection架构 - 如果天空不死 - 博客园
      • Java 集合系列08之 List总结(LinkedList, ArrayList等使用场景和性能分析)
      • HashSet
      • Set集合
    • Java8新特性[目录]
      • idea调试java8 stream流的小技巧
      • Lambda[目录]
        • Lambda概念
          • 方法引用与构造器引用
          • Lambda 表达式需要“函数式接口”的支持
          • Lambda语法
      • 并行流
      • 函数式接口
        • 四大核心接口
        • @FunctionalInterface
      • Optional类
        • Optional 是个好东西,你真的会用么?
        • 用Optional取代null
        • Java8的Optional是不是鸡肋?
      • 流操作
        • 待整理
          • 使用Stream API优化代码 - 掘金
          • Java8 Stream:2万字20个实例,玩转集合的筛选、归约、分组、聚合_云深不知处-CSDN博客_java stream 聚合
        • Java 8 map 和 flatMap 的区别
        • Stream其它总结
          • Stream其它
        • 用流收集数据
        • 使用流
          • groupingBy && toMap
          • findFirst 匹配第一个满足值就返回
          • limit限制输出值个数
          • peek做没有返回值的事情
          • 排序Sorted
          • Java8的stream处理List集合的相同部分(交集)
          • 构建生成流
          • 数值流
            • mapToLong
          • 一些案例
          • 流操作:无状态和有状态
          • 统计count
          • reduce 循环里面叠加计算值
          • 查找和匹配
          • 映射
            • Java 8 map 和 flatMap 的区别
          • 筛选切片
          • 外部迭代与内部迭代
        • 流操作概述
        • stream流操作总结
        • 流是什么?
      • [老的待整理]
        • 接口
    • java时间日期类[笔记]
      • Date
      • Calendar
      • 总览
      • YYYY-MM-DD的黑锅
      • LocalDate
      • LocalDateTime
      • LocalTime
      • Hutool
      • Clock
      • ZoneId
      • ZonedDateTime
      • TemporalAdjusters
      • DateTimeFormatter
      • SimpleDateFormat
    • Java工具类收集
    • 注解
    • 反射
    • 泛型
    • []异常
      • 如果自定义异常抛不出去(被源码里面的上层捕获了)
      • 异常
    • CAS单点登录[笔记]
    • Lombok[笔记]
    • Jmeter[笔记]
    • 基础知识总结[待整理]
    • 代码重构[笔记]
    • 代码规范[笔记]
    • 读书[笔记]
    • 加密[笔记]
    • XML技术[笔记]
    • uml类图[笔记]
    • Swagger[笔记]
    • Web[笔记]
    • Swing[笔记]
    • JSP-EL表达式[笔记]
    • HttpClient[笔记]
    • []java基础
      • String类[目录]
        • java String类API整理
        • String初始化存放地点解析
        • String原生API
        • String类
          • Java String进行hashCode的时候可能会出现负数
          • String 底层原理,StringBuilder 和 StringBuffer 的区别?
          • StringJoiner
            • Java 8中字符串拼接新姿势:StringJoiner
          • StringBuffer类
          • StringBuilder
      • BigDecimal[大目录]
        • BigDecimal自定义工具类
        • 经验:BigDecimal 精确计算的这个坑你中招了吗?
        • 为什么阿里巴巴禁止使用BigDecimal的equals方法做等值比较?
        • BigDecimal进行除以的时候需要设置舍弃多少位 Non-terminating decimal expansion; no exact representable decimal result.
        • 使用
          • BigDecimal 详解
          • 判断Bigdecimal类型是否等于0的方法
        • 其它杂七杂八
      • Java程序员必会的工具库
      • 其它
      • Java进制
      • 编码
      • 枚举
      • 正则表达式
      • System类
      • Runtime类
      • Math类
      • Random随机数
      • ApacheUtils
      • 泛型
        • 泛型的 T,E,? 和空的区别
      • 数组
      • 流程控制语句
      • 嵌套类(内部类)
      • Comparator和Comparable
      • Object
        • 浅拷贝和深拷贝
      • java语言基础
      • BigInteger
      • Integer
      • 引用数据类型
      • 基本数据类型
      • 值类型和引用类型
      • VO、DTO、DO、PO
      • Main方法
      • 接口
      • 抽象
      • 修饰符
      • 多态概念
      • 继承
      • 封装
      • 类的概念
      • Java语言概述
    • SPI思想
    • Gradle[笔记]
    • 设计模式
      • 行为型模式
      • 结构型模式
      • 创建型模式
      • 面向对象设计原则
      • 设计模式简介
    • 其它
      • 一个 Java 对象到底有多大?
      • 如果压测的时候发现系统的tps不达标,此时应该如何优化系统
      • Java OOM 内存溢出分析
    暂无相关搜索结果!

      让时间为你证明

      展开/收起文章目录

      分享,让知识传承更久远

      文章二维码

      手机扫一扫,轻松掌上读

      文档下载

      请下载您需要的格式的文档,随时随地,享受汲取知识的乐趣!
      PDF文档 EPUB文档 MOBI文档

      书签列表

        阅读记录

        阅读进度: 0.00% ( 0/0 ) 重置阅读进度

          思维导图备注