搜索文章
首页
智能助手
归档
瞬间
首页
智能助手
归档
瞬间
青云
记录、分享
全部
杂文 (3)
Java (344)
Python (3)
数据库 (76)
Linux (14)
Docker (3)
数据结构 (39)
大数据 (22)
人工智能 (19)
MQTT (3)
说下CAS的原理
CAS(Compare And Swap)是一种乐观的并发控制机制,它的核心原理是基于硬件层面的原子性保证。CAS操作包含三个操作数——内存位置(V)、预期原值(A)和新值(B)。它的工作原理是: 在将新值写入内存之前,CAS操作会先比较内存位置的值是否与预期原值相匹配。 如果内存位置的值与预期原值
作者:zhanxuewei
发布时间:2024-04-22
分类:
Java
标签:
#
java
如何停止一个正在运行的线程
要停止一个正在运行的线程,通常有几种方法,但需要根据具体情况选择适当的方式,因为线程的停止涉及到线程安全和资源释放等问题。以下是一些常用的停止线程的方法: 使用标志位: 在线程的执行体中使用一个标志位,当该标志位为true时,线程会自行退出执行。这是一种比较安全和可控的方式。例如: public c
作者:zhanxuewei
发布时间:2024-04-22
分类:
Java
标签:
#
java
说说你对JMM内存模型的理解
Java内存模型(JMM)是一种抽象的概念,用于描述在Java程序中,一组线程如何通过共享内存进行交互。JMM并不真实存在,它是一种规范,规定了程序中变量在内存中的访问方式。 在JMM中,内存主要划分为两种类型:主内存和工作内存。主内存存储了所有的对象实例和静态变量,而工作内存存储了每个线程的局部变
作者:zhanxuewei
发布时间:2024-04-22
分类:
Java
标签:
#
java
说下对AQS的理解
AQS(AbstractQueuedSynchronizer)是Java并发编程中的一个重要组件,它是一个抽象类,提供了线程同步的底层实现机制。AQS的作用是实现线程的同步和互斥操作,它提供了两种主要的锁机制,分别是排他锁和共享锁。 排他锁也称为独占锁,在多个线程竞争同一共享资源时,同一时刻只允许一
作者:zhanxuewei
发布时间:2024-04-22
分类:
Java
标签:
#
java
什么是不可变对象,对写并发有什么帮助
不可变对象(Immutable object)是一种一旦创建后其状态就不能被修改的对象。在Java中,不可变对象包括String、基本类型的包装类(如Integer、Double等)等。 不可变对象对写并发有如下帮助: 线程安全:不可变对象是线程安全的,因为它们不会被其他线程修改。因此,多个线程可以
作者:zhanxuewei
发布时间:2024-04-22
分类:
Java
标签:
#
java
什么是可重入锁
可重入锁可以简单理解为一个可以重复获取的锁,就像拿钥匙开锁一样,你可以反复用同一把钥匙开锁。这种锁在同一线程内是安全的,因为它可以被同一线程多次获取,而不会产生不一致的状态。 举个例子,假设有一个线程A在执行一个方法,同时这个方法内部又调用另一个方法,那么线程A可以重复获取同一个锁,而不会出现死锁的
作者:zhanxuewei
发布时间:2024-04-22
分类:
Java
标签:
#
java
如何确保线程安全
确保线程安全可以通过多种方法和技术来实现。以下是一些常用的方法: 使用synchronized关键字:synchronized关键字可以确保同一时刻只有一个线程可以执行某个代码块,从而避免了多个线程同时访问和修改共享资源的问题。 使用Atomic类:Java提供了多个原子类,如AtomicInteg
作者:zhanxuewei
发布时间:2024-04-22
分类:
Java
标签:
#
java
锁的优化机制了解吗
是的,锁的优化机制是Java等编程语言中常见的一种提高并发性能的方法。锁的优化旨在减少锁的竞争,从而提高程序的性能。以下是一些常见的锁优化机制: 偏向锁(Biased Locking):偏向锁是一种针对无竞争情况的锁优化机制。它通过消除无谓的获取锁和释放锁的操作,提高了程序的性能。偏向锁会记录哪个线
作者:zhanxuewei
发布时间:2024-04-22
分类:
Java
标签:
#
java
有三个线程T1,T2,T3,如何保证顺序执行
确保三个线程 T1、T2、T3 按照指定顺序执行有多种方式。以下是其中一些常见的方式: 使用 join() 方法: 可以在每个线程内部使用 join() 方法来等待前一个线程执行完成。具体操作是在线程 T2 的 run() 方法中调用 T1.join(),在线程 T3 的 run() 方法中调用 T
作者:zhanxuewei
发布时间:2024-04-22
分类:
Java
标签:
#
java
为什么 wait 和 notify 方法要在同步块中调用
当使用 wait() 和 notify() 方法时,需要将它们放在同步块内,这是因为: 互斥性: 多线程环境下,我们希望在同一时刻只有一个线程能够执行 wait()、notify() 或 notifyAll() 方法。使用同步块(synchronized)提供了这种互斥性,避免多线程并发修改的问题。
作者:zhanxuewei
发布时间:2024-04-22
分类:
Java
标签:
#
java
共 517 篇文章
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
页
# ollama
(1)
# spring ai alibaba
(3)
# selenuim
(1)
# WinSW
(1)
# Drools
(1)
# MQTT
(3)
# 消息中间件
(33)
# langchain4j
(10)
# spring-AI
(0)
# Jasypt
(1)
# superset
(1)
# deepseek
(5)
# 面试题
(20)
# Python爬虫
(1)
# leetcode
(11)
# epoll
(1)
# jenkins
(2)
# rocketmq
(15)
# Python基础
(1)
# ShardingSphere
(0)
# 分库分表
(0)
# GPT
(1)
# 架构
(6)
# minio
(1)
# k8s
(0)
# dubbo
(8)
# nginx
(0)
# elasticsearch
(12)
# springcloud
(24)
# 数据结构和算法
(28)
# 设计模式
(7)
# jvm
(24)
# spring
(28)
# mybatis
(22)
# redis
(18)
# mysql
(60)
# springboot
(11)
# seata
(1)
# linux
(4)
# itext
(1)
# datax
(1)
# flume
(2)
# kafka
(5)
# hbase
(2)
# zookeeper
(17)
# spark
(5)
# hive
(4)
# docker
(3)
# hadoop
(2)
# 杂文
(3)
# java
(235)
友情链接
青云博客
网笙久久的博客