技术论剑
想ai抽
这个作者很懒,什么都没留下…
展开
-
Java面试题:静态块、块、构造函数的初始化顺序
自己做了几遍,每次的输出结果都不一样。有时候父类的构造方法中的两个输出中竟然会穿插子类的非静态类方法体。按照网上http://blog.csdn.net/fang3081004/article/details/7764306的做法,没有再出现不稳定的情况。索性就这样总结了: 1. 单一类中:静态变量、静态块、普通变量、普通块、构造方法; 2. 有继承的子类中:先父后子。子类的静态变量和转载 2014-02-26 18:29:14 · 1313 阅读 · 0 评论 -
正确理解ThreadLocal
首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。 各个线程中访问的是不同的对象。 另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不是通过ThreadLocal.set()来实现的,而是通过每个线程中的new 对象 的转载 2014-02-27 18:09:01 · 767 阅读 · 0 评论 -
关于threadlocal的来龙去脉
引用谋篇评论: 对TLS更简单的,但是更直观的理解可以如下(基于C语言): 1. 全局对象,全局变量的作用域和生命周期是全局的,这里的全局是指进程范畴,也就是说,如果你将其设计为全局对象,全局变量,就意味着你希望在多线程的环境中,仍然能共享和访问。 全局对象,全局变量不是说不让多线程来访问,而是说有的时候不期望他们同时访问,此时引入了线程的互斥,互斥的后果是保证不同时访问,但是,并没有改变转载 2014-02-27 18:24:24 · 721 阅读 · 0 评论