原创 如何讀取Jar包內的文件及文件夾

給出getFile的三種方式 1、從外部目錄讀取 2、從jar包內讀取 3、從classpath讀取 1和3都屬於規範讀取,即可以通過標準文件讀取協議讀取,而2是java特有的,必須得用類加載器讀取   public File getF

原创 freemarker如何讀取jar包內的模板文件

修改freemarker的配置屬性 // configuration.setDirectoryForTemplateLoading(file); 此行配置不要了 configuration.setClassForTemplateLoad

原创 Java線程狀態預覽

Java線程有五個狀態:就緒(剛創建的時候),運行中(RUNNING),限時等待中(TIMED_WAITING),等待中(WAITING),阻塞(BLOCKED) 以下代碼模擬線程的各個情況(針對TIMED_WAITING,WAITING

原创 BIO多線程編程

package com.dashuf.caes.job.batch; import java.io.BufferedReader; import java.io.IOException; import java.io.InputSt

原创 NIO和BIO

https://www.jianshu.com/p/ef418ccf2f7d

原创 IDEA main方法啓動項目後控制檯打印日誌中文亂碼?調用接口中文亂碼?

終極解決方案: 1、File-settings-Editor-File Encodings-Global Encodings設置爲UTF-8 2、File-settings-Editor-File Encodings-Project En

原创 類的加載和實例化過程

類的加載和實例化過程

原创 【設計模式】單例模式

1、最經典也是最簡單的單例模式: public class Singleton { private Singleton(){} private static Singleton instance; publ

原创 String爲什麼是final

https://blog.csdn.net/sdmxdzb/article/details/83003734

原创 類加載、類實例化過程

1、名詞等同,類實例化=對象初始化 2、Java對象初始化過程是先初始化成員變量(包括代碼塊),再執行構造函數。 3、如果某個類沒有被用到,則此類一直不會被加載。 4、類實例化的過程是先按照代碼先後順序執行類中定義的static代碼塊/s

原创 synchronized底層原理實現

https://www.jianshu.com/p/e62fa839aa41

原创 volatile關鍵字

線程安全(上)--徹底搞懂volatile關鍵字

原创 HashMap原理深入理解

HashMap原理深入理解

原创 ArrayList的底層實現

1、底層是Object數組,叫做 elementData 2、默認容量10,叫做 DEFAULT_CAPACITY,不是初始容量 3、如果不指定初始容量,剛new出來的list如果沒有存儲任何對象,則容量爲0,但是如果指定了初始容量,剛開

原创 Java基本數據類型

Java有八大基本數據類型 1、byte 8位 2、short 16位 3、int 32位 4、long 64位 5、double 64位,默認小數是用它 6、float 32位 7、bool  8、char 16位