初始JavaEE篇——多线程(3):可重入锁、死锁、内存可见性、volatile关键字

找往期文章包括但不限于本期文章中不懂的知识点: 目录 重复加锁——可重入锁 死锁 现象 原因、解决方法  内存可见性 volatile关键字 初始JavaEE篇——多线程(2):join的用法、线程安全问题-CSDN博客 上文我们学习了 多线程的线程安全问题以及解决方法。下面我们针对加锁操作来继续深入学习。 重复加锁——可重入锁 针对 count++ 操作不是原子性,我们将其进行了加锁的操作,让其可以在执行...

JavaEE】【多线程】定时器

目录 一、定时器简介1.1 Timer类1.2 使用案例 二、实现简易定时器2.1 MyTimerTask类2.2 实现schedule方法2.3 构造方法2.4 总代码2.5 测试 一、定时器简介 定时器:就相当于一个闹钟,当我们定的时间到了,那么就执行一些逻辑。 1.1 Timer类 Java的标准库中提供了在java.util包下的Timer类作为定时器。 有如下的构造方法: 四种: timer() ...

初始JavaEE篇——多线程(6):线程池

rrentThread().interrupt(); } executorService.shutdown(); // 这个代码就是线程池中还存在没有执行的任务 }} 运行结果: 好啦!本期  初始JavaEE篇——多线程(6):线程池 的学习之旅到此结束啦!我们下一期再一起学习吧!...

[JAVAEE] 面试题(一) - 锁策略, synchronized的详细介绍

目录 一. 锁策略 1.1 什么是锁策略 1.2 悲观锁 vs 乐观锁 (加锁时遇到的场景) 1.3 重量级锁 vs 轻量级锁 (遇到某一种场景后的解决方案) 1.4 挂起等待锁 vs 自旋锁 (解决方案的典型实现) 1.5 普通互斥锁 vs 读写锁 1.6 可重入锁 vs 不可重入锁 1.7 公平锁 vs 非公平锁 二. synchronized的详细介绍 2.1 锁升级 2.2 锁消除 2.3 锁粗化 三...

[JAVAEE] 面试题(三) - Callable接口, ReentrantLock类, Semaphore信号量, CountDownLatch类

目录 一. Callable接口 1.1 Callable接口介绍 1.2 Callable接口 与 Runnable接口 1.3 Callable接口的使用 二. ReentrantLock类 2.1 lock() unlock() trylock() 2.2 synchronized关键字 与 ReentrantLock类的区别 三.  Semaphore信号量 3.1 PV操作 3.2 二元信号量  四...

[JAVAEE] 面试题(二) - CAS 和 原子类

目录 一. CAS的实现原理 1.1 伪代码分析 1.2 底层实现  二. CAS 操作示例 三. ABA问题 四. 原子类 4.1 使用原子类的目的 4.2 原子类的使用示例 五. 总结 一. CAS的实现原理 CAS(compare and swap 比较和交换)是一种用于实现无锁并发的技术. 1.1 伪代码分析 1.2 底层实现  二. CAS 操作示例 假设有一个整数变量count, 初始值为0, 现...

[JAVAEE] 多线程的案例(三) - 线程池

目录 一. 什么是线程池 二. 线程池的作用  三. java提供的线程池类  四. ThreadPoolExecutor的构造方法及参数理解 1. int corePoolSize: 核心线程数. 2. int maximumPoolSize: 最大线程数 = 核心线程数 + 非核心线程数 3. int keepAliveTime:非核心线程允许空闲的最大时间. 4. BlockingQueue workQ...

ssm+vue的药店药品信息管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频: ssm+vue的药店药品信息管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring + SpringMvc+ Mybatis+Vue+Maven来实现。MySQL数据库作为系统数据储存平台,实现了基于B/S结构的Web系统。界面简洁,操作简单。 报告截图: ...

2023 年爆肝将近 20 万字讲解最新 JavaEE 全栈工程师基础教程(更新中)

1. Java 语言基本概述 Java 是一种广泛使用的编程语言,由 James Gosling 在 Sun Microsystems(现在是 Oracle Corporation 的一部分)于 1995 年发表。Java 是一种静态类型的、类基础的、并发性的、面向对象的编程语言。Java 广泛应用于企业级应用、Web 应用、移动应用(Android)、桌面应用、嵌入式系统和大数据等领域。 1.1 安装 J...

基于SSM的公司仓库管理系统(有报告)。Javaee项目

演示视频: 基于SSM的公司仓库管理系统(有报告)。Javaee项目 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring + SpringMvc + Mybatis +Jsp+Maven来实现。MySQL数据库作为系统数据储存平台,实现了基于B/S结构的Web系统。 报告截图: ...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.015973(s)
2024-11-07 09:29:19 1730942959