java是面向对象设计的优秀语言。
java用类和对象描述这个世界。用逻辑把前边万花的不同类和对象的联系起来。构造出千姿百态的世界。
类的继承,封装,多态,以及接口对功能扩展很有意思。
变量就像一个容器。用来存放特定的数据。定义变量时贴好要存放数据的类型才行。
数组空间大小固定。管理一组数据,或者基本类型。或者引用类型。有序,且可以根据标识去除数据。
集合存放的是引用数据类型。list和set是代表
数据存储结构,数组形式的ArrayList 链表和数组结构的linkedList。对列,堆栈,哈希表。
HashSet LinkedHashSet。
Map<K,V> HashMap HashTable;
泛型。是在定义集合存储类型的泛化。
public class HashMap<k,V>{}
public <T> T getT(T t){ return t;}
泛型通配符?
? extend X X和它的子孙类。
?super Y Y和它的祖辈
修饰符public private default native protected static final
throwable Exception RuntimeException Error throw throws .
try{}catch(){}finally{};
Thread .start(); Runnable 无返回类型的,Callable有返回类型
Thread.sleep();
Executors 线程池的四种模式。固定的,内存缓存的,单一个,可定时的。
ExecutorService
submit方法和execute方法提交Runnable实现类和Callable实现类。submit方法有Future<T>返回值。T返回值的类型。
Thread.currentThread().getName();
synchronized 方法是this锁。
静态的synchronized 是 类.class 锁。
sychronized 可以使代码块。也可以使方法。
对象锁,一般用Object对象作为对象锁。wait() notify() notifyAll();
Lock 接口。ReentrantLock 可以对锁进行一些更精细化的操作。ReentrantLock ck;
ck.lock();
需要加同步锁的片段。
ck.unlock()
创建,就绪,执行,阻塞,结束。
Thread.sleep().不释放锁。
wait()