原创 Java Error /Exception 異常處理

在我們日常所看到的代碼中,幾乎所有的都存在異常,爲了保證程序出現異常之後可以正常執行完畢,需要進行異常處理 異常類的繼承結構: 所有的異常都是由Throwable繼承而來,他的兩個子類分別爲Error、Exception Error類描

原创 Java多線程之線程同步問題

線程同步 產生原因:每一個線程輪番搶佔資源 1、不同步問題 //多個線程同時處理數據,不同步 class MyThread implements Runnable{ private int ticket = 10;//總共

原创 二叉樹前序、中序、後序遍歷遞歸版

二叉樹:一個結點最多隻有兩個孩子 定義二叉樹類 private static class Node{ char value; Node left; Node right;

原创 Java Socket編程—網絡聊天室多線程升級版

服務器端 MultiThreadServer.java /** * 服務器 */ import java.io.IOException; import java.io.PrintStream; import java.ne

原创 Java SE— 對象數組的定義與使用

對象數組: 對象數組通常是以引用數據類型的定義,例如類,接口。 對象數組的動態初始化 語法:類名稱[] 對象數組名稱 = new 類名稱[長度]; 對象數組保存的內容比普通數據類型多,需要熟練使用。 class Person{

原创 Java 抽象類與接口的使用

抽象類的定義與使用 抽象類的概念: 抽象類就是在普通類的基礎上擴充一些抽象方法,所謂的抽象方法指的是值聲明而未實現的方法(沒有方法體) 所有的抽象方法要求使用abstract關鍵字來定義,並且抽象等待所在的類也一定要用abstract關鍵

原创 Java單例設計模式及其優缺點

單例模式的實現 什麼是單例設計模式? 單例模式,是一種常用的軟件設計模式。它的核心思想是指,一個類只允許產生一個實例化對象。 單例設計模式實現要求: 1、構造方法私有化,保證在類的外部不能通過使用new關鍵字來實例化對象 2、在類

原创 Java Socket編程—基於Socke編程的單線程網絡聊天室

先上代碼 SingleThreadServer.java //服務器端 import java.io.IOException; import java.io.PrintStream; import java.net.ServerS

原创 軟件測試基礎知識

什麼是軟件測試? 軟件測試就是證明軟件不存在錯誤、程序可以正確運行的過程 測試與調試的區別? 目的不同:測試的任務是發現程序中的缺陷,調試的任務是發現並解決問題 參與人員不同:測試是由測試人員和開發人員一同完成(黑盒測試主要由測試

原创 開始軟件測試——常見的幾個問題

軟件測試 1、軟件測試的生命週期 軟件測試的生命週期: 需求分析 --> 測試計劃 --> 測試設計、測試開發 --> 測試執行 --> 測試評估 2、軟件開發階段測試人員的具體工作: 需求階段:測試人員瞭解需求、對需求進行分

原创 Java 類集複習總結

類集複習(閱讀部分源碼) 1.ArrayList、Vector、LinkedList的關係與區別 以上三個類都是List接口下的常用子類,其中ArrayList與Vector基於數組實現,LinkedList基於雙向鏈表實現 A

原创 快查詢項目測試流程

一、測試計劃 1、測試目的 快查詢是一款本地文件查詢工具,既要做到查詢速度快(每次查詢時間不超過1秒),也要確保查詢出的文件與預期結果相符。在測試的過程中發現程序存在的問題並進行優化 2、測試範圍 對整個項目的所有功能進行測試,並

原创 Java垃圾回收機制

垃圾回收 如何判斷對象是否存活? 緩存階段(finalize()) 如何進行垃圾回收(GC算法) 判斷對象是否存活的方法: 引用計數:給對象增加引用計數器,但是無法解決循環引用問題 可達性分析算法:以 GC Roots對象作

原创 深入理解 Java HashMap

HashMap源碼解讀(內部哈希算法、負載因子、樹化、擴容) 樹化: 當數組下標對應的鏈表長度 >= 8(添加完新結點之後的鏈表長度),並且此時哈希表的長度 >= 64,將鏈表樹化,否則只是進行了簡單的擴容處理 樹化原因: 當鏈表

原创 文件搜索工具 測試流程

測試用例 1、項目需要實現的功能 對本地文件建立索引 將索引信息存儲在數據庫中 文件查詢 查詢條件:文件名稱、文件名稱+文件類型 文件監控 本地文件系統新建或者刪除一個文件,對數據庫表進行更新 2、測試設計 測試分析: (1)對所