File 类
可以进行删除文件名/目录的操作 ,这里用了递归的思想
import java.io.File;
public class DeleteFileDemo {
public static void main(String args[]) {
// 这里修改为自己的测试目录
File folder = new File("/tmp/java/");
deleteFolder(folder);
}
//删除文件及目录
public static void deleteFolder(File folder) {
File[] files = folder.listFiles();
if(files!=null) {
for(File f: files) {
if(f.isDirectory()) {
deleteFolder(f);
} else {
f.delete();
}
}
}
folder.delete();
}
}
Exception
主要分runtime Exception和ioException,那么非检查性异常和检查性异常又是什么意思呢?其实就是对应的运行时异常和io异常/sql异常。前者由JVM进行处理,后者必须自己写catch处理异常。(就是我们平时写程序时出现的,必须让你写try的状况,但也可以在类里面直接throws Exception)
继承
对于extend和implement都可以理解成继承,只是后者是为了多继承,提供的继承类接口的方式,跟interface组合使用;而前者一个子类只能继承一个父类
java传递参数
对于基本数据类型参数,传递的是实参的值
对于数组类型参数,参数值是数组的引用,给方法传递的是这个引用。从语义上来讲,最好的描述就是参数传递的共享信息,即方法中的数组和传递的数组是一样的。所以,如果改变方法中的数组,将会看到方法外的数组也变化了。
java 运算符
10^0 (异或)
16位整数-2^15~2^15-1
32位整数-2^31~2^31-1
int x=(-65)%10; //-5
int y=(-65)/10; //-6
ANSI/Unicode/UTF8 从左向右按需求慢慢出现的,unicode是为了统一国际标准,UTF8是为了统一Unicode(两个字节或四个字节)和ascii(单字节)。
Queue
Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接 口。Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果是Queue时,就完全只能访问Queue接口所定义的方法 了,而不能直接访问 LinkedList的非Queue的方法),以使得只有恰当的方法才可以使用。BlockingQueue 继承了Queue接口。
add
remove
element
offer
poll
peek
put
take