※使用者輸入名稱,調出該名稱相關資料
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
※使用者輸入名稱,調出該名稱相關資料
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

※由使用者輸入資料存入資料庫
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.Scanner;
※ If derby fail
●Open C:\jdk1.7\jre\lib\security\java.policy
●Add:
--- permission java.net.SocketPermission "localhost:1527","listen";
※High-Level Threading Alternatives
●傳統執行緒相關API較難操做,可以考慮以下替代方案:
---ExecutorService: 以高階方式執行執行緒
●系統自動建立及重用執行緒
●可自執行緒運算完後獲得結果
import java.util.concurrent.ConcurrentLinkedQueue;
public class T1 extends Thread {
private ConcurrentLinkedQueue<Integer>q; //拿不到就走
public T1(ConcurrentLinkedQueue<Integer>q){
this.q = q;
import java.util.concurrent.BlockingQueue;
public class T1 extends Thread {
private BlockingQueue<Integer>q;
public T1(BlockingQueue<Integer>q){
this.q = q;
java.util.concurrent.atomic
操作請操考:https://kknews.cc/zh-tw/other/e52jny.html
public class UUIDThread extends Thread {
private UUID uuid;
●Thread.sleep(4000)表執行緒會暫時停止執行4秒後,系統會再將之排程預備執行,因此並不保證一定在4秒後開始執行。
●根據硬體/作業系統/當時系統負載的不同,sleep在不同情況之下是不一定準確。
public class VolatileThread implements Runnable {
public volatile boolean stop; //會並行

※情境: 以執行緒模擬出貨進貨之情形,最終一筆資料為最初數量。
●模擬情形:
public class AddStockThread extends Thread {
public AddStockThread() {
}
●假設二個Exception沒有繼承關係,但其內處理方式一模一樣,如何解決?
●JDK7提供catch multiple exception功能,可能有效減少重複的程式碼。
public class MyAutoCloseable implements java.lang.AutoCloseable {
public void f1(){
throw new IllegalArgumentException("F1 Exception");
1. 操作這兩個類別需要try-catch
2. 只要有開啟檔案,程式最後一定要關閉檔案
3.寫檔案有兩種,一種破壞原本檔案直接覆蓋過去;另一種不破壞檔案複寫過去
4.更詳細的操作需要查詢文件 java.sun.com
●由程式操作類別,拷貝檔案: