Java 内存模型来屏蔽掉各种硬件和操作系统的内存差异,达到跨平台的内存访问效果。JLS(Java语言规范)定义了一个统一的内存管理模型JMM(Java Memory Model) Java内存模型规定了所有的变量都存储在主内存中,此处的主内存仅仅是虚拟机内存的一部分,而虚拟机内存也仅仅是计算机物理 ...
分类:
编程语言 时间:
2017-11-16 19:46:42
阅读次数:
229
1、ThreadLocal 在写Spring对事务的支持之前要先了解一下ThreadLocal,当多个线程访问同一个成员变量时,如果这个变量不做处理,那肯定会造成线程不安全的问题啊。使用ThreadLocal就可以解决这个问题,ThreadLocal为每一个线程创建变量的一个副本,这样线程操作的其实 ...
分类:
编程语言 时间:
2017-11-13 18:17:25
阅读次数:
193
1.对Thread local 理解 ThreadLocal 是为了解决线程间同步而创建的一个新的思路。简单来说就是每个线程都保存一个变量副本。 如果在Thread 内部定义一个field变量,也可以解决这个问题。 这样就需要定义一个新的Thread类,来解决这个问题。每一次一个新的变量都需要这个c ...
分类:
其他好文 时间:
2017-11-12 15:32:35
阅读次数:
113
① ThreadLocal类: ② ThreadLocal类的作用: ThreadLocal类为每一个线程都维护了自己独有的变量拷贝。每个线程都拥有了自己独立的一个变量。所以ThreadLocal重要作用并不在于多线程间的数据共享,而是数据的独立。Synchronized用于线程间的数据共享,而Th ...
分类:
其他好文 时间:
2017-11-11 22:11:29
阅读次数:
138
1.垃圾回收 是回收的空闲堆空间 只有在cpu空闲并且堆空间不足的情况下才回收 2.threadlocal 就是为线程的变量都提供了一个副本,每个线程运行都只是在更新这个副本。 Threadlocal可以解决线程不安全的情况,比如说SimpleDateFormat ThreadLocal和Synch ...
分类:
编程语言 时间:
2017-11-02 21:14:12
阅读次数:
189
ThreadLocal 的作用是提供线程内的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度。但是如果滥用 ThreadLocal,就可能会导致内存泄漏。下面,我们将围绕三个方面来分析 ThreadLocal 内存泄漏的问题 ThreadLo ...
分类:
其他好文 时间:
2017-10-30 14:38:21
阅读次数:
212
day19 今日内容 Service事务 客户关系管理系统 Service事务 客户关系管理系统 Service事务 在Service中使用ThreadLocal来完成事务,为将来学习Spring事务打基础! 在DAO中处理事务真是"小菜一碟"。 public void xxx() { Connec ...
分类:
其他好文 时间:
2017-10-19 21:02:00
阅读次数:
416
图解: 说明:在我们Thread 的类里面,存在一个属性,这个属性是:ThreadLocal类实现的内部类(ThreadLocalMap),所以对于每一个线程来说,他都具有一个本地的map,保存属于自己的参数 类似于:session 里面 存放一个map, 把用户看做线程,session当做Thre ...
分类:
其他好文 时间:
2017-10-19 16:00:26
阅读次数:
137
最近在看spring事务的时候在想一个问题:spring中的很多bean都是单例的,是非状态的,而数据库连接是一种有状态的对象,所以spring一定在创建出connection之后在threadlocal中保存了它。今天正好有空,就看了一下源码: 代码很简单,以dataSource为key,Conn ...
分类:
数据库 时间:
2017-10-18 19:42:30
阅读次数:
263
发送事件(post) 当需要发送事件时,调用EventBus.getDefault().post(event)即可,EventBus会将事件发送给所有已经注册了监听该类事件的订阅者。post的实现如下: 第2-4行,currentPostingThreadState是ThreadLocal<Post ...
分类:
其他好文 时间:
2017-10-18 11:50:55
阅读次数:
153