- 博客(5)
- 收藏
- 关注
原创 volatile详解
在多线程环境下,为了提高性能,每个线程可能会在自己的工作内存中保持主内存的副本。如果一个变量不是用 volatile 声明的,那么可能一个线程在更新这个变量的值时,其它线程看到的还是旧值,因为更新后的值还没有被写回主内存,或者其它线程的工作内存中的副本还没有被更新。当一个变量被声明为 volatile 后,对这个变量的写操作会立即同步到主内存中,对这个变量的读操作会从主内存中读取,这就保证了变量在所有线程中的内存可见性。
2024-04-02 21:26:32
308
原创 Synchronized详解
是一个关键字,用于在多线程环境下实现同步,以控制对共享资源的并发访问。它可以保证在同一时刻,只有一个线程可以执行某个方法或代码块。
2024-04-02 21:25:39
561
原创 ThreadLocal源码解析
三个主要方法:get set remove讲三个方法前,现需要知道Thread,ThreadLocal,ThreadLocalMap三个之间的关系,首先ThreadLocalMap虽然是ThreadLocal中定义的静态内部类,但实际的 ThreadLocalMap 实例是作为 Thread 对象的一个字段存在的。这样设计的目的是允许每个线程存储自己独有的线程局部变量,而这些变量通过各自的 ThreadLocal 对象来访问。
2024-04-02 21:18:12
2050
原创 ThreadLocal - 理解与使用(一)
ThreadLocal 在 Java 中是一个非常有用的工具,用于在多线程环境中保持变量的局部性。简单来说,ThreadLocal 创建的变量,可以让每个使用该变量的线程都拥有该变量的独立副本,从而避免了线程之间的变量共享所带来的问题。
2024-03-23 10:57:33
1127
1
原创 springboot+mybatis连接oracle数据库详解
springboot+mybatis连接oracle数据库详解1.前言2.oracle数据库准备3.步骤详解项目结构pom.xmlapplication.properties准备Mapper文件TestMapper.javaTestMapper.xml准备Service和implTestService.javaTestServiceImpl.javaController在Application文件...
2019-08-16 21:43:05
6990
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人