原创 爲什麼要使用消息隊列?消息隊列有什麼優缺點?Kafka、ActiveMQ、RabbitMQ、RocketMQ的區別?

面試題 爲什麼使用消息隊列? 消息隊列有什麼優點和缺點? Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什麼區別,以及適合哪些場景? 面試官心理分析 其實面試官主要是想看看: 第一,你知不知道你們系

原创 Java後端接口、Mysql優化建議與規範

一、後端接口 禁止使用遞歸;原因:每次遞歸調用時會向棧中push當前方法的運行狀態(現場),而Java棧內存的使用超過限制的大小時,程序會出現棧異常; 避免層級嵌套循環; 注意方法、類文件中的代碼量,適度分離; 使用基本類型定義

原创 【消息隊列】如何保證MQ的高可用?

面試題 如何保證消息隊列的高可用? 面試官心理分析 如果有人問到你 MQ 的知識,高可用是必問的。上一講提到,MQ 會導致系統可用性降低。所以只要你用了 MQ,接下來問的一些要點肯定就是圍繞着 MQ 的那些缺點怎麼來解決了。 要是

原创 Java面試題-阿里、餓了麼、鏈家、攜程

阿里內推:https://blog.csdn.net/hehuanchun0311/article/details/105775657 一、J2SE部分 1、Java基礎 ==與equals()方法的區別? 1. ==在比較基本

原创 Nginxa安裝、命令、配置以及核心模塊

寫在前面: 負載均衡:請求分發(轉發)–一次請求 反向代理:代理服務器重新發起請求(重定向)–兩次請求 一、nginx的安裝 1、下載 http://nginx.org/download/ –> ./configure 運行n

原创 數據結構--堆棧(Java版)

一、棧的介紹 棧(stack)又名堆棧,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱爲棧頂,相對地,把另一端稱爲棧底。向一個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,

原创 Java併發-剖析ThreadLocal源碼

一、ThreadLocal是什麼? ThreadLocal與線程同步機制不同,線程同步機制是多個線程共享同一個變量,而ThreadLocal是爲每一個線程創建一個單獨的變量副本,故而每個線程都可以獨立地改變自己所擁有的變量副本,

原创 Tomcat This is very likely to create a memory leak. Stack trace of thread 錯誤分析

1、問題描述 啓動tomcat部署項目時,報This is very likely to create a memory leak. Stack trace of thread錯誤。 29-May-2018 12:30:09.

原创 阿里巴巴面經、面試流程、面試題

從去年年中一直到今年年初,我面阿里總共面了5-6次,經歷了三次完整的4輪技術面 + 1輪HR面,目前將面試過程和常見題目記錄一下,供參考。 面試流程 面試輪次 阿里社招一般都是P6級別以上,技術面4輪以上 + 1輪HR面。 阿里校

原创 【面試題】詳解 ThreadPoolExecutor 的參數含義及源碼執行流程?

詳解 ThreadPoolExecutor 的參數含義及源碼執行流程? 線程池是爲了避免線程頻繁的創建和銷燬帶來的性能消耗,而建立的一種池化技術,它是把已創建的線程放入“池”中,當有任務來臨時就可以重用已有的線程,無需等待創建的過

原创 【面試題】線程的狀態有哪些?它是如何工作的?

線程的狀態有哪些?它是如何工作的? 線程(Thread)是併發編程的基礎,也是程序執行的最小單元,它依託進程而存在。一個進程中可以包含多個線程,多線程可以共享一塊內存空間和一組系統資源,因此線程之間的切換更加節省資源、更加輕量化,

原创 【面試題】HashMap 底層實現原理是什麼?JDK8 做了哪些優化?

HashMap 底層實現原理是什麼?JDK8 做了哪些優化? HashMap 是使用頻率最高的類型之一,同時也是面試經常被問到的問題之一,這是因爲 HashMap 的知識點有很多,同時它又屬於 Java 基礎知識的一部分,因此在面

原创 【海量數據處理】如何從大量的 URL 中找出相同的 URL?

如何從大量的 URL 中找出相同的 URL? 題目描述 給定 a、b 兩個文件,各存放 50 億個 URL,每個 URL 各佔 64B,內存限制是 4G。請找出 a、b 兩個文件共同的 URL。 解答思路 每個 URL 佔 64B

原创 【海量數據處理】如何在大量的數據中找出不重複的整數?

題目描述 在 2.5 億個整數中找出不重複的整數。注意:內存不足以容納這 2.5 億個整數。 解答思路 方法一:分治法 與前面的題目方法類似,先將 2.5 億個數劃分到多個小文件,用 HashSet/HashMap 找出每個小文件

原创 【海量數據處理】如何從大量數據中找出高頻詞?

如何從大量數據中找出高頻詞? 題目描述 有一個 1GB 大小的文件,文件裏每一行是一個詞,每個詞的大小不超過 16B,內存大小限制是 1MB,要求返回頻數最高的 100 個詞(Top 100)。 解答思路 由於內存限制,我們依然無