记录生活中的点点滴滴

0%

进阶9

File
boolean canExecute()
测试应用程序是否可以执行此抽象路径名表示的文件。
boolean canRead()
测试应用程序是否可以读取此抽象路径名表示的文件。
boolean canWrite()
测试应用程序是否可以修改此抽象路径名表示的文件。
int compareTo(File pathname)
按字母顺序比较两个抽象路径名。
boolean createNewFile()
当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
static File createTempFile(String prefix, String suffix)
在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。
static File createTempFile(String prefix, String suffix, File directory)
在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。
boolean delete()
删除此抽象路径名表示的文件或目录。
void deleteOnExit()
在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。
boolean equals(Object obj)
测试此抽象路径名与给定对象是否相等。
boolean exists()
测试此抽象路径名表示的文件或目录是否存在。
File getAbsoluteFile()
返回此抽象路径名的绝对路径名形式。
String getAbsolutePath()
返回此抽象路径名的绝对路径名字符串。
File getCanonicalFile()
返回此抽象路径名的规范形式。
String getCanonicalPath()
返回此抽象路径名的规范路径名字符串。
long getFreeSpace()
返回此抽象路径名指定的分区中未分配的字节数。
String getName()
返回由此抽象路径名表示的文件或目录的名称。
String getParent()
返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。
File getParentFile()
返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null。
String getPath()
将此抽象路径名转换为一个路径名字符串。
long getTotalSpace()
返回此抽象路径名指定的分区大小。
long getUsableSpace()
返回此抽象路径名指定的分区上可用于此虚拟机的字节数。
int hashCode()
计算此抽象路径名的哈希码。
boolean isAbsolute()
测试此抽象路径名是否为绝对路径名。
boolean isDirectory()
测试此抽象路径名表示的文件是否是一个目录。
boolean isFile()
测试此抽象路径名表示的文件是否是一个标准文件。
boolean isHidden()
测试此抽象路径名指定的文件是否是一个隐藏文件。
long lastModified()
返回此抽象路径名表示的文件最后一次被修改的时间。
long length()
返回由此抽象路径名表示的文件的长度。
String[] list()
返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
String[] list(FilenameFilter filter)
返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。
File[] listFiles()
返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
File[] listFiles(FileFilter filter)
返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
File[] listFiles(FilenameFilter filter)
返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
static File[] listRoots()
列出可用的文件系统根。
boolean mkdir()
创建此抽象路径名指定的目录。
boolean mkdirs()
创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
boolean renameTo(File dest)
重新命名此抽象路径名表示的文件。
boolean setExecutable(boolean executable)
设置此抽象路径名所有者执行权限的一个便捷方法。
boolean setExecutable(boolean executable, boolean ownerOnly)
设置此抽象路径名的所有者或所有用户的执行权限。
boolean setLastModified(long time)
设置此抽象路径名指定的文件或目录的最后一次修改时间。
boolean setReadable(boolean readable)
设置此抽象路径名所有者读权限的一个便捷方法。
boolean setReadable(boolean readable, boolean ownerOnly)
设置此抽象路径名的所有者或所有用户的读权限。
boolean setReadOnly()
标记此抽象路径名指定的文件或目录,从而只能对其进行读操作。
boolean setWritable(boolean writable)
设置此抽象路径名所有者写权限的一个便捷方法。
boolean setWritable(boolean writable, boolean ownerOnly)
设置此抽象路径名的所有者或所有用户的写权限。
String toString()
返回此抽象路径名的路径名字符串。
URI toURI()
构造一个表示此抽象路径名的 file: URI。
URL toURL()
已过时。 此方法不会自动转义 URL 中的非法字符。建议新的代码使用以下方式将抽象路径名转换为 URL:首先通过 toURI 方法将其转换为 URI,然后通过 URI.toURL 方法将 URI 装换为 URL。

多进程:提高CPU的使用率

 进程和进程之间的内存是独立的
多线程:线程是进程中的一个执行场景

 提高应用程序的使用率

 线程和线程共享“堆内存和方法区内存”,栈内存是独立的,一个线程一个栈

创建线程的2种方式
继承Thread
实现Runnable接口

线程优先级高的获取的cpu的时间片相对多一些

 优先级1-10

 最低1

 最高10

 默认5

setPriority()

getPriority();

MAX_PRIORITY 10
NORM_PRIORITY 5
MIN_PRIORITY 1

Thread.sleep(毫秒);

 2.sleep()方法是一个静态方法

 3.该方法的作用:阻塞当前线程,腾出cpu,让给其他线程

interrupt() 中断休眠,利用的是异常处理机制
join 线程合并

异步线程模型

 线程之间不必等待
同步线程模型

 线程之间排队

什么时候使用同步呢?为什么要引入线程同步呢?

 1.为了数据的安全.尽管应用程序的使用率低,但是为了保证书是安全的,必须加入线程同步机制

  线程同步机制是程序变成了(等同)单线程

 2.什么条件下使用线程同步?

  第一: 必须是多线程环境

  第二:多线程环境共享同一个数据

  第三:共享的数据涉及到修改操作

synchronized(){} 同步代码块

守护线程

 其他所有的用户线程结束,则守护线程退出

 守护线程一般都是无限执行的

 setDaemon

关于定时器的应用

  作用:每隔一段固定的时间执行一段代码

以下是sun提供的反射机制中的类
java.lang.Class;
java.lang.reflect.Constructor;
java.lang.reflect.Field;
java.lang.Method;
java.lang.Modifier;

​ private User{

​ }

反射机制的作用:

  1.反编译: .class -> .java

  2.通过反射机制访问java类的属性,方法,构造方法等.

第一种方式:

  将类加载到JVM中

  Class c1 = Class.forName(“User”); // c1引用保存地址指向堆中的对象,该对象代表的是User整个类
第二种方式:

  Class c2 = User.class;
第三种方式:

  User u = new User();

  Class sc3 = u.getClass();

newInstance相当于调用了无参构造器

关于java中的可变长参数

 如果有精确匹配的方法,则调用该方法,不会再去执行可变长形参的那个方法

 可变长形参等同看做数组

 可变长参数只能出现一次,并且只能出现在参数列表的最后一个位置上

IO+Properties

配置文件(属性文件)
java规范要求属性文件以“.properties”
配置文件的作用使程序更灵活
注意:一般程序中可变的东西不要写死,推荐写到配置文件中 运行同样的程序得到不同的结果