原创 Java面試題基礎(第三彈)

1、Java 中能創建 volatile 數組嗎? 能,Java 中可以創建 volatile 類型數組,不過只是一個指向數組的引用,而不是整個數組。我的意思是,如果改變引用指向的數組,將會受到 volatile 的保護,但是如果多個線程

原创 Java併發編程面試題合集

1、在 java 中守護線程和本地線程區別? java 中的線程分爲兩種:守護線程(Daemon)和用戶線程(User)。 任何線程都可以設置爲守護線程和用戶線程,通過方法 Thread.setDaemon(boolon);true 則把

原创 面試中JVM與性能調優相關問題分享

一、JVM 內存區域劃分 1.程序計數器(線程私有) 程序計數器(Program Counter Register),也有稱作爲 PC 寄存器。保存的是程序當前執行的指令的地址(也可以說保存下一條指令的所在存儲單元的地址),當 CPU 需

原创 Dubbo高頻面試題

1、爲什麼要用 Dubbo? 隨着服務化的進一步發展,服務越來越多,服務之間的調用和依賴關係也越來越複雜,誕生了面向服務的架構體系(SOA),也因此衍生出了一系列相應的技術,如對服務提供、服務調用、連接處理、通信協議、序列化方式、服務發現

原创 RabbitMQ高頻面試題

1、什麼是 rabbitmq 採用 AMQP 高級消息隊列協議的一種消息隊列技術,最大的特點就是消費並不需要確保提供方存在,實現了服務之間的高度解耦 2、爲什麼要使用 rabbitmq (1)在分佈式系統下具備異步,削峯,負載均衡等一系列

原创 出鏡率最高的ZooKeeper面試題

1. ZooKeeper 是什麼? ZooKeeper 是一個開放源碼的分佈式協調服務,它是集羣的管理者,監視着集羣中各個節點的狀態根據節點提交的反饋進行下一步合理操作。最終,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。 分佈式

原创 Java面試題基礎(第四彈)

116、什麼時候使用訪問者模式? 訪問者模式用於解決在類的繼承層次上增加操作,但是不直接與之關聯。這種模式採用雙派發的形式來增加中間層。 117、什麼時候使用組合模式? 組合模式使用樹結構來展示部分與整體繼承關係。它允許客戶端採用統一的形

原创 Spring Cloud原理及分析

目錄 一、業務場景介紹 二、Spring Cloud核心組件:Eureka 三、Spring Cloud核心組件:Feign 四、Spring Cloud核心組件:Ribbon 五、Spring Cloud核心組件:Hystrix 六、S

原创 @Autowired的使用:推薦對構造函數進行註釋

最近在使用idea開發時經常看到右側欄有黃色一堆堆的,好惡心,這些代表代碼不符合規範,可能會出現問題,爲了代碼整潔和代碼規範,則優化一把,重點記錄下autowired註解優化。 @autowired含義 spring 2.5引入了@au

原创 如何解決WebSocket的兼容性

我們知道WebSocket是一種在服務器與客戶端雙向通訊的技術,使用原生的WebSocket可以最小化 服務器資源的使用並且爲兩者提供了一種統一的通信方式。隨着HTML5的普及,現代瀏覽器(IE10+)基本上都已經原生支持WebSocke

原创 簡單易懂的 SpringBoot 異步編程指南

通過本文你可以瞭解到下面這些知識點: Future 模式介紹以及核心思想 核心線程數、最大線程數的區別,隊列容量代表什麼; ThreadPoolTaskExecutor 飽和策略; SpringBoot 異步編程實戰,搞懂代碼的執行邏輯。

原创 9102年了參數校驗(validator)應該這麼寫

很痛苦遇到大量的參數進行校驗,在業務中還要拋出異常或者 不斷的返回異常時的校驗信息,在代碼中相當冗長, 充滿了if-else這種校驗代碼,今天我們就來學習spring的javax.validation 註解式參數校驗.   爲什麼要用va

原创 雲原生時代,什麼是螞蟻金服推薦的金融架構?

原文鏈接:https://juejin.im/post/5da7e0ae6fb9a04e1135fbcd 螞蟻金服在過去十五年重塑支付改變生活,爲全球超過十二億人提供服務,這些背後離不開技術的

原创 Xshell v6.0.0.125 永久授權(附註冊機)

本文破解的是商業標準註冊版,不是評估版,不是學校/家庭免費版,必須使用我提供的官方下載鏈接下載安裝包,因爲很多人下載的都不是註冊版本。請先卸載自己的xshell  6或者xshell 5。   其實要獲取激活碼註冊版本非常簡單,只要獲得了

原创 spring boot 配置文件配置項前綴爲0的數字特殊處理

問題: spring boot yml配置文件中 ,配置前綴0的數字時,會被特殊處理,如下圖配置001001 會當做八進制數處理成513 解決方法:  配置項兩邊加引號或單引號,這時會當做字符串處理 源碼類分析: ConstructY