原创 HashMap是非線程安全,爲什麼ConcurrentHashMap能做到線程安全?

前言 我們都知道,HashMap是非線程安全的容器,那麼爲什麼ConcurrentHashMap能夠做到線程安全呢? 底層結構 首先看一下ConcurrentHashMap的底層數據結構,在Java8中,其底層的實現方式與HashMap一

原创 Tomcat驚現高危漏洞:Session同步與持久化漏洞,可獲取系統權限

前言 近日,由安全社區等情報,安全雲發現Tomcat出現兩個漏洞分別爲"Session持久化漏洞”及“Session同步化漏洞”,利用此漏洞可獲取系統權限,屬於高危漏洞。 漏洞詳情 Apache Tomcat是由Apache軟件基金會屬下

原创 網易資深架構師:左手MongoDB,右手Redis:從入門到商業實戰

前言 隨着大數據時代的到來,數據急速增長,導致關係型數據庫(SQL)越來越不夠用。高性能、可擴展的數據庫變得越來越重要起來。在這樣的場景下,非關係型數據庫(NoSQL)應運而生。這裏的“NoSQL”不是“No SQL(不是SQL)”,而是

原创 十年開發,我卻還在CRUD,拿着1.6W的薪水,程序員的出路在哪裏?

 前言 你們知道程序員最熟悉,最熟練,最常用的兩個快捷鍵是哪兩個嗎?沒錯,就是你現在心中所想的:ctrl+c 和 ctrl+v ,俗名爲:複製和粘貼。對於大部分程序員來說:複製和粘貼就是他創造偉大產品的左膀和右臂。 不知從何時起,很多企業

原创 ThreadLocal Thread ThreadLocalMap 之間的關係

前言 ThreadLocal :每個線程通過此對象都會返回各自的值,互不干擾,這是因爲每個線程都存着自己的一份副本。需要注意的是線程結束後,它所保存的所有副本都將進行垃圾回收(除非存在對這些副本的其他引用) ThreadLocal的get

原创 211本非科班,面試阿里、字節、快手、美團面經總結(已拿offer)

背景介紹 項目是管理系統,本科211(非科班),碩士985(非科班)。 投遞情況:   投了15家公司,參加了阿里,頭條,快手,美團的面試,均已通過。   華爲和騰訊,簡歷過了,但是因爲有了offer,就沒有去面了。   其餘的簡歷掛。

原创 震精!CPU揹着內存竟然幹出這種事,內存還一直被矇在鼓裏

還記得我嗎,我是阿Q,CPU一號車間的那個阿Q。 今天忙裏偷閒,來到廠裏地址翻譯部門轉轉,負責這項工作的小黑正忙得滿頭大汗。 看到我的到來,小黑指着旁邊的座椅示意讓我坐下。   坐了好一會兒,小黑才從工位上忙完轉過身來,“實在不好意思阿

原创 Google 面試六輪遊,結果還是沒過!Google面試真題分享

  前言 入職谷歌向來是可遇不可求的,只有那最爲頂尖的萬分之一的人才,纔有資格收到谷歌的橄欖枝。因此,就算應聘谷歌失敗了,也很正常。重要的是,從失敗經歷中不斷學習,砥礪前行。 去年換工作的時候,面試了一下 Google (這裏說的是 G

原创 java程序員進大廠算法面試中的首尾指針技巧

指針首尾並進 快排分割數組首尾的實現方式。 輸入一個整數數組,調整數組中數字的順序,使得所有奇數位於數組的前半部分,所有偶數位於數組的後半部分。要求時間複雜度爲O(n)。 輸入一個增序數組和一個數sum,在數組中找到兩個數,使得和爲sum

原创 阿里java開發三年程序員:不吹牛X,我輕鬆幹掉了if-else

前言 雖然 if else 是必須的,但濫用 if else 會對代碼的可讀性、可維護性造成很大傷害,進而危害到整個軟件系統。 現在軟件開發領域出現了很多新技術、新概念,但 if...else 這種基本的程序形式並沒有發生太大變化。 使用

原创 雙親委派機制可以被打破嗎?模型可以被破壞嗎?

前言 大家都知道雙親委派機制是什麼吧,那你們知道雙親委派機制該怎麼打破嗎?它的模型又是怎麼被破壞的呢?下面小編就帶你詳細瞭解瞭解吧。 一、雙親委派機制是什麼? 一般的說,一個個特定的類加載器它在接到需要加載類的請求時,它會首先查看自己已加

原创 阿里技術四面拿offer:spring全家桶、多線程、設計模式、算法

前言 阿里我是在拉勾網上投的簡歷,之前也投過一次,簡歷都沒通過刪選,後來讓學姐幫我改了一下簡歷,重新投另一個部門,獲得了面試機會。10月23日中午HR打電話過來預約了下午4點半面試,說會在線寫代碼,讓我準備好網絡環境。結果5點半還沒打電話

原创 學好併發編程,關鍵是要理解這三個核心問題:分工、同步、互斥

前言 一些讀者朋友留言說,併發編程很難,學習了很多的知識,但是在實際工作中卻無從下手。對於一個線上產生的併發問題,又不知產生這個問題的原因究竟是什麼。對於併發編程,感覺上似乎是掌握了,但是真正用起來卻不是那麼回事! 其實,造成這種現象的本

原创 Spring源碼解析1:IntelliJ IDEA2019.3編譯Spring5.3.x源碼

前言 工慾善其事必先利其器。學習和深讀Spring源碼一個重要的前提:編譯源碼到我們的本地環境。這樣方便我們在本地環境添加註釋、斷點追蹤、查看類或接口的繼承關係等等,更加高效的學習Spring源碼。個人覺得深讀Spring源碼對我們的編碼

原创 Java開發五年程序員,阿里三面就被刷下來,究竟輸在哪裏?

前言 經常聽到一些同學調侃,Boss不聘、前程堪憂、拉不上鉤,簡歷投了上百份,好不容易收到的面試又一個一個被刷掉,這陣仗在互聯網IT行業太常見了。身邊一朋友就找我聊了。 背景介紹 他小廠背景、15年畢業、普通學校,這看起來確實沒什麼戰鬥力