1.Properties(掌握)
概述
概述: Properties是Map集合的一个子类.Properties的键是String,值也是String. 构造: public Properties(); 方法: public void setProperty(键,值); public 值 getProperty(键); public void load(Reader r); //把字符流所指向的"配置文件"中的内容,读取到Properties集合中 public void store(Writer w,String comments); //把Properties集合中的内容,写到输出流指向的文件中
2.多线程
2.1 相关概念(了解)
基本概念: 并发: 多个目标交替执行. 并行: 多个目标同时执行. 进程: 正在运行的程序. 线程: 程序的运行路线. 注意事项: 计算机中的程序,天然是"并发执行". 每个线程必须是完全独立.
2.2 实现多线程-继承Thread类(掌握)
① 步骤
1:定义一个类,继承Thread类 2:重写run方法,把需要执行的代码写入run方法中. 3:创建自定义类的对象. 4:调用自定义对象的start方法,启动线程
② 代码
//1:定义一个类,继承Thread类 public class MyThread extends Thread{ @Override public void run() { //2:重写run方法,把需要执行的代码写入run方法中. } } //测试类 public class TestDemo { public static void main(String[] args) { //3:创建自定义类的对象. MyThread mt = new MyThread(); //4:调用自定义对象的start方法,启动线程 mt.start(); } }
2.3 实现多线程-实现Runnable接口(掌握)
① 步骤
1:自定义一个类,该类实现Runnable接口 2:重写run方法,把需要执行的代码写入run方法中. 3:创建自定义类的对象 4:创建Thread类的对象,把"自定义类的对象"作为构造方法的参数 5:调用Thread类的对象start方法,启动线程
② 代码
//1:自定义一个类,该类实现Runnable接口 public class MyRunnable implements Runnable{ @Override public void run() { //2:重写run方法,把需要执行的代码写入run方法中. } } //测试类 public class TestDemo { public static void main(String[] args) { //3:创建自定义类的对象. MyRunnable mr = new MyRunnable(); //4:创建Thread类的对象,把"自定义类的对象"作为构造方法的参数 Thread t = new Thread(mr); //5:调用Thread类的对象start方法,启动线程 t.start(); } }
2.4 实现多线程-实现Callable接口(了解)
① 步骤
1:自定义一个类,该类实现Callable接口 2:重写call方法,把需要执行的代码写入call方法中. 3:创建自定义类的对象 4:创建FutureTask类的对象,把"自定义类的对象"作为构造方法的参数 5:创建Thread类的对象,把"FutureTask类的对象"作为构造方法的参数 6:调用Thread类的对象start方法,启动线程 7:再调"FutureTask类的对象"的get方法,获取线程结束之后的结果。
② 代码
//1:自定义一个类,该类实现Callable接口,Callable接口的泛型,表示的是"该线程执行之后的结果的数据类型" public class MyCallable implements Callable<String> { @Override public String call() throws Exception { //2:重写call方法,把需要执行的代码写入call方法中. } } //测试类 public class TestDemo { public static void main(String[] args) throws ExecutionException, InterruptedException { //3:创建自定义类的对象 MyCallable mc = new MyCallable(); //4:创建FutureTask类的对象,把"自定义类的对象"作为构造方法的参数 FutureTask<String> ft = new FutureTask<>(mc); //5:创建Thread类的对象,把"FutureTask类的对象"作为构造方法的参数 Thread t = new Thread(ft); //6:调用Thread类的对象start方法,启动线程 t.start(); //7:再调"FutureTask类的对象"的get方法,获取线程结束之后的结果。 String s = ft.get(); System.out.println(s); } }
2.5.Thread类
public void setName(String name); //设置线程的名字 public String getName(); //获取线程的名字 public static Thread currentThread(); //获取当前线程对象 public static void sleep(long times); //让当前线程休息times毫秒.