摘要: 当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。ThreadLocal和线程同步机制都是为了解决多线程中相同变量的访问冲突问题。来解决多线程的并发访问。主要有Set () 阅读全文
posted @ 2019-03-22 17:10 一中晴哥威武 阅读(115) 评论(0) 推荐(0) 编辑
摘要: sleep方法属于Thread类中方法,调用sleep 不会释放对象锁。wait 是Object 类的方法,对此对象调用wait 方法导致本线程放弃对象锁,sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常。 阅读全文
posted @ 2019-03-22 16:51 一中晴哥威武 阅读(174) 评论(0) 推荐(0) 编辑
摘要: Callable需要实现call方法,而Runnable需要实现run方法;并且,call方法还可以返回任何对象,无论是什么对象,JVM都会当作Object来处理。但是如果使用了泛型,我们就不用每次都对Object进行转换了。 阅读全文
posted @ 2019-03-22 16:26 一中晴哥威武 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 如果你有一个方法,存在同时多个线程同时访问它,如果结果与单线程访问的预期结果一样,那么就说线程安全,如果结果不一样就说线程不安全 阅读全文
posted @ 2019-03-22 16:24 一中晴哥威武 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 1、 对于ArrayList与Vector来说,底层都是采用数组方式来实现的 2、 ArrayList,LinkedList是不同步的,即线程不安全,而Vector是的。(线程安不安全) 3、 LinkedList底层是由双向循环链表实现的 4、 对于ArrayList,查找速度非常快,增加和删除操 阅读全文
posted @ 2019-03-22 16:19 一中晴哥威武 阅读(139) 评论(0) 推荐(0) 编辑
摘要: HashMap:底层是一个数组+链表实现 LinkedHashMap:底层是Hash表和链表的实现 ConcurrentHashMap:基于双数组和链表的Map接口的同步实现 ArrayList:底层都是采用数组方式来实现的 LinkedList:底层是由双向循环链表实现的 阅读全文
posted @ 2019-03-22 16:13 一中晴哥威武 阅读(398) 评论(0) 推荐(0) 编辑