第八章 JAVA集合
第一節:Java集合的引入
數組的長度是固定,不能根據我們的需求自動變長或者變短。所以就引入了可變化長度的集合。
第二節:List集合
List集合里的元素是可以重復的。List接口的主要實現類有ArrayList,和LinkedList。
在數據量不大的情況下,這兩個類性能差別不大,一般情況下,集合里的元素很少變化的,一般用ArrayList,
1. 數據量較大時在隨機查詢方面,ArrayList比較優秀,在ArrayList中進行隨機訪問所消耗的時間是固定的,而LinkedList是不支持快速的隨機訪問的。
2. 假如有一個列表,要對其進行大量的插入和刪除操作,在這種情況下LinkedList就是一個較好的選擇。
當一個元素被加到ArrayList的最開端時,所有已經存在的元素都會后移,這就意味着數據移動和復制上的開銷。相反的,將一個元素加到LinkedList的最開端只是簡單的為這個元素分配一個記錄,然后調整兩個連接。
參考: http://pengcqu.iteye.com/blog/502676
第三節:集合的遍歷

/** * 用Iterator遍歷集合 */ Iterator<Student> it=list.iterator(); // 返回一個迭代器 while(it.hasNext()){ Student s=it.next(); // 返回迭代的下一個元素。 System.out.println("姓名:"+s.getName()+"年齡:"+s.getAge()); } /** * 用foreach遍歷 */ for(Student s:list){ System.out.println("姓名:"+s.getName()+"年齡:"+s.getAge()); }
第四節:Set集合
Set集合是Collection接口的子接口,沒有對Collection接口進行擴展,里面不允許存在重復的內容;HashSet--無序,不重復。
第五節:Map集合
HashMap
第九章 JAVA多線程
第一節:Java多線程的引入
第二節:Java多線程的實現
1,繼承Thread類
2,實現Runnable接口
3,多線程實現數據共享
http://blog.java1234.com/blog/articles/230.html
第三節:線程狀態
第四節:線程常用方法
1,getName(); 返回該線程的名稱。
2,currentThread();返回對當前正在執行的線程對象的引用。
3,isAlive();測試線程是否處於活動狀態。
4,sleep();線程休眠。
5,setPriority(int newPriority);更改線程的優先級。
6,yield();暫停當前正在執行的線程對象,並執行其他線程。
http://blog.java1234.com/blog/articles/232.html
第五節:線程同步
可以給方法加同步,也可以用同步塊:
http://blog.java1234.com/blog/articles/233.html
第十章 JAVA IO流
第一節:IO流簡介
IO 流的分類
根據處理數據類型的不同分為:字符流和字節流
根據數據流向不同分為:輸入流和輸出流
第二節:文件操作 File類
1,public boolean mkdir() 創建此抽象路徑名指定的目錄。
2,public boolean createNewFile() 創建一個文件
3,public boolean delete() 刪除此抽象路徑名表示的文件或目錄。如果此路徑名表示一個目錄,則該目錄必須為空才能刪除。
4,public boolean exists() 測試此抽象路徑名表示的文件或目錄是否存在。
5,public File[] listFiles() 返回一個抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中的文件。
6,public boolean isDirectory() 測試此抽象路徑名表示的文件是否是一個目錄。
http://blog.java1234.com/blog/articles/235.html
File file=
new
File(
"C://apache-tomcat-7.0.63"
);...運行輸出:C:\apache-tomcat-7.0.63
系統中的路徑都是“\”, 在java中需要轉義“\\”, 如果寫成“//”或者“/”也沒問題(本人驗證過)。
第三節:InputStream和OutputStream
InputStream輸入流可以把文件從硬盤讀取到內存;
OutputStream輸出流可以把文件從內存寫入到硬盤;文件操作方面用的是FileInputStream和FileOutputStream;
http://blog.java1234.com/blog/articles/237.html
第四節:BufferedInputStream和BufferedOutputStream
帶緩沖的輸入和輸出流;緩沖的概念,就是在A,B之間建立內存緩沖區,讀取得快,就先放緩沖區,然后再從緩沖區寫入指定目標,和沒有緩沖比,效率快很多。

public class Demo01 { /** * 緩沖方式 * @throws Exception */ public static void bufferStream()throws Exception{ BufferedInputStream bufferedInputStream=new BufferedInputStream(new FileInputStream("c://《一頭扎進J2SE》V2.0視頻筆錄2.doc")); BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(new FileOutputStream("c://復制的《一頭扎進J2SE》V2.0視頻筆錄2.doc")); int b=0; long startTime=System.currentTimeMillis(); while((b=bufferedInputStream.read())!=-1){ bufferedOutputStream.write(b); } bufferedInputStream.close(); bufferedOutputStream.close(); long endTime=System.currentTimeMillis(); System.out.println("緩沖方式話費的時間:"+(endTime-startTime)); } /** * 非緩沖方式 * @throws Exception */ public static void stream()throws Exception{ InputStream inputStream=new FileInputStream("c://《一頭扎進J2SE》V2.0視頻筆錄.doc"); OutputStream outputStream=new FileOutputStream("c://復制的《一頭扎進J2SE》V2.0視頻筆錄.doc"); int b=0; long startTime=System.currentTimeMillis(); while((b=inputStream.read())!=-1){ outputStream.write(b); } inputStream.close(); outputStream.close(); long endTime=System.currentTimeMillis(); System.out.println("非緩沖方式話費的時間:"+(endTime-startTime)); } public static void main(String[] args) throws Exception { //stream(); bufferStream(); } }
第五節:Reader和 Writer
主要用於文本的讀取和寫入,一般使用的實現類是FileReader和FileWriter;
http://blog.java1234.com/blog/articles/239.html
第十一章 JAVA debug斷點調試
第一節:斷點調試的重要性
第二節:eclipse debug使用基本操作
第三節:常見調試 F6 單步 F8完成 F5進入方法
第四節:ctrl+shift+i 查看表示式值
第五節:運行時動態修改變量值
http://blog.java1234.com/blog/articles/245.html