原创 Java動態代理實現原理(模擬實現)

​ 動態代理是java語言中常用的設計模式,java在1.3版本以後也提供了動態代理技術,允許開發者在運行期間創建接口的代理對象。 很多框架底層都使用了java的動態代理技術來實現的,比如大名鼎鼎的springAOP;這篇文章將帶你一

原创 數據結構與算法隨筆之優先隊列-求滑動窗口最大值(二)

這篇文章我們來看一道題目求滑動窗口最大值問題(在leetcode上的地址:滑動窗口最大值) 題目描述 給定一個長度爲N的數組 nums,有一個大小爲 k 的滑動窗口從數組的最左側移動到數組的最右側。你只可以看到在滑動窗口 k 內的數字。滑動

原创 數據結構與算法隨筆之鏈表-鏈表是否有環(二)

上一篇文章我們分析了下鏈表之反轉單向鏈表,這篇文章我們來分析下另外一個關於鏈表的經典題目。 判斷鏈表是否有環(在leetcode上的題目地址:環形鏈表) 題目描述 給定一個鏈表,判斷鏈表中是否有環 解決方案 一、可以使用hash表來實現,遍

原创 數據結構與算法隨筆之鏈表面試題-反轉單向鏈表(一)

最近在學習數據結構和算法,目前學習到鏈表,這裏主要分析下關於鏈表涉及的面試題解決思路和實現代碼,本人熟悉java,所以實現都使用java。廢話不多說請看第一題: 一、反轉單向鏈表(leetcode地址) 題目描述: 給定一個單項鍊表:A--

原创 rocketmq之producer解析

先來看下producer核心的類設計,如下圖: 1、核心發佈消息的類DefaultMQProducer,繼承自MQProducer接口,此接口定義了一系列發送消息的方法,如普通消息,順序消息,延時消息等,最終進行網絡通信會交給MQClie

原创 rocketmq簡介

Apache RocketMQ™是一個開源的分佈式消息和流數據平臺。 1、既然是消息系統,最核心的功能就是要提供消息的發佈與訂閱功能,最簡單的概念模型如下: 但是rocketmq提供的能力會比這個複雜的多,如一個生產方發佈消息,需要多個消

原创 使用servlet3.0異步特性改造spring-cloud-zuul

​ 我們知道spring-cloud-zuul是依賴springMVC來註冊路由的,而springMVC又是在建立在servlet之上的(這裏微服務專家楊波老師寫過一篇文章講述其網絡模型,可以參考看看),在servlet3.0之前使用