util包
系统工具类
System
Runtime类
Toolkit类
加载图片
获得屏幕大小
屏幕抓图
集合
Collection(单集合)
List(列表)
Vector
ArrayList
LinkedList
有序 可以重复
Set(散列)
无序 不可以重复
HashSet
TreeSet
关于集合:需要掌握: 创建 放置 遍历 删除 替换 查找
Map(对集合)
HashMap
单线程环境使用 高效率
Hashtable
、
多线程环境 效率低
Properties
它的父类是Hashtable,然后 它特殊
1、要求key value 都必须String;
2、它可以将数据store ===>文件中;
3、它可以将文件中的数据 ====〉集合中;
4、文件可以是XML
关于对集合:需要掌握: 创建 放置 遍历 删除 替换 查找
多线程
多用户使用环境,需要几段(相同或不同的)代码并列执行,来对付不同的客户;
java提供了多线程的解决方案,一个程序 有多个线程,多个线程并列执行;
2、多线程实现
方式1:extends Thread方式;
开发多线程步骤:
1、开发一个类,让这个类extends Thread类;
2、在该类中 重写 run()方法;
3、将自己的多线程代码 放置到 run()中;
4、使用上面的类创建一个对象,该对象就是线程对象;
5、启动该线程对象;
哼哈 并列执行案例
改进这个案例为实际案例 卖票问题 四个线程 各卖各的;
方式2:implements Runnable方式
开发多线程步骤:
1、开发一个类,让这个类implements Runnable类;
2、在该类中 重写 run()方法;
3、将自己的多线程代码 放置到 run()中;
4、使用上面的类创建一个对象,该对象就是线程资源对象; oo;
5、使用Thread类创建一个对象,将oo对象传递进来,如:Thread t1= new Thread(oo);
6、启动该线程对象 t1.start();
对比两种创建多线程的方式:
方式2 implements Runnable方式 ,其实 实现的是一个 线程执行需要的代码资源,
我们可以将这个代码资源传递给 多个线程,这样就实现多个线程
访问同一个资源的效果,这个在实际开发中使用的更多。
3、多线程环境下 数据不同步
所谓的多线程环境下数据不同步就是: 多个线程 执行同一个段代码,
访问同一个数据,可能引起 数据部一致的情况;
如何解决:
Java的解决方案 两种:
同步代码块
synchronized(狗){
引起不一致的代码;
}
其实就是看门狗模式:
找一条狗,看住上面的代码块,保障同一时间内,只有
一个线程可以被执行;