JAVA
文章平均质量分 87
java八股文、springboot、mybatis
byteinit
这个作者很懒,什么都没留下…
展开
-
JAVA中的AQS介绍
AQS是的缩写,翻译过来是抽象队列同步器。它是 Java 并发编程框架中的一个核心类,用于构建各种同步器,例如锁、信号量、条件变量等。使用一个队列来管理对共享资源的访问。当线程请求访问共享资源时,如果资源空闲,则将线程设置为有效的工作线程,并将资源标记为已占用。如果资源被占用,则将线程加入队列并阻塞,直到资源空闲并被唤醒。AQS 的主要功能包括:线程可以尝试获取锁,如果获取成功,则线程可以访问共享资源。线程释放锁后,其他线程可以尝试获取锁。线程可以等待某个条件满足,例如资源可用或某个事件发生。原创 2024-03-10 10:40:08 · 905 阅读 · 0 评论 -
Volatile是什么?
概述Volatile 是 Java 中一个非常有用的关键字,用于保证多线程环境下共享变量的可见性和一致性。可见性在多线程环境中,当一个线程修改了共享变量的值时,其他线程可能无法立即看到最新的值。这是因为每个线程都有自己的工作内存,其中包含对共享变量的副本。当一个线程修改共享变量时,只有该线程的工作内存中的副本才会被更新,而其他线程工作内存中的副本仍然是旧的值。Volatile 可以保证所有线程都能看到共享变量的最新值。当一个线程修改了共享变量的值时,JVM 会将该值刷新到主内存中。原创 2024-03-03 09:35:15 · 2089 阅读 · 0 评论 -
synchronized是什么?底层原理是什么?jdk1.7 和jdk1.8中的synchronized有什么区别?
java synchronized 介绍 使用 底层实现原创 2024-03-02 22:10:57 · 1134 阅读 · 0 评论 -
ThreadLocal是什么?
是 Java 中一个非常有用的类,它可以为每个线程提供一个独立的变量副本。这意味着每个线程都可以访问和修改自己的变量副本,而不会影响其他线程的变量副本。在多线程环境中传递数据避免线程安全问题简化代码ThreadLocal 内部使用了一个来存储每个线程的变量副本。ThreadLocalMap 是一个哈希表,它将线程 ID 作为键,将变量副本作为值。创建一个 ThreadLocal 变量将值设置到 ThreadLocal 变量中从 ThreadLocal 变量中获取值。原创 2024-03-02 21:53:02 · 410 阅读 · 0 评论 -
Spring Boot 应用如何优雅关闭
Spring Boot 应用如何优雅关闭,通过Spring Boot Actuator 优雅关闭的底层实现依赖于操作系统提供的多种机制,包括信号机制、线程管理机制、文件管理机制和内存管理机制原创 2024-03-01 22:39:26 · 1799 阅读 · 0 评论 -
分布式事务及解决方案
分布式事务是指涉及多个节点、服务或数据库的事务操作。在分布式系统中,由于涉及到网络通信、不同节点的数据库等因素,保证 ACID 属性变得更加复杂。分布式事务的目标是确保所有参与者都能够按照一致的方式执行事务,即使在面临网络故障、节点故障等问题时也能保持数据的一致性。为什么会有分布式事务?假设有一个在线购物系统,该系统涉及到多个服务和数据库,包括订单服务、支付服务和库存服务。用户下单时,系统需要确保订单的创建、支付的扣款和库存的减少都是一个原子操作,以保证数据的一致性。原创 2024-02-24 18:17:30 · 1970 阅读 · 0 评论 -
Linux的5种IO模型
非阻塞IO模型与阻塞IO模型类似,但应用程序线程不会被阻塞。在非阻塞IO模型中,当应用程序发起一个IO请求时,如果内核无法立即完成该请求,应用程序线程可以继续执行其他操作,直到内核完成该请求并通知应用程序。阻塞IO模型是最简单的IO模型,也是最常用的IO模型之一。在阻塞IO模型中,当应用程序发起一个IO请求时,如果内核无法立即完成该请求,应用程序线程会被阻塞,直到内核完成该请求。IO多路复用模型允许应用程序监视多个IO句柄,并在一个线程中处理多个IO事件。原创 2024-02-20 18:03:25 · 462 阅读 · 0 评论 -
Java日志的发展史
Java日志的发展史。原创 2024-02-20 17:49:37 · 937 阅读 · 0 评论 -
JAVA的几个垃圾回收器及对应的算法和算法的底层逻辑
基于色的标记-整理算法是一种垃圾回收算法,它使用颜色来标记对象,并通过整理内存空间来回收空闲空间。基于区域的垃圾回收算法是一种垃圾回收算法,它将堆划分为多个区域,并对每个区域进行单独的垃圾回收。并行标记-清除算法是一种垃圾回收算法,它通过并行标记和清除对象来回收内存空间。并行复制算法是一种垃圾回收算法,它通过并行复制对象来回收内存空间。串行复制算法是一种垃圾回收算法,它通过复制对象来回收内存空间。标记-清除算法和标记-整理算法可以结合使用,以提高垃圾回收的效率。原创 2024-02-20 13:58:31 · 1011 阅读 · 0 评论 -
Java 的发展史及新特性及代码示例
Java 发展史及新特性原创 2024-02-20 11:20:56 · 662 阅读 · 0 评论