原创 【求解惑】由一個Bug來看Java內存模型和垃圾回收

前兩天,項目中發現一個Bug。我們使用的 RocketMQ ,在服務啓動後會創建MQ的消費者實例,來訂閱topic。測試過程中,發現服務啓動一段時間後,與 RocketMQ 的連接就會斷掉,從而找不到訂閱關係,監聽不到數據。一、Bug的產生

原创 Java併發編程,深入理解ReentrantLock

ReentrantLock簡介ReentrantLock重入鎖, 是實現Lock接口的一個類 ,也是在實際編程中使用頻率很高的一個鎖, 支持重入性,表示能夠對共享資源能夠重複加鎖,即當前線程獲取該鎖再次獲取不會被阻塞。 ReentrantL

原创 JAVA虛擬機

垃圾回收主要是回收堆內存。在垃圾回收期(GC)回收之前,需要確定哪些對象可以回收,有以下幾種方法:引用計數算法 原理:給對象添加一個引用計數器,每當有一個地方引用它時,計數器值就加1;當引用失效時,計數器值就減1;任何時刻計數器都爲0的對象

原创 前百度面試官整理的——Java後端面試題(一)

List 和 Set 的區別List , Set 都是繼承自 Collection 接口 List 特點:元素有放入順序,元素可重複 ,Set 特點:元素無放入順序,元素不可重複,重複元素會覆蓋掉,(元素雖然無放入順序,但是元素在set中的

原创 Java的戰爭

本文來自微信公衆號: 金捷幡(ID:jin-jiefan) ,作者:金捷幡,封面:拉里·埃裏森(東方IC)2019年5月,徹底撕破臉的特朗普掀起對華爲的戰爭,谷歌被迫吊銷了華爲的Android授權。開源軟件的版權問題,使我不禁想起軟件行業的

原创 Java編程學習-Java虛擬機(JVM)以及跨平臺原理

相信大家已經瞭解到Java具有跨平臺的特性,可以“一次編譯,到處運行”,在Windows下編寫的程序,無需任何修改就可以在Linux下運行,這是C和C++很難做到的。那麼,跨平臺是怎樣實現的呢?這就要談及Java虛擬機(Java Virtu

原创 新手轉行學java難嗎?新手學java需要注意的6個方面!

新手轉行在成都學java到底難不難,對於這個問題,我們專門做過一個調查,超過1000名已經在職的java從業者,其中有80%的程序員覺得學java不難,20%的程序員覺得前期有點難,其中對於50%自學的新手認爲java很難學,遇到問題沒人解

原创 如何制定 Java 性能調優標準?

想讓你的程序更快更穩,但是系統經常出各種 bug,無從下手?Java 性能調優全攻略來啦!我有一個朋友,有一次他跟我說,他們公司的系統從來沒有經過性能調優,功能測試完成後就上線了,線上也沒有出現過什麼性能問題呀,那爲什麼很多系統都要去做性能

原创 分佈式商業萌芽,銀行迎來發展新機遇

01 分佈式商業萌芽,銀行迎來發展新機遇金融界:近幾年區塊鏈的熱度經歷了過山車般的轉折。目前追逐區塊鏈的資本也開始冷靜下來,於此同時,各大商業銀行對區塊鏈的研究應用也越來越多。您認爲這種背景下的區塊鏈發展中,銀行將扮演怎樣的角色,區塊鏈金融

原创 分佈式系統中一致性哈希

問題場景近年來B2C、O2O等商業概念的提出和移動端的發展,使得分佈式系統流行了起來。分佈式系統相對於單系統,解決了流量大、系統高可用和高容錯等問題。功能強大也意味着實現起來需要更多技術的支持。例如系統訪問層的負載均衡,緩存層的多實例主從複

原创 Spring Boot 面試,一個問題就被幹趴下了!

最近LZ面試了不少人,其中不乏說對 Spring Boot 非常熟悉的,然後當我問到一些 Spring Boot 核心功能和原理的時候,沒人能說得上來,或者說不到點上,可以說一個問題就問趴下了!這是我的問題:我看你上面寫了熟悉 Spring

原创 經過這5大階段,你離Java程序員就不遠了!

打開招聘網站不難發現Java的需求量非常大,這也是爲什麼Java歷經數十年依然可以長期佔據編程排行榜前三位置的原因。Java這麼火自然吸引了很多人加入,那麼怎麼樣才能快速掌握Java核心技術,成爲一名Java開發程序員呢?在這裏,小編爲大家

原创 一文透析 Spring Boot、微服務架構和大數據治理三者之間的故事

微服務架構微服務的誕生並非偶然,它是在互聯網高速發展,技術日新月異的變化以及傳統架構無法適應快速變化等多重因素的推動下誕生的產物。互聯網時代的產品通常有兩類特點:需求變化快和用戶羣體龐大,在這種情況下,如何從系統架構的角度出發,構建靈活、易

原创 冷汗:開源軟件也受美國出口管制!

今天在朋友圈看到一個朋友轉發的文字,說 Apache 許可證分發的軟件也受美國出口管制。嚇得我趕快去看了看 Apache 基金會的官網(幸好還沒被牆)。這不看不知道,一看嚇一跳。Apache 基金會官網上有一段話(見原文鏈接)是這麼說的:T

原创 Java、Python、C++、PHP、JavaScript這5大編程語言,我究竟該選哪個?

很多朋友在後臺給我留言,問:現在這麼多編程語言,Python、Java、PHP、C++、JavaScript等,究竟哪種最流行?我想這應該也是你的困擾吧!其實他們各有優勢,但是對於選擇困難的程序員而言,這真的是個世紀難題,畢竟每個人的精力有