原创 面對數據庫死鎖差點跪

閱讀原文:面對數據庫死鎖差點跪 數據庫死鎖這個問題不知道你有沒有遇到過呢?一旦遇到該如何排查問題呢? 環境: MySQL 5.7.25 引擎 InnoDB 如果你的系統日誌突然報這種錯誤,就問你慌不慌?心想:MD,之前遇到過,但完全不記得該

原创 爲什麼數組下標總是從 0 開始呢?

原文地址: 爲什麼數組下總是從 0 開始呢? 這個問題有沒有想過?會不會認爲爲何設計的如此反人類呢? 有兩種比較好的說法,我們瞭解下: 說法一 表示範圍的最佳形式,比如表示自然數序列 2,3,···,12,有四種方法: a. 2 ≤

原创 這種方式更優雅,秒錶計時

閱讀原文: 這種方式更優雅,秒錶計時! 你有看過學校百米賽跑時,體育老師手裏的秒錶嗎?老師是怎麼記八個跑道中的學生跑了多少時間的呢? 今天我們要做的就是實現老師手中的秒錶,但是我們計算機無法真正同時跑n個任務,我們只能一個跑完跑下一個。

原创 一句話瞭解volatile

原文:一句話說一下volatile 各位看官,這是我的開場白:volatile並不能保證變量是線程安全的,只能保證線程能夠獲的取變量最新值。 爲什麼大家總是說 volatile 是輕量級的 synchronized ?輕量級因爲它擁有較少的

原创 抽象類和接口的區別已經變了

原文:抽象類和接口的區別已經變了 隨着JDK的不斷迭代,抽象類和接口的區別已經有了些許改變,你是否還停留在JDK 7 的答案呢? 定義 抽象類定義通過 abstract class public abstract class A {} 接口

原创 Java開發必備手冊

一直以來我都認爲阿里是Java開發的聖地,那麼他們所出的《阿里巴巴Java開發手冊》就是Java開發的聖經啦。我們最好能對手冊爛熟於心。 今天開發手冊又迎來更新了,改名爲《Java開發手冊》。升級內容如下: 新增21條新規約。比如,swi

原创 揭開ArrayList的外衣,看本質

閱讀原文: 揭開ArrayList的外衣,看本質 源碼還是比較多的,安安靜靜的讀完確實不易,所以我們讀源碼要有着重點。 ArrayList的繼承和實現關係 ArrayList的成員屬性 ArrayList的構造 ArrayList的容量與

原创 千萬不要這樣使用 Arrays.asList !

使用Arrays.asList()的原因無非是想將數組或一些元素轉爲集合,而你得到的集合並不一定是你想要的那個集合。 而一開始asList()的設計時用於打印數組而設計的,但jdk1.5開始,有了另一個比較更方便的打印函數Arrays.to

原创 記住,永遠不要在 MySQL 中使用“utf8”

作者:Adam Hooper 把「策略模式」應用到實際項目中 造個輪子,我學到了什麼 技術面試中的軟技能 不同時重寫equals和hashCode又怎樣! 最近我遇到了一個 bug,我試着通過 Rails 在以“utf8”編碼的 Maria

原创 數據庫優化第一步:數據類型

閱讀原文:數據庫優化第一步:數據類型 爲什麼選擇合適的數據類型很重要?因爲數據類型會影響存儲空間的開銷,也會影響數據的查詢效率,可以說這是你優化數據庫的第一步要做的事情。 疑問 本文的前提環境是:MySQL 5.7 , UTF-8 Unic

原创 開發者必備神器

不可否認,順手的工具能幫助我們提高工作的效率,這裏我將列出我數年所用到過的高效工具。 錄屏Gif軟件:ScreenToGif推薦:ScreenToGif正如其名,是一款通過錄屏來製作Gif動畫的軟件,雖然文件大小隻有幾兆,卻有非常強大的功能

原创 合併分支使用Merge還是Rebase?

閱讀原文:合併分支使用Merge還是Rebase?作爲一個有追求的開發者,我一定會選擇更好的版本管理工具(Git), 使用中我們難免會在 Merge 和 Rebase 中選擇其一用於合併分支。Rebase 和 merge 都是被設計用於集成

原创 合併分支使用Merge還是Rebase

閱讀原文:合併分支使用Merge還是Rebase? 作爲一個有追求的開發者,我一定會選擇更好的版本管理工具(Git), 使用中我們難免會在 Merge 和 Rebase 中選擇其一用於合併分支。 Rebase 和 merge 都是被設計用於

原创 把「模板方法」應用到實際項目中

閱讀原文:把「模板方法」應用到實際項目中 如果不在工作中思考,模板方法模式的概念和定義即使背再多遍估計也是徒勞,今天我思考如何解決實際項目中的問題時發現,模板方法正是解決問題的良策。 <!--more--> 需求 我們項目中要實現一個創建會

原创 把「策略模式」應用到實際項目中

閱讀原文:把「策略模式」應用到實際項目中 無論你知不知道這個設計模式,但必定在項目中都似曾相識。倘若僅僅聊理論必然枯燥乏味,只有理論和實戰相結合方可達到人劍合一的境界。 首先,我來說個需求,倘若是你遇到該如何做?你可停留幾分鐘,想出你的解決