摘要: 首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不... 阅读全文
posted @ 2015-08-03 23:48 乌云de博客 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致的情况。volatile就是用来避免这种情况的。volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上... 阅读全文
posted @ 2015-08-03 23:38 乌云de博客 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 一. 线程状态类型1. 新建状态(New):新创建了一个线程对象。2. 就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。3. 运行状态(Running):就绪状态的线程获取了CPU,执行程序代... 阅读全文
posted @ 2015-08-03 23:11 乌云de博客 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 一 synchronized关键字1.synchronized实现原理: ---基于对象监视器(锁)java中所有对象都自动含有单一的锁,JVM负责跟踪对象被加锁的次数。如果一个对象被解锁,其计数变为0。在任务(线程)第一次给对象加锁的时候, 计数变为1。每当这个相同的任务(线程)在此对象上获得锁时... 阅读全文
posted @ 2015-08-03 22:39 乌云de博客 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。单例模式的结构 单例模式的特点:单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例。 饿汉式单例类public class EagerSing... 阅读全文
posted @ 2015-08-03 12:39 乌云de博客 阅读(180) 评论(0) 推荐(0) 编辑
摘要: JDK 文档:SQL 语句被预编译并存储在 PreparedStatement 对象中(PreparedStatement是存储在JDBC里的,初始化后,缓存到了JDBC里),然后可以使用此对象多次高效地执行该语句。预编译的优点1、PreparedStatement是预编译的,对于批量处理可以大大提... 阅读全文
posted @ 2015-08-03 09:40 乌云de博客 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 第一步:应用程序把查询SQL语句发给服务器端执行我们在数据层执行SQL语句时,应用程序会连接到相应的数据库服务器,把SQL语句发送给服务器处理。第二步:服务器解析请求的SQL语句SQL计划缓存,经常用查询分析器的朋友大概都知道这样一个事实,往往一个查询语句在第一次运行的时候需要执行特别长的时间,但是... 阅读全文
posted @ 2015-08-03 00:07 乌云de博客 阅读(9033) 评论(0) 推荐(1) 编辑