file
递归
字符集
编码
乱码gbk,a我m,utf-8
缓冲流
冒泡排序
//冒泡排序
public static void bubbleSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) { // 外层循环控制排序轮数
for (int j = 0; j < n -i - 1; j++) { // 内层循环负责比较和交换
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
//逆向冒泡排序
public static void bubbleSort2(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) { // 外层循环控制排序轮数
for (int j = n-2; j >=i; j--) { // 内层循环负责比较和交换
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
转换流
打印流
数据流
多线程
callable接口创建
Thread常见方法
线程安全问题
锁
用this锁可以锁住不同的类对象(资源),比如Account资源有两个线程争抢,他的余额是100000.
而如果用this锁,只有一个用户能带着account过来执行。其他的如Accounts不受影响。
静态方法用Account.class锁会锁住所有线程。
字符串
reentrantlock
线程池