原创 深入瞭解 Spring AOP

前言 使用了這麼久spring,會發現,凡是java面試基本會被問到spring原理,源碼,同時就會問到IOC和AOP這兩大概念,下文主要講解AOP的概念, AOP 的概念比較多, 而且這些概念經過了中文翻譯後, 變得面目全非, 鑑於此,

原创 Quartz定時任務執行原理

1、原理分析 在java中常見的定時調度方案有:ScheduledExecutorService和quartz兩種方案。其本質上都是通過native的wait方法來實現的. quartz定時調度是通過Object.wait方式(nativ

原创 mybatis一級緩存和二級緩存

mybatis 爲我們提供了一級緩存和二級緩存,可以通過下圖來理解:      ①、一級緩存是SqlSession級別的緩存。在操作數據庫時需要構造sqlSession對象,在對象中有一個數據結構(HashMap)用於存儲緩存數據。不同的

原创 Ribbon源碼深度解析

什麼是Ribbon Ribbon是Netflix公司開源的一個負載均衡的項目,它屬於上述的第二種,是一個客戶端負載均衡器,運行在客戶端上。它是一個經過了雲端測試的IPC庫,可以很好地控制HTTP和TCP客戶端的一些行爲。 Feign已經默

原创 深究Spring中Bean的生命週期

一、Bean 的完整生命週期 在傳統的Java應用中,bean的生命週期很簡單,使用Java關鍵字 new 進行Bean 的實例化,然後該Bean 就能夠使用了。一旦bean不再被使用,則由Java自動進行垃圾回收。 相比之下,Sprin

原创 spring的@Transactional註解

概述 事務管理對於企業應用來說是至關重要的,即使出現異常情況,它也可以保證數據的一致性。 Spring Framework對事務管理提供了一致的抽象,其特點如下: 爲不同的事務API提供一致的編程模型,比如JTA(Java Transac

原创 Eureka源碼深度解析(3)

Eureka Server啓動過程 同Eureka Client啓動一樣,需要添加@EnableEurekaServer註解。在該類中用@Import(EurekaServerMarkerConfiguration.class)表明了程序

原创 sqoop使用與原理

簡介 sqoop:sql-to-hadoop。 Sqoop是一個用來將Hadoop和關係型數據庫中的數據相互轉移的工具,可以將一個關係型數據庫中的數據導進到Hadoop的HDFS中,也可以將HDFS的數據導進到關係型數據庫中。 sqoop

原创 Oracle系統表整理+常用SQL語句收集

Oracle系統表整理+常用SQL語句收集 轉載於:博客園地址: http://www.cnblogs.com/jiangxinnju -- DBA/ALL/USER/V_$/GV_$/SESSION/INDEX開頭的絕大部分都是視圖

原创 數據結構中常見的樹(BST二叉搜索樹、RBT紅黑樹、B-樹、B+樹、mysql索引實現原理)

BST樹        即二叉搜索樹:        1.所有非葉子結點至多擁有兩個兒子(Left和Right);        2.所有結點存儲一個關鍵字;        3.非葉子結點的左指針指向小於其關鍵字的子樹,右指針指向大於其關

原创 Redis數據丟失及解決方案

Redis的數據回寫機制 Redis的數據回寫機制分同步和異步兩種, 同步回寫即SAVE命令,主進程直接向磁盤迴寫數據。在數據大的情況下會導致系統假死很長時間,所以一般不是推薦的。 異步回寫即BGSAVE命令,主進程fork後,複製自身並

原创 rabbitmq常見面試題

1. 如何確保消息正確地發送至RabbitMQ? RabbitMQ使用發送方確認模式,確保消息正確地發送到RabbitMQ。發送方確認模式:將信道設置成confirm模式(發送方確認模式),則所有在信道上發佈的消息都會被指派一個唯一的ID

原创 SpringCloud面試常見問題

1.SpringCloud和Dubbo SpringCloud和Dubbo都是現在主流的微服務架構 SpringCloud是Apache旗下的Spring體系下的微服務解決方案 Dubbo是阿里系的分佈式服務治理框架 從技術維度上,其實S

原创 HashMap底層實現原理

JDK1.7中HashMap底層實現原理 一、數據結構 HashMap中的數據結構是數組+單鏈表的組合,以鍵值對(key-value)的形式存儲元素的,通過put()和get()方法儲存和獲取對象。 (方塊表示Entry對象,橫排表示數

原创 flume原理解析

一、Flume簡介   flume 作爲 cloudera 開發的實時日誌收集系統,受到了業界的認可與廣泛應用。Flume 初始的發行版本目前被統稱爲 Flume OG(original generation),屬於 cloudera。