BBBPADNotes
首页归档照片动态好物友链留言
分类标签地图我的世界关于
更多
分类标签地图我的世界关于
Search command
最近文章内容分类个人中心
输入后会实时展示匹配结果

阅读更多

关于归档站点地图
订阅

© 2026 BBPAD

Category Focus

学习笔记

文章

17

当前分类

页码

2/2

分页浏览

最新

2023-09-11

最近更新

这个页面只呈现同一主题下的连续文章,适合从一个方向系统阅读。

返回分类地图

Reading guide

专题导读

JavaEE线程安全问题

最新入口

JavaEE线程安全问题

本文通过两个示例程序,探讨了JavaEE中的线程安全问题。第一个示例展示了多线程购票程序中,由于线程不安全导致的问题。第二个示例则说明了线程可见性问题,即一个线程对共享变量的修改不能及时被其他线程看到。文章解释了线程安全的基本概念,包括原子性、可见性和有序性,并分析了线程不安全的原因。最后,文章提出了解决线程不安全问题的三种方法:使用synchronized关键字、lock手动锁和volatile关键字。详细解释了synchronized关键字的工作原理、互斥性、刷新内存和可重入性。同时,也介绍了volatile关键字的作用,即保证可见性和有序性,但不能保证原子性。通过这些方法,可以确保多线程环境下程序的正确执行。

Articles

文章列表

同一主题下的文章按发布时间排列。

JavaEE线程安全问题

JavaEE线程安全问题

2023-09-11·学习笔记·380 阅读

本文通过两个示例程序,探讨了JavaEE中的线程安全问题。第一个示例展示了多线程购票程序中,由于线程不安全导致的问题。第二个示例则说明了线程可见性问题,即一个线程对共享变量的修改不能及时被其他线程看到。文章解释了线程安全的基本概念,包括原子性、可见性和有序性,并分析了线程不安全的原因。最后,文章提出了解决线程不安全问题的三种方法:使用synchronized关键字、lock手动锁和volatile关键字。详细解释了synchronized关键字的工作原理、互斥性、刷新内存和可重入性。同时,也介绍了volatile关键字的作用,即保证可见性和有序性,但不能保证原子性。通过这些方法,可以确保多线程环境下程序的正确执行。

进程调度的基本过程

进程调度的基本过程

2023-08-17·学习笔记·371 阅读

进程是操作系统中正在运行的程序的抽象,是资源分配的基本单位。进程由描述和组织两部分组成,描述存储在进程控制块(PCB)中,包括进程ID、内存指针、文件描述符表等。组织上,操作系统通过双向链表管理就绪队列,实现进程调度。内存管理方面,虚拟地址空间允许进程使用虚拟地址,通过操作系统和硬件转换为物理地址,实现进程间隔离。进程调度的目标是实现并行和并发,提高系统效率。

Thread类的基本用法笔记

Thread类的基本用法笔记

2023-08-14·学习笔记·397 阅读

本文介绍了Java中Thread类的基本用法,包括线程创建、终止、等待、休眠和获取线程实例的方法。通过继承Thread类、实现Runnable接口、使用匿名内部类和lambda表达式创建线程。线程终止可以通过自定义标识符或interrupt()方法实现。线程等待使用join()方法,休眠使用sleep()方法。获取当前线程实例通过currentThread()方法。同时,文章还介绍了如何优雅地处理线程中断和InterruptedException异常。

浅谈线程状态及状态转换条件

浅谈线程状态及状态转换条件

2023-08-14·学习笔记·347 阅读

线程状态及其转换条件是多线程编程中的关键概念。线程从新建(NEW)状态开始,调用.start()后变为运行(RUNNABLE)状态。线程可能因等待锁、I/O操作或定时任务而进入阻塞(BLOCKED)、等待(WAITING)或计时等待(TIME_WAITING)状态。任务完成或异常发生后,线程进入终止(TERMINATED)状态。状态转换涉及锁竞争、条件等待、时间等待和线程通知等操作。了解这些状态和转换有助于优化多线程程序的性能和稳定性。

探讨Runnable与Thread的区别

探讨Runnable与Thread的区别

2023-08-12·学习笔记·1 评论·397 阅读

在Java并发编程中,`Runnable`接口和`Thread`类是实现多线程的两种方式。`Runnable`通过实现接口并重写`run()`方法来定义任务,而`Thread`类则通过继承并重写`run()`方法。`Runnable`允许任务逻辑与线程控制分离,提高解耦合,而`Thread`则将任务与线程控制紧密耦合。选择使用哪种方式取决于项目需求,`Runnable`适合需要高解耦合的场景,而`Thread`适合简洁创建线程。

进程和线程的区别

进程和线程的区别

2023-08-12·学习笔记·387 阅读

进程和线程是操作系统中的基本概念,它们在资源分配、执行、稳定性等方面存在显著差异。进程是资源分配的基本单位,拥有独立的内存空间,而线程是程序执行的最小单位,共享进程资源。进程间通信复杂,线程间通信简单。进程稳定性高,线程崩溃可能影响同一进程。进程和线程都支持并发执行,但线程在多核处理器上能更高效利用资源。线程创建和销毁开销小,适合频繁任务切换。

二分查找为什么不能使用(left+right)/2?

二分查找为什么不能使用(left+right)/2?

2023-07-25·学习笔记·451 阅读

二分查找中,使用(left+right)/2计算中间值可能导致整数溢出,当left和right都很大时,其和可能超出int范围。应改用left + (right - left)/2来避免溢出问题。

12