1、String,StringBuffer和StringBuilder
String:字符串常量,不可变;
StringBuffer:字符串变量,可改变的对象,线程安全,多线程处理大量数据选择;
StringBuilder:字符串变量,可改变的对象,速度快,单线程情况下处理大量数据选择;
?
2、Java内存模型简介
? ? Java内存模型用来定义程序中各个变量的访问规则(在虚拟机中将变量存储到内存和从内存中取出变量这样底层细节)。包括两部分内容:主内存和工作内容。
? ??所有的变量都存储在主内存中,每条线程还有自己的工作内存。线程对变量的所有操作(读取、赋值)都必须在工作内存中进行,而不能直接读写主内存中的变量。如果要把一个变量从主内存中复制到工作内存,就需要按顺寻地执行read和load操作,如果把变量从工作内存中同步回主内存中,就要按顺序地执行store和write操作。
?
3、HashMap和Hashtable的区别
? ? 它们都是通过key-value的方法来存储数据的,不同之处主要有以下三点:
? ? 1、HashMap是java本身Map(java.util.Map)接口的一个实现,而Hashtable是基于旧的Dictionary类的;
? ? 2、HashMap是非线程安全的,而Hashtable线程安全;
? ? 3、HashMap可以允许空值作为key或value,但是只允许一个空的key,value可以多个为空;
原文:http://wuhoujian322.iteye.com/blog/2311291