原创 Lock和synchronized的區別和使用

今天看了併發實踐這本書的ReentantLock這章,感覺對ReentantLock還是不夠熟悉,有許多疑問,所有在網上找了很多文章看了一下,總體說的不夠詳細,重點和焦點問題沒有談到,但這篇文章相當不錯,說的很全面,主要的重點都說到了,所

原创 Java 應用性能調優實踐

Java 應用性能優化是一個老生常談的話題,典型的性能問題如頁面響應慢、接口超時,服務器負載高、併發數低,數據庫頻繁死鎖等。尤其是在“糙快猛”的互聯網開發模式大行其道的今天,隨着系統訪問量的日益增加和代碼的臃腫,各種性能問題開始紛至沓來。

原创 Java 定時器(Timer)

  在開發中,我們經常需要一些週期性的操作,例如每隔幾分鐘就進行某一項操作。這時候我們就要去設置個定時器,Java中最方便、最高效的實現方式是用java.util.Timer工具類,再通過調度java.util.TimerTask任務。

原创 絕對 “牛X“ 的代碼註釋,喜歡就拿去用!

/***                                      *         瓦瓦            十              *        十齱龠己         亅瓦車己       

原创 MySQL索引

索引是什麼? 索引是幫助MySQL高效獲取數據的數據結構。 索引能幹什麼? 提高數據查詢的效率。 索引:排好序的快速查找數據結構!索引會影響where後面的查找,和order by 後面的排序。 一、索引的分類 1️⃣從存儲結構上來劃分:

原创 JVM的內存區域劃分

學過C語言的朋友都知道C編譯器在劃分內存區域的時候經常將管理的區域劃分爲數據段和代碼段,數據段包括堆、棧以及靜態數據區。那麼在Java語言當中,內存又是如何劃分的呢? 由於Java程序是交由JVM執行的,所以我們在談Java內存區域劃分的

原创 Linux 系統運行緩慢,CPU 100%,以及Full GC次數過多問題的排查思路

   處理過線上問題的同學基本上都會遇到系統突然運行緩慢,CPU 100%,以及Full GC次數過多的問題。當然,這些問題的最終導致的直觀現象就是系統運行緩慢,並且有大量的報警。本文主要針對系統運行緩慢這一問題,提供該問題的排查思路,從

原创 必須掌握JVM 參數總結

前言 大家都知道,jvm在啓動的時候,會執行默認的一些參數。一般情況下,這些設置的默認參數應對一些平常的項目也夠用了。但是如果項目特別大了,需要增加一下堆內存的大小、或者是系統老是莫明的掛掉,想查看下gc日誌來排查一下錯誤的原因,都需要咱

原创 Java 反射

  前言 Java的反射特性是一項非常強大和有用的功能,它使得我們可以輕鬆的在運行時觀察到類實例的內部狀態,並且可以動態的操作實例,從而爲Java語言提供更多更靈活的想象空間。隨便舉幾個例子:使用反射可以動態的映射Java對象屬性到Jso

原创 如何在無序數組中查找第n小的值

如題:給定一個無序數組,如何查找第K小的值。 例子如下: 在一個無序數組,查找 k = 3 小的數 輸入:arr[] = {7, 10, 4, 3, 20, 15} 輸出:7 在一個無序數組,查找 k = 4 小的數 輸入:arr[

原创 一位程序員工作10年總結了這些忠告

展望未來,總結過去10年的程序員生涯,給程序員小弟弟小妹妹們的一些總結性忠告。 1、自己的戶口檔案、養老保險、醫療保險、住房公積金一定要保管好。 由 於程序員行業每年跳槽一次,我不隱瞞大家,我至少換過5個以上的單位,這期間跳來跳去,甚至是

原创 Java 源碼分析(二)線程池

線程池源碼也是面試經常被提問到的點,我會將全局源碼做一分析,然後告訴你面試考啥,怎麼答。 爲什麼要用線程池? 簡潔的答兩點就行。 降低系統資源消耗。 提高線程可控性。 如何創建使用線程池? JDK8提供了五種創建線程池的方法:

原创 MySQL常見SQL錯誤用法

前言 越來越多的客戶將自己的應用建立在MySQL數據庫之上,甚至是從Oracle遷移到MySQL上來。但也存在部分客戶在使用MySQL數據庫的過程中遇到一些比如響應時間慢,CPU打滿等情況。阿里雲RDS專家服務團隊幫助雲上客戶解決過很多緊

原创 優秀的程序員10分鐘內能搞定下面5個編程問題,你能做到嗎?

每次我發佈軟件工程師的崗位工作要求,各種求職申請就會紛至沓來,接踵而至。但每每讓我困惑的是,似乎總有那麼幾位應聘者完全不明白所謂“編程”的意思。   當然,他們另有想法。 而我認爲,如果你應聘的是“Web前端開發”崗位,那麼你只懂jQue

原创 程序員之間的十八層鄙視網絡

有人的地方就有江湖。程序員,是一個知識、智商、都異於常規行業的羣體。自傲,清高,悶騷,也屬於這個羣體鮮明標籤。 程序員有時候很自我,這樣就給自己一個盲目的優越感。特別在與其他程序員對比的時候,他總能找到在一兩個地方優於你的地方,所以,程序