JUC笔记(来自互联网)

笔记  JUC  Java 

JUC进程概述进程:程序是静止的,进程实体的运行过程就是进程,是系统进行资源分配的基本单位进程的特征:并发性、异步性、动态性、独立性、结构性线程:线程是属于进程的,是一个基本的 CPU 执行单元,是程序执行流的最小单元。线程是进程中的一个实体,是系统独立调度的基本单位,线程本身不拥有系统资源,只拥有

常见线程安全类

笔记  JUC  Java 

多个组合不是原子的验证:

变量的线程安全分析

笔记  JUC  Java 

package cn.meowrain;import java.util.ArrayList;import java.util.List;import java.util.Vector;import java.util.concurrent.CountDownLatch;import java.ut

Java synchronized

笔记  JUC  Java 

语法无锁情况package cn.meowrain;public class Main { static int count = 0; static Object lock = new Object(); public static void main(String[] args)

Java 线程的6种状态

笔记  JUC  Java 

Java 线程的6种状态:NEW:线程已创建但未启动。RUNNABLE:线程可运行,但不一定正在运行。BLOCKED:线程等待锁资源。WAITING:线程等待其他线程的通知。TIMED_WAITING:线程等待,但有时间限制。TERMINATED:线程结束,无法重新启动。 public enum

守护线程

笔记  JUC  Java 

默认情况下,Java进程需要等待所有线程都运行结束才会结束,有一种特殊的线程叫做守护线程,只要其他非守护线程运行结束了,即使守护线程的代码没有执行完,也会强制结束package cn.meowrain;import lombok.extern.slf4j.Slf4j;import java.util

Thread.interrupt

笔记  JUC  Java 

打断正常运行的线程package cn.meowrain;import lombok.extern.slf4j.Slf4j;@Slf4jpublic class Main { public static void main(String[] args) { Thread t1 =

Thread.sleep

笔记  JUC  Java 

介绍调用sleep会让当前线程从Running进入Timed Waiting状态其他线程可以用interrupt方法打断正在睡眠的线程,这时候sleep方法会输出InterruptedException睡眠结束后的线程未必会得到执行建议用TimeUnit的sleep代替Thread的sleep获得更

什么是 Java 栈帧结构?🔄🥞

笔记  JUC  Java 

什么是 Java 栈帧结构?🔄🥞在 Java 中,栈帧(Stack Frame) 是 JVM 执行方法时所创建的一个 运行时数据结构。它包含了方法执行期间需要的数据,比如:局部变量、动态链接信息、操作数栈、方法返回信息。栈帧是位于 JVM 栈(Java Virtual Machine Stack

操作系统和 Java 环境查看和杀死进程的工具总结 🔍💻

笔记  JUC  Java 

操作系统和 Java 环境查看和杀死进程的工具总结 🔍💻Windows任务管理器:查看所有进程、线程数及资源使用情况。支持通过图形界面结束进程。tasklist:查看当前系统正在运行的所有进程。示例:tasklisttasklist | findstr java # 查看名称包含 "