原创 JAVA的位運算符

作者:傻傻傻傻 鏈接:https://www.nowcoder.com/questionTerminal/8ee967e43c2c4ec193b04

原创 JAVA語言特性筆記

1、JAVA支持的多態性質主要是爲兩種:靜態多分派和動態單分派。 靜態多分派在JAVA中的表現形式即:重載。主要由靜態方法和私有方法構成(還有實例構造方法、父類方法)。他們的引用在類加載之初就已經被確定了。一個是類級別的,一個是私有方法

原创 數據結構-圖的分析

1、有向圖的強連通分量的計算:Kosaraju算法 時間複雜度:O(V+E),對於有向圖的強連通性查詢可以在常數時間內完成。 步驟:1、對圖G進行轉置(反向圖)得到圖Gr    2、對Gr求得逆反序,即Gr的拓撲序列    3、從Gr的拓

原创 Java併發編程學習筆記(一)

第一部分:基礎知識第三章:對象的共享 3.2  發佈與溢出  發佈的定義:使得對象能夠在當前作用域之外的代碼中使用。  發佈的注意事項:(1)發佈對象可能會破壞封裝性 (2)難以維持不變性,在構造完成前發佈對象則會破壞線程安全性(引用

原创 Arrays.sort源碼分析

2017.11.30 開始對JDK源碼的閱讀,在算法書上看到提及過這個,而且自己平時偷懶簡單排一排的時候,也是使用這個方法進行排序,索性將它看上一看。 /** * The minimum array length below which

原创 HashMap源碼閱讀筆記

39-45行 註釋:主要介紹了HashMap和HashTable的區別,即HashMap允許null作爲鍵、值,而且HashMap不是線程安全的。並且HashMap中的元素不是有序的,特別的,也不保證隨着時間推移,這個map中存儲的順序

原创 網絡編程學習

BIO NIO AIO BIO(同步阻塞) Server端代碼並啓動 Client端代碼 問題總結 NIO(New I/O 或者稱之爲 Non-Block I/O) AIO(Asynchornous I/O 或者稱之爲 NIO 2

原创 JVM學習筆記

java內存區域 java內存區域劃分爲:java堆、方法區(以及運行時常量池)、本地方法棧、虛擬機棧、程序計數器線程共享的區域是:java堆、方法區;線程隔離的是:本地方法棧、虛擬機棧、程序計數器。異常:程序計數器既不拋出StackO

原创 Hadoop啓蒙demo——單詞統計WordCount(Intellij IDEA版)

寫在代碼之前 在網上搜了很多都說要打包jar,或者需要在環境變量中寫入,比較繁瑣。但是筆者寫的這個代碼也是能直接跑的,正常輸出結果。主要是要有下面這行代碼,會在控制檯打印出運行結果並在完成後退出,這樣看着比較直觀一點。 System.ex

原创 java線程安全的實現方法總結學習

java語言中的線程安全 將安全程度由強到弱排序:不可變、絕對線程安全、相對線程安全、線程兼容和線程對立,共五種情況不可變:典型的就是String類,這個就不多贅言。還有枚舉類,以及Number類的部分子類,如Long/Double/B

原创 計算機網絡查漏補缺

這篇文章相對來說就是自己複習總結了,可能知識點就不是特別成體系,想到哪補哪吧。 協議相關 應用層協議HTTP/HTTPS協議:前者佔用的80端口,後者是443端口;後者採用SSL(安全套接字層),以及加密算法/證書來保護安全性,相對來

原创 ConcurrentHashMap源碼閱讀筆記(JUC)

76-85行 註釋:這裏主要講的是同爲線程安全的Hash,HashTable和ConcurrentHashMap的區別。ConcurrentHashMap(下文用本類指代)雖然是線程安全的,但是檢索操作(比如get,是不保證加以鎖的),並

原创 MySQL查詢緩存

查詢緩存 優點:(1)對於某些頻繁出現的查詢語句,可以減少I/O。缺點:(1)查詢緩存需要佔用一定的內存。(2)每次查詢執行前都要先檢查緩存,故不一定是有利的。緩存未命中的原因:(1)查詢不在緩存中 (2)緩存失效 (3) 查詢中包含不

原创 操作系統查漏補缺

進程的描述與控制 進程的描述 定義:程序+PCB(進程控制塊)+數據集合,是系統資源分配的最小單位。目的:爲了使程序併發執行,並能對其加以描述和控制。特徵:動態性、併發性、獨立性、異步性。三種基本狀態:就緒態、運行態、阻塞態    

原创 JVM學習筆記(二)——虛擬機類加載機制

類加載的時機 類加載的生命週期:加載驗證、準備、解析(統稱爲連接),其中解析過程不像其他過程那樣按部就班,它可以在初始化階段之後再開始,也就是動態分派的基礎,動態綁定。初始化使用卸載什麼時候開始類加載,共只有五種情況遇到new,get