摘要: ThreadLocal类提供线程本地变量,为变量在每个线程创建一个副本,每个线程可以访问自己内部的副本变量。 比如,有这样一个需求,需要为每个线程创建一个独一无二的标识,这个标识在第一次调用ThreadId.get()的时候生成,在随后的调用中不会再改变。 类声明: 实例变量和相关的一个方法: 构造 阅读全文
posted @ 2016-09-28 15:05 没有梦想的小灰灰 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 类加载的时机 从加载到虚拟机内存中开始,到卸载出内存为止,整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载,其中验证、准备、解析3个 阅读全文
posted @ 2016-09-23 14:32 没有梦想的小灰灰 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 线程安全的概念限定于多个线程之间存在共享数据访问这个前提,因为如果一段代码根本不会与其他线程共享数据,那么从线程安全的角度来看,程序是串行执行还是多线程执行对它来说完全没有区别。 线程安全的程度:不可变、绝对线程安全、相对线程安全、线程兼容和线程对立。 1.不可变 不可变的对象一定是线程安全的,只要 阅读全文
posted @ 2016-09-19 12:13 没有梦想的小灰灰 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 内存模型的目标是定义程序中各个变量的访问 规则,即在虚拟机中将变量(包括实例字段,静态字段和构成数组对象的元素,不包括局部变量与方法参数,因为后者是线程私有的)存储到内存和从内存中取出变量这样的底层细节。 Java内存模型规定所有的变量都存储在主内存,每条线程还有自己的工作内存,工作内存保存了被该线 阅读全文
posted @ 2016-09-14 22:22 没有梦想的小灰灰 阅读(326) 评论(0) 推荐(0) 编辑
摘要: TreeSet是基于TreeMap实现的,元素的顺序取决于元素自身的自然顺序或者在构造时提供的比较器。 对于add,remove,contains操作,保证log(n)的时间复杂度。 因为Set接口的定义根据equals方法,但是TreeSet接口约定元素的顺序基于compareTo或者compar 阅读全文
posted @ 2016-09-06 15:13 没有梦想的小灰灰 阅读(630) 评论(0) 推荐(0) 编辑
摘要: Serial收集器:是一个单线程的收集器,使用一个CPU或一条收集线程。在进行垃圾收集时,必须暂停其他所有的工作线程,直到收集结束。在用户不可见的情况下,把正常工作的线程全部停止,对很多应用来说难以接受,所以虚拟机开发团队一直寻求消除或减少停顿时间的方法。它是虚拟机运行在Client模式下的默认新生 阅读全文
posted @ 2016-09-06 10:11 没有梦想的小灰灰 阅读(122) 评论(0) 推荐(0) 编辑
摘要: MySQL提供多种存储引擎,通过命令 show engines; 查看 查看当前默认的存储引擎 show variables like '%storage_engine%'; 查看某个表用了什么引擎 show create table 表名; MyISAM引擎: 没有提供对数据库事务的支持,也不支持 阅读全文
posted @ 2016-09-04 20:02 没有梦想的小灰灰 阅读(142) 评论(0) 推荐(0) 编辑
摘要: TreeMap的实现基于红黑树,排列的顺序根据key的大小,或者在创建时提供的比较器,取决于使用哪个构造器。 对于,containsKey,get,put,remove操作,保证时间复杂度为log(n)。 TreeMap的顺序与equals方法保持一致,这样才能遵守Map和SortMap的约定。 实 阅读全文
posted @ 2016-09-04 13:07 没有梦想的小灰灰 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 实例变量 4个构造器 扩容方法 设置容量 2个迭代器,一个从头迭代到尾,一个从尾迭代到头 Vector是线程安全的,它的方法使用synchronized修饰,如果不需要线程安全,推荐使用ArrayList代替。 阅读全文
posted @ 2016-09-01 00:24 没有梦想的小灰灰 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 对象的内存分配,大部分在堆上分配(少部分经过JIT编译后被拆散为标量类型并间接地栈上分配),对象主要分配在新生代的Eden,如果启动了本地线程分配缓存,将按线程优先在TLAB上分配,少数情况下也可能会分配在老年代中,分配的规则不固定,取决于使用哪一种垃圾收集器组合,还有虚拟机中与内存相关的参数的设置 阅读全文
posted @ 2016-08-31 00:01 没有梦想的小灰灰 阅读(251) 评论(0) 推荐(0) 编辑