原创 什麼是死鎖?怎樣避免死鎖的產生?

一.什麼是死鎖? 死鎖是指兩個或兩個以上的進程在執行過程中,因爭奪資源或不正確的進程間推進順序,而造成的一種互相等待的現象,若無外力作用,它們都將無法推進下去,此時稱系統處於死鎖狀態或系統產生了死鎖,這些永遠在互相等待的進程稱爲死

原创 Java爲什麼不支持多繼承?

多繼承指一個子類能同時繼承於多個父類,從而同時擁有多個父類的特徵,但缺點是顯著的。 1.若子類繼承的父類中擁有相同的成員變量,子類在引用該變量時將無法判別使用哪個父類的成員變量。 2.若一個子類繼承的多個父類擁有相同方法,同時子

原创 黑盒白盒測試的區別

一.黑盒測試(Black-box Testing) 黑盒測試也稱功能測試,測試中把被測的軟件當成一個黑盒子,不關心盒子的內部結構是什麼,只關心軟件的輸入數據與輸出數據。 不看軟件代碼,只對功能進行測試 對軟件進行操作,觀察結果是否

原创 面試再也不怕被問 HashMap 了

一.HashMap基本知識 1.哈希衝突的定義 如果兩個不同的元素,通過哈希函數得出的實際存儲地址相同怎麼辦?也就是說,當我們對某個元素進行哈希運算,得到一個存儲地址後,然後要進行插入的時候,發現該位置已經被其他元素佔用了,其實這

原创 進程間的通信方式以及多線程和多進程之間的區別

一.兩者區別 多進程和多線程的主要區別是:線程是進程的子集(部分),一個進程可能由多個線程組成。多進程的數據是分開的、共享複雜,需要用IPC;但同步簡單。多線程共享進程數據,共享簡單;但同步複雜。 (1)多進程 進程是程序在計算

原创 怎樣優化數據庫?怎樣優化數據庫的查詢效率?

一.優化數據庫的查詢效率 存儲引擎的選擇:如果數據表需要支持事務處理,應該考慮 Innodb 引擎,因爲它完全符合 ACID 的特性;如果數據表不需要支持事務處理,則使用存儲引擎 MyISAM 對查詢進行優化,要儘量避免使用全表

原创 淺析 AVL 樹,紅黑樹,B 樹,B+ 樹

一. AVL 樹 1.出現的原因 二叉搜索樹雖可以縮短查找的效率,但如果數據有序或接近有序,二叉搜索樹將有可能退化爲單支樹,此時查找元素相當於在順序表中查找元素,效率低下,相當於O(n)。 例如:對於同一個關鍵碼集合,如果各關鍵碼

原创 Java 垃圾回收機制與算法

話不多說,首先來引入一張圖然後來進行具體的解釋: 引言:Java語言中一個顯著的特點就是引入了垃圾回收機制,使c++程序員最頭疼的內存管理的問題迎刃而解,它使得Java程序員在編寫程序的時候不再需要考慮內存管理。垃圾回收可以有效

原创 hashCode() 方法有什麼作用呢?

一.引言 首先 hashCode() 方法被設計在 Object 類中,說明是希望所有的對象都能實現該方法,該方法是會返回一個對應於當前對象的一個整數,之所以所有對象都實現該方法是爲了將來對象在查找時變得快捷。 Java中的集合

原创 數據庫初學

一.爲什麼不用文件存儲數據,而用數據庫? 存儲數據用文件就可以了,爲什麼還要弄個數據庫? 文件保存數據有以下幾個缺點: ●文件的安全性問題 ●文件不利於數據查詢和管理 ●文件不利於存儲海量數據 ●文件在程序中控制不方便 數據庫存儲

原创 PreparedStatement 和 Statement 的區別

一、連接數據庫的步驟 第一種: (1)加載驅動: Class.forName(“com.mysql.jdbc.Driver”); (2)獲取連接: Connection connection=DriverManager.getCo

原创 還不會使用 git 你就 out 了!

1.Git的工作流程 (暫存區是給我們留有迴旋餘地的,最終的Git倉庫就存儲我們代碼的最新流程) 2.Git的簡單配置 (配置用戶名和用戶郵箱,因爲以後每次與Git的交互都會使用該信息) git config --global

原创 微信紅包、QQ登錄、搜索框、水杯、聊天窗口、兩臺電梯測試用例

文章目錄一.微信紅包測試用例二.QQ登錄測試用例三.搜索框測試用例四.水杯測試用例五.聊天窗口測試用例六.兩臺電梯測試用例 一.微信紅包測試用例 1.功能測試 在紅包輸入金額輸入框,紅包個數輸入框中只能輸入數字 紅包裏最多和最少可

原创 二叉樹的前,中,後序及中序遍歷(還有其它變形算法題)

1.前序遍歷 public static void preOrderTraversal(Node root){ if(root==null){ return; }

原创 軟件開發模型與測試模型

一.瀑布模型 瀑布模型在軟件工程中佔有重要地位,是所有其他模型的基礎框架。 瀑布模型的每一個階段都只執行一次,因此是線性順序進行的軟件開發模式。 (1)優點: 強調開發的階段性; 強調需求分析和早起計劃; 強調產品測試。