[石家庄校区] 常用api和具体案例!
第七天的api''
C:/Users/Lenovo/AppData/Local/YNote/data/qqED074021B53AD8CC09A97FED7DC743B9/af6bd6cd3e1142c68d884ba08913ec7d/6ce753a8ddbe40a18d9611b5151fd900.jpg
等待唤醒机制,wait/notify,就是线程之间的一种协作机制,用于实现线程间通信.
等待唤醒的方法:java.long.lang类
void notify():随即唤醒的同一个所在对象上的某一个处于等待状态的线程
void notifyAll():环形所在同一对象上处于等待状态的线程
void wait():让当前线程处于无线等待的状态,同时释放锁
由同一个锁调用,通过notify()唤醒使用同一个锁对象调用的wait();
必须在同步代码块中使用这两个方法
线程池:一个容纳多个线程的容器
线程池可以解决的问题:线程可以重复使用,省去了频繁创建对象的造作骂我需反复创建线程而消耗过多的资源
提前创建好还多个线程对象,放在集合中,多个任务来了反复使用的这些线程的来执行''
lambda的好处,去除冗余的代码,多余的步骤,
标准格式是,参数()箭头->代码{}
(参数列表) -> {一些重写方法的代码}
定义测试类, 使用实现Runnable接口方式创建线程
1. 创建Thread对象, 在构造方法参数中, 使用匿名内部类方式传入Runnable实现类对象
重写 run() 方法, 打印 线程名字+"新线程创建了", 并启动线程
2. 创建Thread对象, 在构造方法参数中, 使用Lambda表达式方式传入Runnable实现类对象
重写 run() 方法, 打印 线程名字+"新线程创建了", 并启动线程
例如:new Thread(()->{sout(.....)}).start();
可以省略的部分,可推导的可以省略,
1,(参数类表):参数类型可以省略
2,(参数列表):如果参数只有一个,则类型小括号可以省略a->sout(a)
3,{一些代码}:如果有一条代码,大括号分号return可以省略
//第八日猴子摘桃子的案例:
代码很简单,只是难得是规律的总结
package Eveing;
public class Test5 {
public static void main(String[] args) {
int sum = sum(1);
System.out.println(sum);
}
public static int sum(int tt){
if (tt==10){
return 1;
}
return tt = 2*sum(tt+1)+2;
}
}//第八天常用apijava.io.File类: 文件和目录的路径名的抽象表现形式, 主要用于文件和目录的创建, 查找和删除等操作
// 静态成员变量
static String pathSeparator: 路径分隔符的字符串形式
static char pathSeparatorChar: 路径分隔符的char形式
Windows系统是 分号;
Linux系统是 冒号:
static String separator: 文件名称分隔符的字符串形式
static char separatorChar: 文件名称分隔符的char形式
Window系统是 反斜杠\
Linux系统是 正斜杠/
// 构造方法(创建了File对象, 并将其指向该路径. 不会真正在磁盘上创建这个文件)
File File(String pathname): 根据 路径字符串 封装一个File对象
File File(String parent, String child): 根据 父路径字符串 和 子路径字符串 封装File对象
File File(File parent, String child): 根据 父路径的File对象 和 子路径 封装File对象
// 常用获取方法
String?getAbsolutePath(): 返回此File的绝对路径名字符串
String?getPath(): 获取File对象的封装路径 (创建对象时传入的路径)
String?getName(): 获取File对象的文件名或目录名
long?length(): 获取File表示的文件大小的字节数 (不能获取目录的大小)
// 常用判断方法
boolean?exists(): 判断File对象代表的文件或目录是否实际存在
boolean?isDirectory(): 判断File表示的是否为目录
boolean?isFile(): 判断File表示的是否为文件
// 常用创建删除方法
boolean?createNewFile(): 当文件不存在时, 创建一个新的空文件
boolean?delete(): 删除由此File表示的文件或目录. (删除目录时必须是空目录)
boolean?mkdir(): 创建File表示的目录
boolean?mkdirs(): 创建File表示的多级目录
// 常用获取目录中内容的方法
String[]?list(): 获取当前File目录下的所有子文件或目录的名字数组
File[]?listFiles(): 获取当前File目录中的所有子文件或目录的File对象数组
File[] listFiles(FileFilter filter): 通过File对象过滤, 返回文件过滤器过滤后的File对象数组
File[] listFiles(FilenameFilter filter): 通过File对象的文件名过滤, 返回文件过滤器过滤后的File对象数组
java.io.FileFilter接口: 用于File对象的过滤器
boolean accept(File pathName): true则会将参数的File对象加入返回的File[], false则不加入
java.io.FilenameFilter接口:
boolean accept(File dir, String name): true则会将参数的File对象加入返回的File[], false则不加入
public File(String pathname):通过将给定的路径名字符串转换为抽向路径名字来创建新的File实例.
String pathname = "D:\\aaa.txt"; File file = new File(pathname);
Public File(String parent ,String child):从父路径名字符串和子路径字符串创建新的File实例
String parent = "d:\\aaa"
String child = "bbb.txt";
File file = new File(parent,child);
Public File (File parent , String child):从父抽象路径名和子路径名字符串创建新的File实例
File paeentDir = new File("d:\\aaa):
String child = "bbb.txt"
File file4 = new File (PaeentDir,child):
|
|