原创 【Java】練習:計算一個字符串中每個字符出現的次數
練習:計算一個字符串中每個字符出現的次數 package test; import java.util.*; public class DemoCalcu { public static void main(St
原创 【Java】異常注意事項(子父類異常)
異常注意事項 1.不要在finally裏面寫return,因爲finally裏面的語句一定會運行,一定返回finally裏面的結果,這樣不好 2.子父類異常的注意事項
原创 【Java】LinkedList鏈表的用法
LinkedList :java.util.LinkedList集合 implements list接口 是List接口的鏈表實現 LinkedList集合的特點: 1.底層是一個鏈表結構 2.裏面包含了大量操作首尾元素的方法 且Lin
原创 【Java】自定義異常
自定義異常: java提供的異常類,不夠我們使用,需要自己定義一些異常類 格式: public class XXException extends Exception|RuntimeException{
原创 【Java】基本類型和字符串之間的轉換
基本類型->字符串 1.基本類型的值+""最簡單的方法 2.包裝類的靜態方法toString(參數), 不是Object類的toString()重載 static String toString(int i)返回一個表示指定整數的Stri
原创 【Java】HashSet集合
Vector是單線程的,讀取速度慢 java.util.Set接口 extends Collection接口 Set接口 是一個哈希表結構,實際上是一個HashMap示例。它不保證set的迭代順序,也不保證順序的恆久不變 1.不允許存
原创 【Java】java9的of方法
jdk9的新特性 List接口,Set接口,Map接口:裏面增加了一個靜態的方法of,可以給集合一次性添加多個元素 static <E> List<E> of (E...elements) 使用前提: 當集合中存儲的元素個數
原创 【Java】HashMap存儲自定義類型鍵值
HashMap存儲自定義類型鍵值 Map集合保證key是唯一的: 作爲key的元素,必須重寫hashCode方法和equals方法,以保證key唯一 (如果沒有重寫,那麼map裏面的自定義類的鍵值對會重複,重寫
原创 【Java】finally代碼塊
finally代碼塊 格式: try{ 可能產生異常的代碼 }catch(定義一個異常的變量,用來接收try中拋出的異常對象){ 異常的處理邏輯,異常對象之後,怎麼處理
原创 【Java】創建多線程方法
創建多線程的第一種方式 java.lang.Thread類:是描述線程的類,我們想要實現多線程程序,就必須繼承Thread類 實現步驟: 1.創建一個Thread類的子類 2.在Thread類的子類中重寫T
原创 【Java】Thread和Runnable的區別
Thread和Runnable的區別 1.避免了單繼承的侷限性 一個類只能繼承一個類(一個人只能有一個親爹),類繼承了Thread類就不能繼承其他的類 實現了Runnable接口,還可以繼承其他的類,實現其他的接口 2.增
原创 【Java】異常概念&異常體系
異常概念 java.lang.Throwable:類是Java語言中所有錯誤或異常的超類 Exception:編譯期異常,進行編譯(寫代碼)java程序出現的問題 RuntimeException:運行期異常, jav
原创 【Java】try...catch異常處理的第二種方式
try...catch異常處理的第二種方式 格式: try{ 可能產生異常的代碼 }catch(定義一個異常的變量,用來接收try中拋出的異常對象){ 異常的處理邏輯
原创 【Java】解決線程安全問題 synchronized—同步代碼塊
解決線程安全問題 synchronized—同步代碼塊 買票案例出現了線程安全問題,賣出了不存在的票和重複的票 解決線程安全問題的一種方案:使用同步代碼塊 格式: synchronized(鎖對象){ 可能會出現線程安全問題的代
原创 【Java】Thread類的常用方法 獲取線程的名稱,設置線程名稱,sleep()
Thread類的常用方法 獲取線程的名稱: 1.使用Thread類中的方法getName() String getName() 返回該線程的名稱 2.可以先獲取到當前正在執行的線程,使用線程中的方法getName()獲取線程的名