第一天
死锁:死锁只能尽量避免,没法解决
生产者和消费者问题:(控制不同的线程做不同的事情)
要求:
一个线程负责生产
一个线程负责销售
生产一个就销售一个
用面向对象的思想来写程序的时候,第一步是考虑由谁做这件事更合适(需要定义哪些类),然后在考虑怎么做
wait可以释放cpu和锁,sleep只能释放cpu
由于同步函数的锁是this,所以只能将同步函数定义产品类中
生产的同步函数
第二天
多线程
线程特性:不要强制关闭线程,用标志位的形式
string和stringbuffer
如果需要反复拼接字符串,用stringbuffer效率高点
Runtime类
每一个Java虚拟机对应了一个Runtime类的实例
通过Runtime
exec调用本地程序
第三天
java.utill.date和java.sql.date的区别和联系
sql下date是utill的date子类
将sql的date转为utill的date
父类可以直接接受子类的实例
第四天
克隆对象:一个普通要实现clone able接口中的clone()方法,他的实例才能被克隆
arrays是数组(array)的工具
定时调用:
目标:每隔一秒就输出一次时间
泛型不能使用基础数据类型
泛型中不能使用父类接受子类
如果不给定泛型的类型,默认为“object”类型,一般都是写上数据类型