原创 Linux 驅動程序入門

驅動是具有入口和出口的一組方法的集合,這一組方法纔是驅動的核心內容。 對於字符設備驅動程序,最核心的就是 file_operation 結構,這個結構實際上是提供給虛擬文件系統 [ VFS ] 的文件接口,它的每一個成員函數一般都對應一個

原创 Java併發數據結構的基礎

Java的併發能力的基礎是Park()和unPark()方法、易失性變量、同步化、CAS操作和AQS隊列。進入這些知識點並不容易。本節中提到的與鎖相關的知識並不特別完整,還有許多細節我還沒有完全理解,因此讓我們稍後討論關於鎖的更多細節。

原创 基於Java實現紅黑樹的基本操作

首先,在閱讀文章之前,我希望讀者對二叉樹有一定的瞭解,因爲紅黑樹的本質就是一顆二叉樹。所以本篇博客中不在將二叉樹的增刪查的基本操作了。 有隨機數節點組成的二叉樹的平均高度爲logn,所以正常情況下二叉樹查找的時間複雜度爲O(logn)。但

原创 從源代碼的角度理解Java設計模式的裝飾模式

一、裝飾模式介紹 修飾符模式定義:不改變原始對象的附加函數比生成子類更靈活。 適用場景:動態的給一個對象添加或者撤銷功能。 優點:它能夠在不改變原有對象的情況下動態擴展函數,使擴展函數按照期望的順序執行,達到不同的效果。 缺點:更多的類,

原创 淺析Java中的四種線程池

1.使用線程池的好處    2.JUC中幾種常用的線程池 java.util.concurrent包下的Executors工廠類,提供了一系列的線程池的創建方法,其構造方法如下: public ThreadPoolExecutor(i

原创 String居然還能這樣玩!

Java 11 增加了一系列的字符串處理方法,如以下所示。 // 判斷字符串是否爲空白 " ".isBlank(); // true // 去除首尾空格 " Javastack ".strip();

原创 你不可不知的Java引用類型之ReferenceQueue源碼詳解

定義 引用隊列是用於存儲要回收的引用對象的引用隊列。 說明 對於軟引用、弱引用和虛擬引用,如果希望在垃圾收集器回收對象以進行其他處理時得到通知,則需要使用引用隊列。 當垃圾收集器掃描要回收的對象時,將對應的引用包裝器類(引用對象)放入其註

原创 Java如何實現哈夫曼編碼

哈夫曼樹 既然是學習哈夫曼編碼,我們首先需要知道什麼是哈夫曼樹:給定n個權值作爲n個葉子結點,構造一棵二叉樹,若帶權路徑長度達到最小,稱這樣的二叉樹爲最優二叉樹,也稱爲哈夫曼樹(Huffman Tree)。哈夫曼樹是帶權路徑長度最短的樹,

原创 高頻寫入redis場景優化

前言 工作中經常遇到要對redis進行高頻寫入,但是對於讀取時數據的實時性要求又不高的場景。爲了優化性能,決定採用本地緩存一部分數據整合後寫入。 依賴 <dependency> <groupId>com.google.guava</g

原创 Java併發之談談對AQS的理解

一、寫在前面 這篇文章,我們來聊聊面試的時候比較有殺傷力的一個問題:聊聊你對AQS的理解? 之前有同學反饋,去互聯網公司面試,面試官聊到併發時就問到了這個問題。當時那位同學內心估計受到了一萬點傷害。。。 因爲首先,很多人還真的連AQS是什

原创 Java註解(annotation)機制

前言 jdk1.5引入了註解機制(Annotation),用於對java裏面的元素(如:Class、Method、Field等等)進行標記。同時,java的反射類庫也加入了對Annotation的支持,因此我們可以利用反射來對特殊的Ann

原创 從Spring到SpringBoot構建WEB MVC核心配置詳解

理解Spring WEB MVC架構的演變 基礎Servlet架構 核心架構:前端控制器 Spring WEB MVC架構 認識Spring WEB MVC 傳統時代的Spring WEB MVC 怎麼講呢?就是很傳統的使用Spri

原创 初學springboot的應用

簡單看看使用場景:   運用場景1:比如大家註冊博客園的時候,註冊信息寫入數據庫之後,還需要激活吧!你要等博客園的一個線程給你發郵件,假如這個時候註冊的人很多,那就需要非常多的線程,大家也知道線程到達一定數目效率反而是降低的,而且只有等到

原创 springboot入門教程

SpringBoot是什麼? springboot是spring家族中微型框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。 Spring Boot可以輕鬆創建獨立的,生產級的基於Spring的應用程序,您可以“運行”。

原创 String和StringBuilder、StringBuffer的區別?

估計很多Java初學者在學習Java的過程中都會遇到這個問題,那就是String,StringBuilder,StringBuffer這三個類之間有什麼區別?今天在這裏整理一下,希望對大家有幫助哈。如果哪裏有問題的話,還望大家不吝賜教,以