原创 2019年java中高級java面試題(五)springcloud

1、什麼是服務熔斷?什麼是服務降級?         熔斷機制是應對雪崩效應的一種微服務鏈路保護機制。當鏈路的某個微服務不可用或者響應時間太長時,會進行服務降級,進而熔斷該節點微服務的調用,快速返回“錯誤”的響應信息。當檢測到該節點微服務

原创 代碼重構:用工廠+策略模式優化過多的if else代碼塊

代碼重構:用工廠+策略模式優化過多的if else代碼塊 最近在工作中優化了一段冗餘的if else代碼塊,感覺對設計模式的理解和運用很有幫助,所以分享出來。鑑於原代碼會涉及到公司的隱私,因此就不貼出來了。下面以更

原创 2019年java中高級java面試題(六)RabbitMQ

1、什麼是RabbitMQ? RabbitMQ是一個基於AMQP協議的高級消息中間件,它主要的技術特點是可用性,安全性,集羣,多協議支持,可視化的客戶端,活躍的社區。 2、爲什麼要使用rabbitmq 功能強大,支持死信隊列,優先級隊列,

原创 2019年java中高級java面試題(九)java內存模型和jvm

1、運行時數據區包含那幾個部分? Java運行時數據區分爲下面幾個內存區域:   程序計數器  程序計數器是一塊較小的內存空間,可以看作是當前線程所執行的字節碼的行號指示器。 java虛擬機棧 每當創建一個線程,JVM就會爲該線程創建對

原创 2019年java中高級java面試題(二)Spring

1、springmvc的運行流程 1. 用戶向服務器發送請求,請求被SpringMVC 前端控制器DispatcherServlet捕獲; 2. DispatcherServlet對請求URL進行解析,得到請求資源標識符(URI)。然後

原创 RabbitMq入門(三)springBoot整合RabbitMQ

1、配置pom文件 此過程可以使用spring start project選擇需要的web、和rabbitMQ模塊快速構建 最終pom.xml如下 <?xml version="1.0" encoding="UTF-8"?> <proj

原创 RabbitMq入門(二)常用的工作模式

0、"Hello World!" 代碼 請參考 代碼 1、 Work queues  工作隊列模式相比於helloworld入門程序就是同一個隊列被多個消費者綁定, 結果: 1、一條消息只會被一個消費者接收; 2、rabbit採用輪詢

原创 RabbitMQ入門(一)

1、前言 目前消息隊列(MQ)在大型系統中被廣泛應用,掌握MQ是java程序員的必備技能,下面我們從零開始學習MQ 1.1、什麼是MQ MQ全稱爲Message Queue,即消息隊列, RabbitMQ是由erlang語言開發,基於AM

原创 docker下 常用軟件安裝

1、mongo安裝 1.1、查找mongo docker search mongo docker search mongo 1.2、下載mongo鏡像 docker pull mongo docker pull mongo sta

原创 Freemarker自定義指令把java對象轉成json

1、前言 使用Freemarker做模板構建頁面是比較簡單的,但在某些複雜的場景下需要在js中使用spring 中的model對象是個問題。 但是js不認識java對象。需要用Freemarker自定義函數去解決這個問題 2、項目構建

原创 spring5使用fastJson把java對象轉換成json

spring內置的消息轉換器   @ResponseBody可以把java對象轉換成json spring內置了很多消息轉換器,當我們沒有定義消息轉換器時就會使用默認的消息轉換器。 在直接返回json對象的時候,如果包含date類型的對象

原创 Spring Web MVC 5.1.6.RELEASE官方文檔翻譯

Web on Servlet Stack Version 5.1.6.RELEASE 本文是springMVC官方原版文檔的翻譯,版本是基於最新穩定版Version5.1.6.RELEASE 1. Spring Web MVC   S

原创 接口限流實踐

轉載http://www.cnblogs.com/LBSer/p/4083131.html 一、問題描述     某天A君突然發現自己的接口請求量突然漲到之前的10倍,沒多久該接口幾乎不可使用,並引發連鎖反應導致整個系統崩潰。如何應

原创 mybatis-plus使用Velocity格式模板生成代碼

第一步 引入所需pom文件 <!--數據庫驅動 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId

原创 常用加密算法介紹

加密技術通常分爲兩大類:"對稱式"和"非對稱式"。 對稱性加密算法:對稱式加密就是加密和解密使用同一個密鑰。信息接收雙方都需事先知道密匙和加解密算法且其密匙是相同的,之後便是對數據進行加解密了。對稱加密算法用來對敏感數據等信息進行加密。