JAVAEE
文章平均质量分 97
JavaEE的学习
小谢在努力
一个小菜鸡,有去团团的大梦想
展开
-
【JAVAEE学习】探究Java中多线程的使用和重点及考点
线程(Thread)是程序中执行的最小单元,是操作系统能线程是计算机科学中的基本概念,指的是在同一进程中执行的单一执行流。线程是操作系统能够进行运算调度的最小单位。在多线程编程中,多个线程可以同时执行,共享进程的资源,但每个线程有自己的执行流程和栈空间。线程的引入可以提高程序的并发性和响应性,允许程序在同一时间处理多个任务。在计算机系统中,线程是由操作系统调度和管理的,可以实现不同线程之间的切换和协同工作。原创 2024-03-29 13:57:29 · 3729 阅读 · 142 评论 -
【JDBC编程】基于MySql的Java应用程序中访问数据库与交互数据的技术
ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ ა本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如需转载还请通知˶⍤⃝˶。原创 2024-03-25 15:48:24 · 2157 阅读 · 81 评论 -
【Java EE】 文件IO的使用以及流操作
IO就是 Input(输入), Output(输出),至于如何判断一个操作是否为输入还是输出,可以以下图的标准作为参考我们以CPU 作为基准,进入CPU方向的操作就是Input(输入),从CPU方向出去就是Output(输出).文件是一个很广义的概念,在操作系统中把软件资源/ 硬件资源都给抽象为 文件 ,特别是在Linux中一切皆为文件.在此处我们所提的文件,特指的就是。原创 2024-04-26 14:48:04 · 1292 阅读 · 2 评论 -
【Java EE】CAS原理和实现以及JUC中常见的类的使用
在Java中,CAS代表“”,即比较并交换。这是一种用于实现多线程中无锁编程的原子操作。内存地址V旧的预期值A要更新的新值B。只有当内存地址V的当前值与预期值A相等时,才将内存地址V的值更新为B。如果不相等,则不进行任何操作。CAS操作通常用于实现线程安全的计数器、栈等数据结构,以及在并发编程中实现同步机制,如锁。CAS操作可以避免使用传统的锁机制,从而减少线程间的上下文切换,提高程序的执行效率。CAS和锁各有优势和局限性。原创 2024-04-26 14:47:41 · 1065 阅读 · 2 评论 -
【Java EE】总结12种锁策略以及synchronized的实现原理
总结来说,选择悲观锁还是乐观锁取决于具体的业务场景和并发程度,悲观锁适用于冲突概率较高、对数据一致性要求严格的场景,而乐观锁适用于冲突较少、追求高并发性能的场景。在Java中,这两种锁策略的表现形式并不是直接作为API提供,而是JVM在实现锁机制时采取的策略,例如在自旋锁策略失效后,JVM会升级锁为重量级锁,这时线程就会进入挂起等待状态。在现代Java虚拟机中,锁机制往往是复合的,包括偏向锁、轻量级锁、重量级锁等不同层次的设计,其中轻量级锁在一定程度上借鉴了自旋锁的思想。原创 2024-04-23 12:23:04 · 2527 阅读 · 141 评论 -
【多线程学习】深入探究定时器的重点和应用场景
在Java中定时器通常指的是一种能够按照预定的时间间隔执行任务的机制,简单来说,定时器就相当于一个"闹钟",指定一个(Runnable) 任务,以及指定一个时间,该任务因为定时器的缘故在线程中并不会立马就执行,而是到达某个指定的时间后,才执行2.定时器的应用场景Java中的定时器(Timer定时任务执行定期清理缓存:应用程序可以设置定时器来定时清理不再需要的缓存数据,避免内存占用过高。数据备份:数据库系统可以使用定时器在每天的固定时间执行数据备份操作。原创 2024-04-21 16:36:37 · 903 阅读 · 4 评论 -
【多线程学习】深入探究阻塞队列与生产者消费者模型和线程池常见面试题
阻塞队列(BlockingQueue)是一种特殊的队列,在Java等编程语言中广泛应用于多线程同步与通信,它是一个线程安全的数据结构,主要用于在多线程环境下存储和传递数据。阻塞队列的关键特性在于,当队列处于特定状态时,对队列的插入(生产)或删除(消费)操作能够自动让线程进入等待状态。当队列为空时,执行从队列中获取元素(如调用take()方法)的线程会被阻塞,直到其他线程向队列中放入元素使其变为非空。当队列已满时,尝试向队列中添加元素(如调用put()原创 2024-04-19 14:00:53 · 2132 阅读 · 91 评论 -
【设计模式学习】单例模式和工厂模式
设计模式是在软件设计中反复出现的问题和解决方案的经验总结。它是对软件设计中常见问题的通用解决方案,可以帮助设计人员更高效地解决问题,并提高软件设计的质量和可维护性。设计模式提供了一种在特定情况下的解决方案,它们可以被反复使用,并且是经过验证的最佳实践。设计模式可以帮助开发人员更好地理解软件设计中的问题,并为他们提供一种标准的方法来解决这些问题。通俗易懂的一点来说:就是提高你的下限。原创 2024-04-14 15:04:52 · 2526 阅读 · 129 评论 -
线程安全--深入探究线程等待机制和死锁问题
线程等待机制是多线程编程中用于同步线程执行流程的一种技术,它允许一个线程暂停执行(即进入等待状态),直到满足特定条件或其他线程发送一个通知信号为止。1.wait()方法wait()是类的一个方法,当在一个对象上调用wait()时,当前线程必须首先获得该对象的监视器(即锁)。调用后,线程会释放对象的锁,并进入等待状态,直到被其他线程通过调用notify()或方法唤醒。2.notify()和方法notify()唤醒在此对象监视器上等待的一个单个线程。唤醒在此对象监视器上等待的所有线程。原创 2024-04-07 14:16:11 · 2430 阅读 · 130 评论 -
多线程--深入探究多线程的重点,难点以及常考点线程安全问题
在多线程环境中,当多个线程同时尝试访问和修改同一份数据时,如果没有妥善的协调机制,将会引发竞态条件(Race Condition)、数据不一致等问题。锁就是用来解决这类问题的一种工具。在最简单的形式下,锁是一种二元状态标志,表示资源是否可用。当一个线程获得了锁,它可以访问受保护的资源;其他尝试获取同一把锁的线程则会被阻塞(挂起),直到该锁被释放为止。这样,锁就确保了在任何给定时间内,只有一个线程能够访问临界区(Critical Section)内的资源。原创 2024-04-04 13:42:36 · 2468 阅读 · 114 评论 -
【计算机操作系统】深入探究CPU,PCB和进程工作原理
进程是计算机操作系统中一个非常核心的概念,它是系统进行资源分配和独立运行的基本单位。进程是正在运行的程序的实例.是计算机硬件系统的核心部件,负责执行指令、处理数据和控制计算机系统的运行。CPU执行指令流,对数据进行算术逻辑运算,并根据操作系统提供的指令控制整个系统的运作。进程(Process)是计算机操作系统中运行的程序的实例,它包含了程序代码、数据、堆栈以及进程控制块(PCB)。进程是一个动态的概念,代表着程序在执行过程中的实体,是系统资源分配和调度的基本单位。原创 2024-03-27 13:36:46 · 1609 阅读 · 126 评论