原创 JVM與synchronized

JVM與synchronized synchronized 關鍵字 使用: 聲明一個 synchronized 代碼塊 直接標記靜態方法或者實例方法 聲明 synchronized 代碼塊 public class T

原创 Java-NIO(1)

Java-NIO(1) 概述 Java NIO(New IO)是一個可以替代標準Java IO API的IO API(從Java1.4開始),Java NIO提供了與標準IO不同的IO工作方式。 所以Java NIO是一種新式的I

原创 深入理解計算機系統-第七章(鏈接)筆記

深入理解計算機系統-第七章(鏈接)筆記 背景 鏈接是將各種代碼和數據部分收集起來並組合成爲一個單一文件的過程 這個文件可被加載(拷貝)到存儲器中並執行: 鏈接可以執行於編譯時,也就是源代碼翻譯成機器碼時 也可以執行於加載時

原创 實現一個簡單的詞法分析器

實現一個簡單的詞法分析器 詞法分析 詞法分析的工作是將一個長長的字符串識別出一個個的單詞,這一個個單詞就是 Token。而且詞法分析的工作是一邊讀取一邊識別字符串的,不是把字符串都讀到內存再識別 詞法單元: 單詞的內部表示是詞

原创 Java-I/O學習(5)

Java-I/O學習(5) ByteArrayInputStream ByteArrayInputStream類可以讓你從一個字節數組來讀取流 創建 //Creates a ByteArrayInputStream so tha

原创 Java-I/O學習(1)

Java-I/O學習(1) Java IO是java中的相關API,主要目的爲讀數據與寫數據(input 和 output)。大部分的應用都需要處理一些輸入數據,並且根據輸入數據生成一些輸出數據,比如說從文件或網絡讀取數據,然後寫

原创 JVM方法句柄

JVM方法句柄 方法句柄是一個強類型的,能夠被直接執行的引用。該引用可以指向常規的靜態方法或者實例方法,也可以指向構造器或者字段。當指向字段時,方法句柄實則指向包含字段訪問字節碼的虛構方法,語義上等價於目標字段的 getter 或

原创 Java-NIO(3)

Java-NIO(3) ByteBuffer ByteBuffer爲Buffer子類,可以在緩衝區中以字節爲單位對數據進行存取 此類定義了對字節緩衝區的六種操作類別: 讀取和寫入單個字節的絕對和相對的get和put方法;

原创 Java-NIO(2)

Java-NIO(2) 緩衝區 常規I/O操作存在很大缺點,主要是因爲它們是阻塞的,而NIO正是爲了解決常規I/O執行效率低的問題,採用非阻塞高性能運行的方式來避免出現笨拙的同步I/O帶來的效率低的問題 緩衝區Buffer,在NI

原创 Java-I/O學習(6)

Java-I/O學習(6) DataInputStream DataInputStream可以讓你從InputStream讀取Java基本類型來代替原始的字節。用DataInputStream來包裝InputStream,你就可以

原创 Java-I/O學習(2)

Java-I/O學習(2) InputStream InputStream是Java IO中所有輸入流的基類 方法列表: 讀取操作: 返回類型 方法 具體描述 abstract int read() Reads th

原创 Java-I/O學習(3)

Java-I/O學習(3) RandomAccessFile 構造函數 構造方法 具體描述 RandomAccessFile​(File file, String mode) Creates a random acc

原创 Spring Boot集成MyBatis、Redis、JWT、Shiro

Spring Boot集成MyBatis、Redis、JWT、Shiro 認證流程 自定義過濾器 @Slf4j public class JwtFilter extends BasicHttpAuthenticationFil

原创 快速上手spring-boot+spring-security+jwt

快速上手spring-boot+spring-security+jwt 數據庫表設計 三張表: 用戶表 user 角色表 role 用戶角色表 user_roles 圖示: 實體類 用戶類 @Entity pu

原创 數據結構之—棧

數據結構之—棧 順序棧 內部採用數組實現 結構圖; 定義結構體: typedef struct StackInfo { int topOfStack; /*記錄棧頂位置*/ ElementType stack[S