保护共享资源代码实现

笔记  JUC  Java 

// 包声明 - 将相关的类组织在一起package cn.meowrain;// 引入 AtomicInteger 类,用于支持线程安全的原子操作import java.util.concurrent.atomic.AtomicInteger;// 主类,用于演示不同账户实现的功能public c

线程安全单例

笔记  JUC  Java 

1package org.example.sigletons;import java.io.Serializable;public class Singleton1 implements Serializable { private Singleton1(){} private stat

happens-before 规则

JUC  Java 

📜 了解 JMM(Java 内存模型)中的 Happens-Before 规则 🌟在 Java 并发编程中,JMM(Java Memory Model)是非常重要的概念,它定义了线程如何与内存交互,以及如何确保线程之间的通信一致性。JMM 引入了 Happens-Before 规则 来约束操作之

JUC模式:Balking 模式

笔记  JUC  Java 

Balking 模式:当一个线程尝试执行某个操作时,它首先会检查一个条件(通常是某个状态或标志位),判断这个操作是否已经被其他线程完成,或者当前对象的状态是否不适合执行此操作。 如果操作已被完成或条件不满足: 线程会“犹豫”或“退避”,立即放弃执行该操作并返回,而不会等待条件改变或尝试重复执行。 如

两阶段终止

笔记  JUC  Java 

package org.example;import lombok.extern.slf4j.Slf4j;@Slf4jpublic class TwoStageStop { public static void main(String[] args) throws InterruptedExc

Java内存模型

笔记  JUC  Java 

可见性问题package org.example;import lombok.extern.slf4j.Slf4j;import java.util.concurrent.TimeUnit;import java.util.logging.Logger;//TIP To <b>Run&l

交替输出abc

笔记  JUC  Java 

package cn.meowrain;import lombok.extern.slf4j.Slf4j;@Slf4jpublic class WaitNotify { private int loopNumber; private int flag; public WaitNot

Tool.md


GitGit概述版本系统SVN 是集中式版本控制系统,版本库是集中放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑,所以首先要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到中央服务器。集中式版本控制工具缺点:服务器单点故障、容错性差Git 是分布式版本控制系统(

Java.md

笔记  Java 

SE基础数据变量类型 成员变量局部变量静态变量定义位置在类中,方法外方法中或者方法的形参在类中,方法外初始化值有默认初始化值无,赋值后才能使用有默认初始化值调用方法对象调用 对象调用,类名调用存储位置堆中栈中方法区(JDK8 以后移到堆中)生命周期与对象共存亡与方法共存亡与类共存亡别名实例变量 类变

Jenkins安装

笔记 

version: '3.8'services: jenkins: image: jenkins/jenkins:lts-jdk17 container_name: jenkins-lts ports: - "8080:8080"