摘要: HashMap 不是线程安全的 HashTable,concurrentHashMap 是线程安全 HashTable 底层是所有方法都加有锁(synchronized) 所以操作起来效率会低 concurrentHashMap 底层是分断锁(根据自定的hashcode算法生成的对象来获取对应has 阅读全文
posted @ 2018-04-02 11:29 渴望成为大神的菜鸟 阅读(271) 评论(0) 推荐(0) 编辑
摘要: vector和arrayList一样底层实现原理也是数组 区别: vector是同步的也就是线程安全的[因为vector里面的某些方法用了synchronized 关键字修饰,比如removeAll(),addAll(),equals(),Iterator()等方法被修饰] 部分源码 /** * I 阅读全文
posted @ 2018-04-02 10:50 渴望成为大神的菜鸟 阅读(245) 评论(0) 推荐(0) 编辑
摘要: LinkedList底层源码是采用双向链表实现的 何为双向列表,单向链表为通过后继可以找到下一个指向的元素;双向链表为既可以通过后继找到下一个指向的元素,也可以通过前驱找到前一个元素。基于链表实现的方式使得LinkedList在插入和删除时更优于ArrayList,而随机访问则比ArrayList逊 阅读全文
posted @ 2018-03-30 16:21 渴望成为大神的菜鸟 阅读(161) 评论(0) 推荐(0) 编辑
摘要: ArrayList 底层是有数组实现,实际上存放的是对象的引用,而不是对象本身。当使用不带参的构造方法生成ArrayList对象时,实际会在底层生成一个长度为10的数组 当添加元素超过10的时候,会进行扩容 基本上是原来的1.5倍 oldlenth+(oldlenth>>1) 1.5oldlengt 阅读全文
posted @ 2018-03-30 15:45 渴望成为大神的菜鸟 阅读(512) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/skywang12345/p/3479275.html jion(),只有当子线程执行完了,主线程才会执行 1. join()介绍 join() 定义在Thread.java中。join() 的作用:让“主线程”等待“子线程”结束之后才能继续运行。 阅读全文
posted @ 2018-03-29 11:41 渴望成为大神的菜鸟 阅读(550) 评论(0) 推荐(0) 编辑
摘要: yiled():让步 wait():等待 sleep():休眠 yiled是让步,会使当前线程由运行状态进入到就绪状态,让其他优先级高线程先执行,但是如果是同一优先级的线程,那么谁先执行就不确定了.它不会释放锁 wailt等待,会使当前线程进入阻塞状态,并且会释放锁 sleep()休眠,会使当前线程 阅读全文
posted @ 2018-03-29 11:34 渴望成为大神的菜鸟 阅读(2780) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/skywang12345/p/3479202.html 当一个线程访问某对象的synchronized方法时,其他线程访问这个方法将会被阻塞 阅读全文
posted @ 2018-03-29 11:08 渴望成为大神的菜鸟 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/skywang12345/p/3479083.html start():作用一个新的线程,新线程会执行相应的run()方法,start()不能被重复调用 run():run()就是一个普通的方法,可以被重复调用,会在当前线程中执行,并不会新起一个线 阅读全文
posted @ 2018-03-29 10:53 渴望成为大神的菜鸟 阅读(527) 评论(0) 推荐(0) 编辑
摘要: 线程有两种实现方式 一,Thread类 public class Thread implements Runnable{ } 二,Runnable接口 public interface Runnable{ public abstract void run(); } 区别:Thread是一个类,他继承 阅读全文
posted @ 2018-03-29 10:33 渴望成为大神的菜鸟 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 上面是调用线程的状态图 新建状态(new):线程被创建后就会进入新建状态,如 Thread t = new Thread() 就绪状态(runnable):也叫可执行状态,当线程调用了start()方法后启动该线程,而改线程随时可能被cpu调度执行 运行状态(running):线程获取到cpu进行执 阅读全文
posted @ 2018-03-29 10:19 渴望成为大神的菜鸟 阅读(91) 评论(0) 推荐(0) 编辑