目录
1.System类
System类常用方法:
void exit(int status) | 终止当前正在运行的Java虚拟机。 |
long currentTimeMillis() | 返回当前时间的毫秒数,通常用于计时或性能分析。 |
void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) | 将数组中指定范围的元素复制到另一个数组中。 |
String getProperty(String key) | 获取与指定键对应的系统属性值。 |
void setProperty(String key, String value) | 设置与指定键对应的系统属性值。 |
void gc() | 运行垃圾回收器。 |
void runFinalization() | 强制运行已挂起的对象的终结器。 |
void load(String filename) | 加载包含指定文件名的动态链接库。 |
void loadLibrary(String libname) | 加载具有指定库名称的动态链接库。 |
void setIn(InputStream in) | 重新分配“标准”输入流。 |
void setOut(PrintStream out) | 重新分配“标准”输出流。 |
package Example1518;
import java.util.Date;
public class javaDemo {
public static void main(String[] args) {
// 获取当前的事件戳
Date date = new Date(System.currentTimeMillis());
System.out.println(date);
int [] a = new int[]{1,2,3,4,5,6,7};
int [] b= new int[9];
// 数组复制
System.arraycopy(a,0,b,0,a.length);
for (int i=0;i<b.length;i++){
System.out.print(b[i]);
}
// 垃圾回收机制
System.gc();
}
}
2.Arrays数组操作类
常用方法:
方法 | 描述 |
---|---|
void sort(T[] arr) | 对指定数组进行排序。 |
int binarySearch(T[] arr, T key) | 使用二分查找算法在指定数组中搜索指定元素,并返回索引位置。如果未找到元素,则返回负数。 |
boolean equals(T[] arr1, T[] arr2) | 比较两个数组是否相等,即两个数组中的元素是否相同。 |
void fill(T[] arr, T value) | 将指定值填充到数组的每个元素中。 |
void copyOf(T[] original, int newLength) | 复制指定数组的部分或全部元素到一个新数组中。 |
List<T> asList(T... arr) | 将指定数组转换为列表。 |
T[] toArray(List<T> list) | 将指定列表转换为数组。 |
int hashCode(T[] arr) | 返回指定数组的哈希码值。 |
String toString(T[] arr) | 返回指定数组的字符串表示形式。 |
void parallelSort(T[] arr) | 对指定数组进行并行排序。 |
int compare(T[] arr1, T[] arr2) | 比较两个数组的字典顺序。 |
void setAll(T[] arr, IntUnaryOperator generator) | 使用提供的生成器函数为指定数组的每个元素生成新值。 |
package Example1519;
import java.util.Arrays;
public class javaDemo {
public static void main(String[] args) {
int a[] = new int[]{1,2,4,8,2,3,12,44,3};
Arrays.sort(a);
// 注意用二分法查找时候需要先对数组进行排序
System.out.println(Arrays.binarySearch(a,44));
System.out.println(Arrays.binarySearch(a,99));
System.out.println(Arrays.binarySearch(a,2));
// 输出a数组内容
System.out.println(Arrays.toString(a));
}
}
3.定时调度
该类库可以实现延迟执行一个代码,或者是重复运行一个代码,每一个调度的任务都要继承TImerTask类,而每一个任务的启动都需要Timmer类才能启动
TimmerTask类实现了Runnable接口所以需要覆写run方法
TimerTask类的常用方法:
方法 | 描述 |
---|---|
boolean cancel() | 取消任务的执行。如果任务已经在执行或已被取消,则返回false,否则返回true。 |
abstract void run() | 定义任务的具体逻辑,需要子类实现。当任务被调度执行时,run() 方法会被自动调用。 |
long scheduledExecutionTime() | 返回预定执行任务的时间。如果任务尚未安排执行,则返回0。 |
void scheduledExecutionTime(Date time) | 设置任务的预定执行时间为指定的时间。 |
boolean isScheduled() | 判断任务是否已经安排执行。如果任务已经安排执行,则返回true,否则返回false。 |
Timer类的常用方法:
void schedule(TimerTask task, long delay) | 安排在指定延迟之后执行指定的任务。任务只执行一次。 |
void schedule(TimerTask task, Date time) | 安排在指定时间执行指定的任务。任务只执行一次。 |
void schedule(TimerTask task, long delay, long period) | 安排在指定延迟之后开始执行指定的任务,并以指定的周期重复执行。 |
void schedule(TimerTask task, Date firstTime, long period) | 安排在指定时间开始执行指定的任务,并以指定的周期重复执行。 |
void scheduleAtFixedRate(TimerTask task, long delay, long period) | 安排在指定延迟之后开始执行指定的任务,并以固定的速率重复执行,不受任务执行时间的影响。 |
void scheduleAtFixedRate(TimerTask task, Date firstTime, long period) | 安排在指定时间开始执行指定的任务,并以固定的速率重复执行,不受任务执行时间的影响。 |
void cancel() | 终止该计时器,丢弃所有已安排的任务。 |
void purge() | 从计时器任务队列中移除所有已取消的任务。 |
int purgeCount() | 返回从计时器任务队列中移除的已取消任务的数量。 |
void schedule(TimerTask task, long delay, long period) | 安排在指定延迟之后开始执行指定的任务,并以指定的周期重复执行。 |
void schedule(TimerTask task, Date firstTime, long period) | 安排在指定时间开始执行指定的任务,并以指定的周期重复执行。 |
void scheduleAtFixedRate(TimerTask task, long delay, long period) | 安排在指定延迟之后开始执行指定的任务,并以固定的速率重复执行,不受任务执行时间的影响。 |
void scheduleAtFixedRate(TimerTask task, Date firstTime, long period) | 安排在指定时间开始执行指定的任务,并以固定的速率重复执行,不受任务执行时间的影响。 |
实现每秒更新当前时间并且延迟100ms后输出
package Example1520;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
class MyThread extends TimerTask {
@Override
public void run() {
Date date =new Date();
System.out.println(date);
}
}
public class javaDemo {
public static void main(String[] args) {
MyThread mytask = new MyThread();
Timer task = new Timer();
task.schedule(mytask,100,1000);
}
}
4.Base64加密与解密
核心函数 Base64.Encoder getEncoder(byte[])实现加密与Base64.Decoder getDecoder(byte[])实现解密
案例如下
package Example151;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class javaDemo {
public static void main(String[] args) {
// 原始内容
String str="公司机密:领导每天带着假发";
// 加密
String encode = new String(Base64.getEncoder().encode(str.getBytes(StandardCharsets.UTF_8)));
System.out.println("密文为:"+encode);
// 解密
String decode = new String(Base64.getDecoder().decode(encode));
System.out.println(decode);
}
}