java学习——java高级特性,线程,并发 笔记

一.传统的创见线程的两种方式.


1  Thread thread=new Thread();
   thread.start();


2  Thread thread=new Thread(new Runnable(){


});
  thread.start(); 体现面向对象编程.


3. 都实现 run()方法.


4 多线程机制会降低程序运行效率.


5.多线程下载,只是强占服务器的带宽.


6 Timer 定时器 的使用 . schedule.


7 线程之间互斥与同步通信 . 


静态方法没法new 内部类 . synchronized 关键字.来打到线程互斥的效果 


8.线程范围内的数据共享 . 用ThreadLocal 来实现 .


9.多个线程之间的共享数据.


10. java5 增加的并发 .  原子性操作类的用途 , 例如:  AtomicInteger类的使用方法.


11.java5 提供了线程池  Executors类的使用 . 单例线程 , 死掉后重新生成一个只有一个线程的线程池.


12. Callable 和 Future . Callable 执行完了返回的结果交给 Future .


13. Lock 和 Condition 实现线程同步通信. 类似 synchronized  .
读写锁: 分为读锁和写锁,多个读锁不互斥,读锁和写锁互斥,写锁与写锁互斥.    写锁中挂读锁时,会把自己降级为更新锁.


14. Condition 用来实现类似传统线程技术中的wait 和 notify的功能.


15. Semaphore 实现信号灯.


16. CyclicBarrier 等待所有的线程运行到同一个时刻时继续  和 CountDownLatch 倒计时器 .


17. Exchanger 实现两个线程的数据交换 .


18.可阻塞队列 BlockingQueue  . 匿名构造方法在,普通构造方法之前运行.


19.同步集合. concurrentHashMap或在使用HashMap 的时候加上同步标志. 解决是死循环. CopyOnWriteArrayList 代替ArrayList .


   HashSet 和 HashMap的区别   public HashSet(){map=new HashMap()}

你可能感兴趣的:(java基础)