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

Java.md

笔记  Java 

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

Jenkins安装

笔记 

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

CI持续集成介绍

笔记 

持续集成(Continuous Integration,简称CI)是一种软件开发实践,指的是开发人员频繁地(通常每天多次)将代码更改集成到中央共享代码仓库中。每次集成都会自动触发构建和测试过程,以便尽早发现和解决集成错误。以下是持续集成的主要步骤:开发者提交代码 (Developer Commits

linux安装maven


mkdir -p ~/software/mavencd ~/software/mavenwget https://dlcdn.apache.org/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.zipunzip apache-maven-3.

archlinux选择指定java版本


➜ gitlab archlinux-javaarchlinux-java <COMMAND>COMMAND: status List installed Java environments and enabled one get

Docker搭建gitlab


Docker搭建gitlabversion: '3.8' # 建议使用更新的 Docker Compose 版本services: gitlab: image: 'gitlab/gitlab-ce:latest' container_name: gitl