覆盤工作-2024-05

平凡力量發表於2024-05-23

2024-05-22

1.java break continue

String[] arr = {"2", "4", "6", "8"};
        for (int i = 0; i < arr.length; i++) {
            if (i != 1) {
                System.out.println(arr[i]);
            } else {
                // break 直接終止並跳出當前這個(最內層迴圈),繼續執行這個迴圈塊後面的程式碼(如果有的話)
                // 即最終輸出2
                break;
            }
        }
        
        List<String> list = new ArrayList<>(Arrays.asList("2", "4", "6", "8"));
        for (int i = 0; i < list.size(); i++) {
            if (i != 1) {
                System.out.println(list.get(i));
            } else {
                // continue 終止本次迴圈,繼續執行下一次迴圈,即執行下一次i+1迴圈體
                // 即最終輸出2,6,8
                continue;
            }
        }

2.js遍歷陣列

let arr = [2, 4, 6, 8];
for (let i = 0; i < arr.length; i++) {
    console.log(arr[i]);
}
for (let item of arr) {
    console.log(item);
}

3.jrxml檔案格式是xml檔案的一種,可以理解為是xml的一個子集。

4.spring-mvc-timeTask.xml是springmvc配置檔案之一。

5.設定方法為非同步方法:

spring配置檔案spring-mvc-timeTask.xml中配置:

<task:annotation-driven executor="executor"/>
    <task:excutor id="executor" pool-size="5"/>

service層方法加註解:

@Service("smiService")
public class SmiServiceImpl extends CommonServiceImpl implements SmiServiceI {
    @Async
     @Override
    public void addS() {
        // 方法體
    }
}

測試:

非同步方法裡:

System.out.println("start async: " + System.currentTimeMillis());
        try {
            // 需要catch InterruptedException
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
System.out.println("end async: " + System.currentTimeMillis());

主方法裡:

System.out.println("main query: " + System.currentTimeMillis());

最終儘管非同步方法寫在程式碼前面,但最終主方法先列印,業務完成後,非同步方法執行完,證明非同步沒問題:

main query: 1716382319640
start async: 1716382319640
end async: 1716382324652

相關文章