2021.09.27
- 存在线程安全的变量及同步锁的使用方式:
- 处理财务数据的类型:BigDecimal
- Leetcode经典算法08:排序数组查找元素的第一个位置和最后一个位置
- Leetcode经典算法09:移除元素不改变下标位置
- final finally finalize三者的区别
- 多线程定时器:实现数据定时备份操作
存在线程安全的变量及同步锁的使用方式:
*/
处理财务数据的类型:BigDecimal
BigDecimal bigDecimal = new BigDecimal(100.1234);
BigDecimal bigDecimal1 = new BigDecimal(200.1234);
BigDecimal bigDecimal2 = bigDecimal.add(bigDecimal1);
System.out.println(bigDecimal2); // 300.24680000000000745785655453801155090332031250
Leetcode经典算法08:排序数组查找元素的第一个位置和最后一个位置
package du;
public class d999 {
public static void main(String[] args) {
int[] array = new int[]{1, 1, 2, 3, 3, 4, 5, 6, 6, 7, 7, 8};
int[] result = searchRange(array, 6);
for (int i = 0; i < result.length; i++) {
System.out.println(result[i]);
}
}
public static int[] searchRange(int[] array, int target) {
int[] objects = new int[]{-1, -1};
if (array.length == 0){
return objects;
}
for (int i = 0; i < array.length; i++) {
if (array[i] == target) {
objects[0] = i;
break;
}
}
for (int j = array.length - 1; j >= 0; j--) {
if (array[j] == target) {
objects[1] = j;
break;
}
}
return objects;
}
}
Leetcode经典算法09:移除元素不改变下标位置
public int removeElement(int[] nums, int val) {
if (nums == null || nums.length == 0)
return 0;
int j = 0;
for (int i = 0; i < nums.length; i++) {
if (nums[i] != val) {
nums[j] = nums[i];
j++;
}
}
return j;
}
final finally finalize三者的区别
多线程定时器:实现数据定时备份操作
package du;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class d800 {
public static void main(String[] args) throws Exception {
Timer timer = new Timer();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date firstExecTime = simpleDateFormat.parse("2021-09-27 20:05:00");
timer.schedule(new LogTimerTask(),firstExecTime,1000*5);
}
}
class LogTimerTask extends TimerTask {
@Override
public void run() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String string = simpleDateFormat.format(new Date());
System.out.println(string + "finish data archived");
}
}