目录
技术类笔记
JVM
JVM 汇总总结
类加载机制
内存区域
垃圾回收简介
分代模型及对象分配流转
垃圾回收算法
回收器简介及Stop the World问题
ParNew + CMS垃圾回收器
内存溢出 OOM
各种 GC 名词简介总结
垃圾回收器对比选择
G1垃圾回收器
G1 Region 分区详解
G1 新生代分区大小及自动扩展
G1 停顿预测模型
G1 对象分配原理
G1 TLAB 机制原理
G1 对象分配流程
G1 设计的核心机制
G1 RSet记忆集 Remember Set
G1 位图(bitmap)与卡表(cardTable)
设计模式
创建型模式
工厂模式
抽象工厂模式
单例模式
构造器模式
原型模式
结构型模式
适配器模式
外观模式
代理模式
组合模式
享元模式
装饰器模式
桥接模式
行为型模式
迭代器模式
模板方法模式
中介者模式
观察者模式
命令模式
策略模式
状态模式
备忘录模式
责任链模式
访问者模式
解释器模式
常见面试题
JVM
Java并发
Java集合类
Java基础
Java 和 C++ 主要区别及优缺点
非技术类笔记
读书听书
心灵
个人成长
《非暴力沟通》
亲子家庭
《正面管教》
人文历史
商业财经
社科新知
健康生活
AI绘画生成图片
Midjourney
前置指令/imagine
提示词写作基础
前置指令/settings
重要前置指令
后置指令
光影控制
景别详解
视角
构图
色彩主题
风格
大师赋能
人像摄影
AI壁纸
Logo设计
产品摄影
Stable Diffusion 基础
安装要求与本地安装方法
大模型与应用场景详解
C站的使用,VAE与clip跳过层
提示词
便捷功能栏与小模型入门
文生图参数
小模型
常用脚本
图生图
涂鸦重绘、局部重绘、上传重绘蒙版 与 后期处理等
Stable Diffusion 大师
ControlNet基本参数
ControlNet线稿
ControlNet深度约束与法线约束
ControlNet姿势约束
ControlNet色彩分布约束与内容约束
ControlNet tile分块
ControlNet 局部重绘
ControlNet 风格约束
Tiled diffusion 和 Tiled VAE插件
提示词的汉化、补充与反推
分割万物 inpaint anything插件
after detailer 细节修复插件
矢量图工作室插件
动态提示词插件
photopea插件
如何制作简易数字人
文生视频与图生视频
SDXL配套插件,脚本
AI视频工作流 - Deforum插件
常见样式 1
常见样式 2
本站搭建资料笔记
本书使用 GitBook 发布
ICP主体备案号:
京ICP备2024087271号
Java并发
1.
Java并发学习笔记
1.1.
简介
1.2.
常见面试题目
1. Java并发学习笔记
1.1. 简介
该学习笔记包含 Java 并发相关的知识。
1.2. 常见面试题目
什么是多线程中的上下文切换
谈谈对线程安全的理解
什么是并发,什么是并行
线程有几种状态,状态之间是怎么流转的
什么是守护线程,和普通线程有什么区别
JDK21 中的虚拟线程是怎么回事
创建线程有几种方式
run/start、wait/sleep、notify/notifyAll 区别
什么是线程池,如何实现的
线程数设置成多少更合适
什么是 ThreadLocal,如何实现的
线程同步的方式有哪些
什么是死锁如何解决
什么是 Java 内存模型(JMM)
synchronized 是怎么实现的
synchronized 锁的是什么
synchronized 是如何保证原子性、可见性、有序性的
synchronized 的锁升级过程是怎么样的
synchronized 的重量级锁很慢,为什么还需要重量级锁
synchronized 的锁优化是怎样的
volatile 能保证原子性吗?为什么?
int a=1 是原子性操作吗
volatile 是如何保证可见性和有序性的
有了 synchronized 为什么还需要 volatile
如何理解 AQS
什么是 CAS,存在什么问题
CAS 一定有自旋吗
什么是 Unsafe
CAS 在操作系统层面是如何保证原子性的
synchronized 和 ReentrantLock 区别
公平锁和非公平锁的区别
LongAdder 和 AtomicLong 的区别
CountDownLatch、CyclicBarrier 和 Semaphore 的区别
父子线程之间怎么共享/传递数据
有三个线程 T1、T2、T3 如何保证顺序执行?
如何对多线程进行编排
三个线程分别顺序打印 0-100
什么是总线嗅探和总线风暴,和 JMM 有什么关系
CompletableFuture 的底层是如何实现的
ForkJoinPool 和 ThreadPoolExecutor 的区别
有了 InheritableThreadLocal 为什么还需要 TransmittableThreadLocal
AQS 是如何实现线程的等待和唤醒的
如何保证多线程下 i++ 结果正确
Thread.sleep(0) 的作用是什么
有哪些实现线程安全的方案
为什么不建议通过 Executors 构建线程池
线程池的拒绝策略有哪些
线程是如何被调度的
为什么 JDK15 要废弃偏向锁
Java 是如何判断一个线程是否存活的
什么是可重入锁,怎么实现可重入锁
如何实现主线程捕获子线程异常
为什么不能在 try-catch 中捕获子线程的异常
Java 线程出现异常,进程为啥不会退出
什么是 happens-before 原则
happens-before 和 as-if-serial 有啥区别和联系
如何让 Java 的线程池顺序执行任务
ThreadLocal 的应用场景有哪些
ThreadLocal 为什么会内存泄露,如何解决
什么是内存屏障,怎么加的
有了 CAS 为啥还需要 volatile
AQS 的同步队列和条件队列原理
什么是 AQS 的独占模式和共享模式
AQS 为什么采用双向链表
有了 MESI 为啥还需要 JMM
为什么虚拟线程不能用 synchronized
为什么虚拟线程不要和线程池一起用
为什么虚拟线程尽量避免使用 ThreadLocal
synchronized 是非公平锁吗,如何体现的
synchronized 锁能降级吗
如何实现无锁化编程
如何在 Java 中实现高效的异步编程?如何避免回调地狱?
线程池中使用 ThreadLocal 会有哪些潜在风险
动态线程池的原理是什么
什么是伪共享,如何解决伪共享
results matching "
"
No results matching "
"