原创 從Vim小白到Vim superstar

引言 我的圖形界面環境(GUI)編輯器一直是 Visual Studio Code,而命令行環境(CLI)的編輯器一直是Vim. 我一直想寫一篇關於如何使用VIM的文章,但是我感覺使用Vim首先就是應該熟練掌握它強大地命令,從而才

原创 多個CPU和多核CPU以及超線程(Hyper-Threading)詳解

引言 在這篇文章中我會主要介紹CPU相關的一些重要概念和技術。如果你想更好地瞭解操作系統,那就從本文開始吧。 中央處理器(Central processing unit) 在我們瞭解其它概念之前,我們應該首先了解一下什麼是CPU,

原创 排序算法算法之Bubble Sort

引言 在接下來的一段時間裏,我準備整理一下自己的博客。儘自己最大努力把幾年前寫過的文章都看一遍,把一些存在錯誤的文章修改一下、把沒有必要修改的文章刪掉以及把一些知識點不全的文章進行完善。之所以整理自己的博客有以下3點原因: 回顧

原创 一次畢生難忘的 Java 內存泄漏排查經歷

原文鏈接:http://www.importnew.com/29591.html 文章目錄在一個淒涼的午夜一定是網絡的問題一定是 GC 的問題一定是內存泄漏真有這麼糟糕嗎?還是不行那現在

原创 Hotspot虛擬機- 垃圾收集算法和垃圾收集器

引言 聲明:由於CSDN不支持Hexo支持的Markdown語法,大家看到{% asset_img 1st.png Mark and Sweep %}這樣的標籤時,就是一張圖片。由於圖片較多,我就不一一複製到這了,大家想看圖片的話,參

原创 Spring MVC源碼剖析

引言 前一陣公司的項目用到Spring MVC,看了官方文檔,跑了幾個Demo就可以使用了,很簡單。但是,它一直像個黑盒一樣,我並不知道它內部是如何工作的,這幾天一直在研究它的源碼,今天已經把它的工作原理弄清了,因此把我的這個研究過程

原创 輕鬆搞定Linux環境變量

引言 我一直以來都在用Ubuntu系統,每當我裝一些軟件的時候,我都會本能的Google去看怎麼配置這些煩人的環境變量。有的時候,還會出現很多的錯誤。因爲我不明白到底在配置什麼,我只是本能的Copy到我的一些文件中,它就可以工作了,但

原创 Linux 文件描述符詳解

Overview 瞭解Linux怎樣處理輸入和輸出是非常重要的。一旦我們瞭解其原理以後,我們就可以正確熟練地使用腳本把內容輸出到正確的位置。同樣我們也可以更好地理解輸入重定向和輸出重定向。 Linux標準文件描述符 文件描述符

原创 Servlet之存在安全隱患的域對象

Web Server 與 Servlet Container 它們之間的區別請參考:https://dzone.com/articles/what-servlet-container Servlet Demo 在進一步瞭解Servle

原创 Java 開發者必須知道的 MySQL 常識

MySQL 邏輯架構 Connection/thread handling 部分:這部分主要是用來處理 client 的連接及相應的授權登錄等。Each client connection gets its own thread with

原创 數據庫規範化,數據庫範式,和規範化實例

什麼是數據庫規範化 維基百科的定義如下: 數據庫規範化,又稱數據庫或資料庫的正規化、標準化,是數據庫設計中的一系列原理和技術,以減少數據庫中數據冗餘,增進數據的一致性。 數據庫範式是埃德加·科德設計出來的。在1970年代初,他定義

原创 深入理解java中的Soft references && Weak references && Phantom reference

引言 Ethan Nicholas 在他的一篇文章中說:他面試了20多個Java高級工程師,他們每個人都至少有5年的Java從業經驗,當他問這些工程師對於Weak References 的理解時,只有其中的2個人知道Weak Refe

原创 怎樣寫好Git的commit信息

引言 這篇文章我翻譯自How to Write a Git Commit Message,由於文章篇幅太多,全部翻譯下來太浪費時間了,因此我把一些重要的地方全部翻譯完了,如果英語好的請讀原文,英語水平不算太好地同學,可以參考我的翻譯來

原创 常用的數據結構操作與排序算法的時間和空間複雜度

引言 大家好!這篇文章包含了計算機科學中常用算法的時間和空間複雜度。過去準備技術面試的時候,我通常需要花費很多時間去網上搜索這些算法的最好、平均和最壞情況的複雜度,然後把它們歸納總結在一起,使得我在面試問到的時候不會被難住。在過去的幾

原创 Java併發系列 - Java Concurrency Utilities 之 Executor 框架

引言 如果想要更好地閱讀格式,請參考原文:Java併發系列 - Java Concurrency Utilities 之 Executor 框架 現在大部分的應用都需要併發,並且這些併發應用變得越來越複雜,因此Java最初給我提供的併