Java常用类库(System、Arrays、定时调度、Base64加密解密)

目录

1.System类

2.Arrays数组操作类

3.定时调度

4.Base64加密与解密


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);
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alphamilk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值