原创 JDK源碼學習之集合框架HashMap

前言: 先上Java集合框架框圖,以對其整體把握 概述 本文將解析HashMap的工作原理,put()和get()方法的過程是如何實現的,equals()和hashCode()的都有什麼作用,HashMap的大小超過了負載因子

原创 JDK源碼學習之HashMap擴容機制resize()

雖然在hashmap的原理裏面有這段,但是這個單獨拿出來講rehash或者resize()也是極好的。 什麼時候擴容:(是指的Hash數組的擴容)當向容器添加元素的時候,會判斷當前容器的元素個數,如果大於等於閾值—即當前數組

原创 JDK源碼學習之集合框架綜述

一、Java集合框架框圖 對於Java集合框架,在具體介紹某一類之前,先對其做一個整體的概述,以確保對其整體把握。已達到對Java集合框架的整體把握。廢話不多說,先上一張Java集合框架的框圖(不包含併發,有關併發後續再整理)。    

原创 柱形圖中求最大四邊形面積

題目:輸入N個非負整數,分別代表寬度爲1,高度爲整數值得柱子,從柱狀圖裏找出最大四邊形的面積。要求時間複雜度爲O(n),空間複雜度爲O(n) 舉例:輸入數組{1,2,3,1,2,3,1,1,1,1},柱狀圖如圖所示,最大四邊形的面積爲10

原创 算法之八大排序算法

1、直接插入排序 插入排序是一種最簡單直觀的排序算法,它的工作原理是通過構建有序序列,對於未排序數據,在已排序序列中從後向前掃描,找到相應位置並插入。 public static void InsertSort(int[] arra

原创 算法之LRU和LFU算法

在地址映射過程中,若在頁面中發現所要訪問的頁面不在內存中,則產生缺頁中斷。當發生缺頁中斷時,如果操作系統內存中沒有空閒頁面,則操作系統必須在內存選擇一個頁面將其移出內存,以便爲即將調入的頁面讓出空間。而用來選擇淘汰哪一頁的規則叫做頁面置換

原创 Java求最大公約數以及最小公倍數

求解兩個數的最大公約數,一般使用輾轉相除法。例如整數a和整數b,用其中較大的數除以較小的數,得商和餘數。如果餘數爲零,那麼最大公約數即爲b;否則將被除數賦值給a,餘數賦值給b,繼續進行除法運算。 求解兩個數的最小公倍數:兩個數的乘積等於其

原创 設計模式之外觀模式(即門面模式)

設計模式系列文章:   1、設計模式之工廠模式   2、設計模式之單例模式   3、設計模式之代理模式   4、設計模式之外觀模式(即門面模式)   5、設計模式之策略模式   6、設計模式之責任鏈模式   7、設計模式之觀察

原创 刪除單向鏈表中的重複節點

題目: 在一個排序(保證重複節點連在一塊)的鏈表中,存在重複的結點,請刪除該鏈表中重複的結點,重複的結點不保留,返回鏈表頭指針。如 輸入鏈表:1->2->3->3->4->4->5 ,處理後爲:1->2->5 解析 : 要想刪除重複節點有

原创 設計模式之工廠模式(Java)

設計模式系列文章:   [1、設計模式之工廠模式](https://blog.csdn.net/sixingmiyi39473/article/details/78507513)   2、設計模式之單例模式   3、設計模式之代理模式

原创 Java開發——反射機制

前言: 在面向對象的世界裏,萬事萬物皆對象。但是在java語言中,靜態的成員、普通數據類型除外,靜態成員屬於類,而不是對象,而普通數據類型有對應的包裝類來彌補它。類是不是對象呢?類是(哪個類的對象呢?)誰的對象呢?類是對象,類是java.

原创 設計模式之單例模式(Java)

設計模式系列文章:   1、設計模式之工廠模式   2、設計模式之單例模式   3、設計模式之代理模式   4、設計模式之外觀模式(即門面模式)   5、設計模式之策略模式   6、設計模式之責任鏈模式   7、設計模式之觀察

原创 JDK源碼學習之集合HashMap、Hashtable、WeakHashMap比較

先上一張Java 集合框圖: HashMap: public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serial

原创 Linux 常用指令

目錄操作命令: cd :進入某個目錄 ls:顯示當前目錄下的文件及目錄 pwd:顯示當前路徑 mkdir:創建目錄 文件操作命令 rename:重命名 mv:移動文件 cp:複製文件 find:查找文件 rm:刪除文件

原创 Java Collections.sort()實現List排序的默認方法和自定義方法

1、第一種是model類實現Comparable接口,重寫重寫int compareTo(Object o)方法 public class StudentDTO implements Comparable{ private Stri