原创 淺談Spring核心技術 IOC與AOP

IOC: IOC(Inversion Of Controll,控制反轉)是一種設計思想,將原本在程序中手動創建對象的控制權,交由給Spring框架來管理。IOC容器是Spring用來實現IOC的載體,IOC容器實際上就是一個Map(key

原创 JAVA併發編程:詳解AQS、顯示鎖Lock、ReentrantLock及源碼分析

1、AbstractQueuedSynchronizer 1.1 學習 AQS 的必要性   隊列同步器 AbstractQueuedSynchronizer(以下簡稱同步器或 AQS),是用來構建鎖或者其他同步組件的基礎框架,它

原创 MYSQL之limit基本用法

在日常開發過程中,我們經常會使用select查詢數據返回前n行或者中間某n行數據,此時mysql中的limit字句就改派上用場了。在select語句中使用limit子句來約束結果集中的行數,limit子句接受一個或兩個參數。 語法如下:

原创 JAVA併發編程:詳解原子操作、如何使用CAS實現原子操作、JDK中相關原子操作類的基本使用

1、什麼是原子操作?   假定有兩個操作A 和B,如果從執行A 的線程來看,當另一個線程執行B 時,要麼將B 全部執行完,要麼完全不執行B,那麼A 和B 對彼此來說是原子的。 2、如何實現原子操作?   實現原子操作可以使用鎖,鎖

原创 詳解Java 8 中使用Stream將List轉爲Map

Java 8 API添加了一個新的抽象稱爲流Stream,可以讓你以一種聲明的方式處理數據。Stream API可以極大提高Java程序員的生產力,讓程序員寫出高效率、乾淨、簡潔的代碼。 下面將詳細講解在Java 8 中如何使用Strea

原创 Spring中@Controller、@Repository、@Service、@Component註解的作用詳解

Spring中使用在類上的常用註解有@Controller、@Repository、@Service、@Component,下面分別詳細介紹一下他們的作用: 1、@Controller:用於標註控制層服務。 2、@Repository:用

原创 JAVA併發編程:線程併發工具類Callable、Future 和FutureTask的使用

1、基本介紹   Runnable 是一個接口,在它裏面只聲明瞭一個 run()方法,由於 run()方法返回值爲 void 類型,所以在執行完任務之後無法返回任何結果。   Callable 位於 java.util.concu

原创 JAVA併發編程:線程併發工具類CountDownLatch與CyclicBarrier的作用、應用場景和實戰

一、CountDownLatch 1、基本概念及作用 JDK解釋:A synchronization aid that allows one or more threads to wait until a set of oper

原创 JAVA併發編程:線程併發工具類Fork-Join原理分析及實戰

1、Fork-Join   Java下多線程的開發我們可以自己啓用多線程、線程池,還可以使用ForkJoin。 ForkJoin 可以讓我們不去了解諸如 Thread、Runnable 等相關的知識,只要遵循 ForkJoin 的

原创 算法:JAVA實現歸併排序

1、核心思想 歸併排序是建立在歸併操作上的一種有效的排序算法。該算法是採用分治法的一個非常典型的應用。將已有序的子序列合併,得到完全有序的序列;即先使每個子序列有序,再使子序列段間有序。 若將兩個有序表合併成一個有序表,稱爲 2-路歸併,

原创 算法:JAVA實現插入排序

1、核心思想 插入排序是指在待排序的元素中,假設前面n-1(其中n>=2)個數已經是排好順序的,現將第n個數插到前面已經排好的序列中,然後找到合適自己的位置,使得插入第n個數的這個序列也是排好順序的。按照此法對所有元素進行插入,直到整個序

原创 併發編程:線程中Join方法的使用示例分析

Join方法的使用,簡單來說就是把指定的線程加入到當前線程,可以將兩個交替執行的線程合併爲順序執行。 比如在線程 B 中調用了線程 A 的 Join()方法,直到線程 A 執行完畢後,纔會繼續執行線程 B。 代碼示例如下所示: pack

原创 併發編程:線程基礎、JAVA新啓線程的方式

一、簡單描述什麼是進程和線程 1、進程:進程是程序運行資源分配的最小單位。 2、線程:線程是CPU調度的最小單位,必須依賴於進程而存在。   二、創建線程的幾種方式 在JDK的源碼Thread類中明確表示,創建線程的方式一共有兩種: 一種

原创 mvn clean package Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test

maven 工程執行 mvn clean package 命令出錯: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2

原创 圖文詳解IDEA如何創建Eureka Server 註冊中心和 Eureka Client

一、創建Eureka Server,配置用戶安全認證 1、File-New_Project 2、New Project ,左側選擇Spring Initializr,JDK版本選擇1.8以上,Choose Initializr Serv