原创 2020年最新版的spring-kafka 整合消費者端代碼實踐---採用原始的方式,非@KafkaListener註解監聽方式

                                                                    spring-kafka 整合消費端代碼 1.pom 文件依賴 <?xml version="1.0

原创 java 序列化、反序列化和transient關鍵字的作用

       平時我們在Java內存中的對象,是無 法進行IO操作或者網絡通信的,因爲在進行IO操作或者網絡通信的時候,人家根本不知道內存中的對象是個什麼東西,因此必須將對象以某種方式表示出來,即 存儲對象中的狀態。一個Java對象的表示

原创 springboot啓動過程涉及的類和接口

1.會先檢查環境配置: No active profile set, falling back to default profiles: default 2.如果有mybatis starter ,會檢查No MyBatis mapper

原创 spring源碼學習之整合Mybatis原理分析--轉

本文主要解析spring是如何與mybatis進行整合,整合的過程中需要哪些組件的支持。以前面提到過的配置例子《spring源碼學習之aop事物標籤解析》 整合的過程中需要使用以下這個依賴包: <!-- mybatis-spring 整合

原创 Spring MVC : 註解@ControllerAdvice的工作原理==轉載

這篇關於@ControllerAdvice 搭配@ExceptionHandler;@ModelAttribute;@InitBinder 使用的博客介紹的基本原理是最好理解的,防止以後找不到,我記錄下地址:https://blog.cs

原创 深入理解Spring 之 Spring 進階開發必知必會 之 Spring 擴展接口--轉

我們在前幾篇文章中已經深入瞭解了 Spring 的 IOC 機制和 AOP 機制,在閱讀源碼的同時,樓主對 Spring 中設計模式的運用可以說五體投地,還有我們還知道更重要的一點就是:Spring 留給了我們大量的擴展接口供開發者去自定

原创 Java併發編程:CountDownLatch、CyclicBarrier和Semaphore

在java 1.5中,提供了一些非常有用的輔助類來幫助我們進行併發編程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我們就來學習一下這三個輔助類的用法。   以下是本文目錄大綱:   一.Coun

原创 JAVA8 十大新特性詳解

前言: Java 8 已經發布很久了,很多報道表明Java 8 是一次重大的版本升級。在Java Code Geeks上已經有很多介紹Java 8新特性的文章, 例如Playing with Java 8 – Lambdas and Co

原创 HashMap與Currenthashmap源碼解讀

前言 Map 這樣的 Key Value 在軟件開發中是非常經典的結構,常用於在內存中存放數據。 本篇主要想討論 ConcurrentHashMap 這樣一個併發容器,在正式開始之前我覺得有必要談談 HashMap,沒有它就不會有後面的

原创 併發編程的CAS原理

概述 CAS(Compare-and-Swap),即比較並替換,是一種實現併發算法時常用到的技術,Java併發包中的很多類都使用了CAS技術。CAS也是現在面試經常問的問題,本文將深入的介紹CAS的原理。 案例 介紹CAS之前,我們先來看

原创 Lock 的簡介及使用

Lock是java 1.5中引入的線程同步工具,它主要用於多線程下共享資源的控制。本質上Lock僅僅是一個接口(位於源碼包中的java\util\concurrent\locks中),它包含以下方法 //嘗試獲取鎖,獲取成功則返回,否

原创 深入JVM鎖機制1-synchronized

        目前在Java中存在兩種鎖機制:synchronized和Lock,Lock接口及其實現類是JDK5增加的內容,其作者是大名鼎鼎的併發專家Doug Lea。本文並不比較synchronized與Lock孰優孰劣,只是介紹二

原创 volatile和synchronized的作用和區別

volatile和synchronized的作用和區別是什麼? java的線程抽象內存模型           java的線程抽象內存模型中定義了每個線程都有一份自己的私有內存,裏面存放自己私有的數據,其他線程不能直接訪問,而一些共享數

原创 事件0918

                     課堂筆記 1. 一個類實現一個一個接口,可以不完成實現接口中定義的抽象方法,但是這個類只能是抽象類。同樣,一個類繼承一個抽象類,也可以不實現抽象類中定義的抽象方法,這個類也需是抽象類。 2. 一個

原创 SQL數據庫3=0927

                                       學習報告 1. 當進行子查詢時,如果子查詢返回單行單列,可以使用=,>,< 如果子查詢多行單列,這是隻能使用in(Not in)關鍵子。 2. 內連接:查詢兩個