原创 instanceof 和 isInstance 區別

其實二者的功能是一致的;isInstance 源碼中有說明: This method is the dynamic equivalent of the Java language {@code instanceof} operator。

原创 HashMap特性、原理及算法實現的一些思考

1、HashMap 一些特性: 存儲的是 <key, value> 形式的鍵值對; 允許 key值 或 value值 爲 null; HashMap 是非 synchronized; HashMap 很快 哈希表的主幹是數組,數組中的元素

原创 Redis 底層數據結構之SDS

SDS : 全稱:Simple Dynamic String; 中文:簡單動態字符串; Redis 底層字符串的實現方式;   最近做了次關於 SDS 的學習分享,圖方便,直接上 ppt 截圖:          

原创 Java 基礎知識之關鍵字——持續更新中

1、final 關鍵字 (1) 修飾成員變量:           對於基本類型:           final 使數值不變,也就是不能被修改,同時必須賦初始值,只能被初始化一次。          (1) 單獨一個 final 關鍵字

原创 Java接口和抽象類介紹與區別

在說二者區別之前,首先看一看二者的一些特性,如下 1、2 所示: 1、抽象類 有抽象方法的類一定是抽象類; 抽象類也可以沒有任何一個抽象方法; 抽象類也可以有非抽象方法; 2、接口 接口中的所有方法都是抽象的,且不用開發者顯示定義(jdk

原创 Java 8 流的學習總結

1、首先談談什麼是流? 流是從支持數據處理操作的源中生成的元素序列。 拆分理解這句話: 元素序列:流提供了一個接口,可以訪問特定元素類型的一組有序值; 源:被處理的數據,從有序集合生成流時會保留原有的順序;由列表生成的流,其元素順序和列表

原创 先序遍歷二叉樹的兩種方法(遞歸及非遞歸)

先序遍歷就是按照 根節點 => 左子樹 => 右子樹 的順序訪問。 其實: 先序、中序、後序遍歷,主要是對根節點讀取順序而言的。 下面介紹下兩種具體的遍歷方法。 1、首先先定義一個樹節點類信息,如下: package com.dz.d

原创 二維數組逆時針輸出(Java)

最近面試的時候,面試官讓寫一個算法,給定一個二維數組 arr[][],逆時針輸出該數組 說一說大概的思路,逆時針輸出二維數組: 即從最外圈開始,慢慢想內圈滲透; 一圈分爲四個過程,分別完成這四個過程; 而後向內圈滲透,重複上述過程; 話不

原创 歸併排序實現(Java版)

歸併排序的時間複雜度(O(n log n))要高於一般的排序算法,如冒泡等(O(n^2)); 具體實現如下: public class MergeSort { public static void main(String[] a

原创 Spring AOP 兩種動態代理機制

Spring AOP 使用動態代理技術在 運行期 織入增強的代碼。其使用的動態代理機制有如下兩種: 基於 JDK 的動態代理; 基於 CGLib 的動態代理; 之所以需要兩種代理機制,很大程度上是因爲 JDK 本身只提供接口的代理,而不支

原创 Java 實現 word(docx版本)轉 pdf

docx文件轉pdf,支持數據源(文字和圖片)替換。   字體鏈接在最下方!!! poi 3.15版本。 替換word文件內容後直接通過fr.opensagres.xdocreport轉成pdf。  <dependency> <g

原创 檢測鏈表中是否存在迴環(Java 版)

檢測鏈表中是否存在迴環,這裏介紹兩種方法: 快慢指針; HashSet 存儲原理; 1、快慢指針 快慢指針檢查,就是定義兩個指針,一個走的快,一個走的慢,如果鏈表中存在迴路,則快的指針最終會追上走的慢的; 就如在學校圓形跑道上跑步,跑的快

原创 判斷二叉樹是不是鏡像對稱的(Java 版)

最近面試做了個算法題,判斷二叉樹是不是鏡像對稱的。 理解一下鏡像對稱:就是從中間對摺能完全重合且節點值相同; 這裏是用遞歸調用來實現的,話不多說,直接上代碼,如下: /* * 定義一個樹節點類 */ pu

原创 Windows 環境下查看 Redis 版本號命令

Windows 環境下查看 Redis 版本號命令: // Redis 客戶端輸入 info server // 結果 # Server redis_version:3.2.100 redis_git_sha1:00000000 r

原创 區塊鏈電子發票二維碼內容解析(Java版)

背景: 之前做過一個微信小程序掃描發票二維碼,記錄發票內容。日前公司財務收到了一種新的發票(區塊鏈電子發票),之前的小程序解析不了這種新的二維碼。   區塊鏈電子發票是由深圳稅務局和騰訊公司合作完成的一款創新型產品,詳情大家可以去百度一下