摘要: Spring的核心思想 IOC 1、BeanFactory 示例 public static void main(String[] args) { //bean工厂 DefaultListableBeanFactory beanFactory =new DefaultListableBeanFact 阅读全文
posted @ 2026-03-05 09:16 dvdhellohaha 阅读(15) 评论(0) 推荐(0)
摘要: # 阅读全文
posted @ 2026-03-03 17:35 dvdhellohaha 阅读(12) 评论(0) 推荐(0)
摘要: Buffer Buffer结构 像数组,有以下重要的属性 capacity,容量 position,读写指针,标记读到哪或者写到哪 limit,读取、写入的长度的限制,即能读取多少字节,能写入多少字节。 一开始创建数组为空 刚开始是写模式 想要读取时,切换到读模式(flip),注意指针的变化 每调用 阅读全文
posted @ 2026-02-16 18:11 dvdhellohaha 阅读(13) 评论(0) 推荐(0)
摘要: Java基础 短路逻辑 java里的 &&和||,是短路的。 短路与 (&&)‌:当左侧操作数的计算结果为 false 时,整个表达式的结果必定为 false,此时右侧的操作数(可能是一个包含方法调用、自增运算等的表达式)将‌不会被执行‌[3][5][8][13]。 短路或 (||)‌:当左侧操作数 阅读全文
posted @ 2026-02-13 13:15 dvdhellohaha 阅读(17) 评论(0) 推荐(0)
摘要: AQS AQS:AbstractQueuedSynchronizer,是阻塞式锁和相关的同步器工具的框架,许多同步类实现都依赖于该同步器 自定义锁 //自定义锁(不可重入) class Mylock implements Lock{ //同步器,锁的大部分功能由下面的抽象同步器实现提供 class 阅读全文
posted @ 2026-02-12 11:47 dvdhellohaha 阅读(10) 评论(0) 推荐(0)
摘要: 线程池 自定义线程池 1.降低资源消耗‌:通过复用已创建的线程,避免频繁地创建和销毁线程所带来的开销。线程的创建与销毁涉及操作系统层面的操作,如分配栈空间、初始化上下文等,这些操作在高并发场景下会显著消耗系统资源。 ‌2.提高响应速度‌:当任务到达时,可以直接从线程池中获取一个空闲线程来执行任务,而 阅读全文
posted @ 2026-02-10 16:36 dvdhellohaha 阅读(15) 评论(0) 推荐(0)
摘要: 不可变 日期类的转换问题 加锁解决 日期转换的线程安全类 不可变类举例 - String类 享元模式 BigDecimal也是使用了保护性拷贝 不可变类的线程安全问题分析 写个简单的连接池,体会享元模式 public class Test3 { public static void main(Str 阅读全文
posted @ 2026-02-06 17:46 dvdhellohaha 阅读(10) 评论(0) 推荐(0)
摘要: 无锁(乐观锁) 介绍,无锁,即乐观锁,是非阻塞的 CAS 先看一段代码,采用加锁的方式保证并发的安全 package org.example.xiancheng.study11; import java.util.ArrayList; import java.util.List; public cl 阅读全文
posted @ 2026-02-06 13:47 dvdhellohaha 阅读(13) 评论(0) 推荐(0)
摘要: JAVA内存模型 主存:所有线程共享的数据,如静态变量、成员变量。 工作内存:线程私有的数据,如局部变量。 可见性 线程不会停下来 原因 解决办法 - volatile (易变) 示例 也可以用synchronized方式 @Slf4j(topic = "c.test33") public clas 阅读全文
posted @ 2026-02-05 21:33 dvdhellohaha 阅读(7) 评论(0) 推荐(0)
摘要: Java并发编程 线程运行的原理 idea示例: 在idea里查看多线程的运行 断点处要选Thread 然后,可选择其中的线程查看 线程常见的方法 sleep方法 即放弃CPU时间片的使用 start方法只能调一次,否则会出错。 3.睡眠结束后的线程未必会立刻执行,如果此时有其他线程在运行,那么就不 阅读全文
posted @ 2026-01-29 11:09 dvdhellohaha 阅读(31) 评论(0) 推荐(0)