原创 【源碼分析】深入理解HashMap 學習手記

本文基於JDK1.6   HashMap簡介     HashMap是基於哈希表實現的,每一個元素是一個key-value對,其內部通過單鏈表解決衝突問題,容量不足(超過了閥值)時,同樣會自動增長。     HashMap是非線程安全的,

原创 【Java併發】淺談Java內存區域與內存模型

目錄 理解Java內存區域與Java內存模型 Java內存區域 棧、堆、方法區 舉例說明: Java內存模型概述 JMM存在的必要性 原子性 理解指令重排 可見性 JMM提供的解決方案 JMM中的happens-before 原則 有序性

原创 深入理解LinkedList

LinkedList簡介     LinkedList是基於雙向循環鏈表(從源碼中可以很容易看出)實現的,除了可以當做鏈表來操作外,它還可以當做棧、隊列和雙端隊列來使用。     LinkedList同樣是非線程安全的,只在單線程下適合使

原创 JIRA software部署流程總結

JIRA software部署流程總結 目錄 JIRA software部署流程總結 1、選擇JIRA版本和依賴的軟件版本。 2、服務器端硬件要求 3、安裝並配置postgreSQL 4、將JIRA連接到postgreSQL 4、JIRA

原创 MySQL 報 [ERROR] Can't start server: can't check PID filepath: No such file or directory

或者 [ERROR] Can’t start server: can’t create PID filepath: No such file or directory 錯誤原因 一般是由於服務器強制關機導致pid文件丟失。 解決辦法 在/

原创 Git入門教程(基本操作)

Git入門教程(基本操作) 來公司有一段時間了,項目開發中碰到的比較多的問題還屬Git的使用,之前公司開發項目一直用的SVN,對Git只是瞭解,卻從來沒有使用過。經過這一段時間學習和使用,發現Git是真的非常強大,所以今天就對自己這段時

原创 HashMap中的全部Value轉入List中的方法

今天工作中需要使用HashMap來排重,然後將最終Value集插入List List.addAll()方法不支持HashMap,所以只好自己coding   解決辦法 Set<Map.Entry<String,Department>>

原创 Linux IO模式(BIO、NIO、IO多路複用、異步IO)及 select、poll、epoll詳解

轉載自:https://segmentfault.com/a/1190000003063859   同步IO和異步IO,阻塞IO和非阻塞IO分別是什麼,到底有什麼區別?不同的人在不同的上下文下給出的答案是不同的。所以先限定一下本文的上下

原创 搜狗秋招筆試第三題吃糖代碼

思路: 小明和小紅都想要贏,所以他們每次都會選當下最多的糖盒,一開始的時候小明會選全局最大的,然後就有了斷點,以後就從每一次的斷點的兩邊取糖盒,所以比較的就是左和右的大小,每一次取走糖盒,就把環重新排成新的環,然後再進行此過程,直到沒有糖

原创 TCP控制擁塞的四種算法:慢開始,擁塞避免,快重傳,快恢復

我們在開始假定: 1:數據是單方向傳遞,另一個窗口只發送確認.  2:接收方的緩存足夠大,因此發送方的大小的大小由網絡的擁塞程度來決定. 一:慢開始算法和擁塞避免算法 發送方會維持一個擁塞窗口,剛開始的擁塞窗口和發送窗口相等,一般開

原创 【Java併發】偏向鎖、輕量級鎖、重量級鎖的區別

Synchronized一直是多線程併發編程中的重要角色,但是在Java1.6中,爲了減少獲得鎖帶來的性能消耗,引入了偏向鎖和輕量級鎖。 目錄 鎖的狀態: 偏向鎖 輕量級鎖 重量級鎖 偏向鎖、輕量級鎖、重量級鎖應用場景 鎖的狀態: 無鎖狀

原创 數據庫中的索引詳解

說白了,索引問題就是一個查找問題。。。   數據庫索引,是數據庫管理系統中一個排序的數據結構,以協助快速查詢、更新數據庫表中數據。索引的實現通常使用B樹及其變種B+樹。 在數據之外,數據庫系統還維護着滿足特定查找算法的數據結構,這些數據結

原创 JAVA類加載機制詳細介紹

目錄   類的生命週期  類加載的過程 階段1:加載 階段2:驗證 階段3:準備 階段4:解析 階段5:初始化 方法的幾個注意事項()> 類的生命週期    類加載的過程 階段1:加載 加載是類加載的第一個階段,需要完成三件事情: 通過

原创 【Java併發】等待/通知機制詳解

轉載請註明出處https://blog.csdn.net/fury97/article/details/81336047 目錄 等待/通知機制 同步隊列 示例 舉例說明 應用場景 等待/通知的經典範式 Thread.join()  等待/

原创 Java中的靜態初始化和非靜態初始化

1. Java中的初始化 Java與C++的一個不同之處在於,Java不僅有構造函數,還有一個“初始化塊”(Initialization Block)的概念。Java中的初始化塊在創建Java對象時隱式執行,並且是在構造函數之前執行。 2