原创 聊聊Java裏常用的併發集合 如何提高使用Java反射的效率?

  前言 在我們的程序開發過程中,如果涉及到多線程環境,那麼對於集合框架的使用就必須更加謹慎了,因爲大部分的集合類在不施加額外控制的情況下直接在併發環境中直接使用可能會出現數據不一致的問題,所以爲了解決這個潛在的問題,我們要麼在自己的業務邏

原创 文本相似度計算之餘弦定理 如何提高使用Java反射的效率?

前言 餘弦相似度,又稱爲餘弦相似性,是通過計算兩個向量的夾角餘弦值來評估他們的相似度。餘弦相似度將向量根據座標值,繪製到向量空間中。用向量空間中兩個向量夾角的餘弦值作爲衡量兩個個體間差異的大小。餘弦值越接近1,就表明夾角越接近0度,也

原创 【輕鬆一刻】Java製作字符動畫 如何提高使用Java反射的效率?

前言 今晚閒來無事,整理了一下電腦中塵封已久的舊代碼,看着那些年自己寫過的代碼,踩過的坑,頓時老淚縱橫。正當在感嘆之際,突然發現在“馬克思”文件夾下出現了一個好玩的項目,那就是N年前剛學Java時寫的GIF轉字符動畫的小玩具,雖然是個小玩

原创 輕鬆搞懂Java中的自旋鎖 如何提高使用Java反射的效率?

前言 在之前的文章《一文徹底搞懂面試中常問的各種“鎖”》中介紹了Java中的各種“鎖”,可能對於不是很瞭解這些概念的同學來說會覺得有點繞,所以我決定拆分出來,逐步詳細的介紹一下這些鎖的來龍去脈,那麼這篇文章就先來會一會“自旋鎖”。 正文

原创 如何優化代碼中大量的if/else,switch/case? 如何提高使用Java反射的效率?

前言 隨着項目的迭代,代碼中存在的分支判斷可能會越來越多,當裏面涉及到的邏輯比較複雜或者分支數量實在是多的難以維護的時候,我們就要考慮下,有辦法能讓這些代碼變得更優雅嗎? 正文 使用枚舉 這裏我們簡單的定義一個表示狀態的枚舉。   pu

原创 如何提高使用Java反射的效率?

前言 在我們平時的工作或者面試中,都會經常遇到“反射”這個知識點,通過“反射”我們可以動態的獲取到對象的信息以及靈活的調用對象方法等,但是在使用的同時又伴隨着另一種聲音的出現,那就是“反射”很慢,要少用。難道反射真的很慢?那跟我們平時正常創

原创 程序猿必知必會Linux命令之awk

前言   對於一名專業的程序員來說,Linux相關知識是必須要掌握的,其中對於文本的處理更是我們常見的操作,比如格式化輸出我們需要的數據,這些數據可能會來源於文本文件或管道符,或者統計文本里面我們需要的數據出現的頻次以及總數等等。那麼這時候

原创 Java日誌正確使用姿勢 大白話搞懂什麼是同步/異步/阻塞/非阻塞

前言 關於日誌,在大家的印象中都是比較簡單的,只須引入了相關依賴包,剩下的事情就是在項目中“盡情”的打印我們需要的信息了。但是往往越簡單的東西越容易讓我們忽視,從而導致一些不該有的bug發生,作爲一名嚴謹的程序員,怎麼能讓這種事情發生呢?所

原创 使用ConcurrentHashMap一定線程安全?

前言 老王爲何半夜慘叫?幾行代碼爲何導致服務器爆炸?說好的線程安全爲何還是出問題?讓我們一起收看今天的《走進IT》 正文 CurrentHashMap出現背景 說到ConcurrentHashMap的出現背景,還得從HashMap說起。 老

原创 “==”、“equals()”、“hashcode()”之間的祕密 大白話搞懂什麼是同步/異步/阻塞/非阻塞

 前言   萬丈高樓平地起,今天的聊點基礎而又經常讓人忽視的話題,比如“==”與“equals()”區別?爲何當我們重寫完"equals()"後也要有必要去重寫"hashcode()"呢? ... 帶着這些問題,我們一起來探究一下。   概

原创 ConcurrentHashMap一定線程安全? 大白話搞懂什麼是同步/異步/阻塞/非阻塞

前言 老王爲何半夜慘叫?幾行代碼爲何導致服務器爆炸?說好的線程安全爲何還是出問題?讓我們一起收看今天的《走進IT》 正文 CurrentHashMap出現背景 說到ConcurrentHashMap的出現背景,還得從HashMap說起。

原创 Redis的正確使用姿勢

前言 說到分佈式緩存,可能大多數人腦海浮現的就是redis了,爲什麼redis能夠在競爭激烈的緩存大戰中脫穎而出呢?原因無非有一下幾點:性能好,豐富的特性跟數據結構,api操作簡單。但是用的人多了,就會出現很多不規範或者疏忽的地方,嚴重的時

原创 求求你別用SimpleDateFormat了!

前言 啊哈哈,標題寫的比較隨意了,其實呢最近在各種面試以及博客中,SimpleDateFormat出鏡率確實是比較高了,爲什麼?其實聰明的你們肯定知道,那必須是有坑唄,是的,那我們就以案例來分析一下到底會有那些坑,或者還有沒有其他更優的替代

原创 關於elasticsearch的EsRejectedExecutionException

起因 呃,中午準備吃飯的時候,突然發現產品的搜索功能掛了,沒辦法,只能放下手裏的碗,抱起前面的磚準備開始排查問題。 排查過程 連接線上服務器,查詢ERROR日誌,果然一堆ES相關報錯,初步懷疑是公司內部DBIndex服務(內部基於du

原创 優化代碼中的“壞味道”

“ 一顆老鼠屎,壞了一鍋粥,代碼也是如此。” 在我們的項目中,也許在剛開始開發的時候,大家都會遵從一些規範來實施,但是當業務進度催的緊,或者人員變動,隨着時間的遷移,項目不斷的迭代以後,這時的代碼可能就會出現一些“壞味道”了。 “壞味道