原创 Mybatis 中 #{}和 ${}的區別是什麼?

#{}是預編譯處理,${}是字符串替換; Mybatis在處理#{}時,會將sql中的#{}替換爲?號,調用PreparedStatement的set方法來賦值; Mybatis在處理${}時,就是把${}替換成變量的值; 使用

原创 JDK、JRE、JVM有什麼區別?

JDK Java Development Kit 用作開發, 包含了JRE,編譯器和其他的工具(比如: JavaDoc,Java調試器),可以讓開發者開發、編譯、執行Java應用程序。 JRE Java 運行時環境,是將要執行 J

原创 final、finally、finalize 有什麼區別?

final可以修飾類、變量、方法,修飾類表示該類不能被繼承、修飾方法表示該方法不能被重寫、修飾變量表示該變量是一個常量不能被重新賦值。 finally一般作用在try-catch代碼塊中,在處理異常的時候,通常我們將一定要

原创 Array和ArrayList有什麼區別?

數組(Array)和列表(ArrayList)的區別: Array可以包含基本類型和對象類型,ArrayList只能包含對象類型。 Array大小是固定的,ArrayList的大小是動態變化的。 ArrayList提供

原创 UDP和 TCP的區別

TCP面向連接(如打電話要先撥號建立連接);UDP是無連接的,即發送數據之前不需要建立連接。 TCP提供可靠的服務。也就是說,通過TCP連接傳送的數據,無差錯,不丟失,不重複,且按序到達;UDP盡最大努力交付,即不保證可靠交付。

原创 數據庫中char 和 varchar有什麼區別?

char(n) :固定長度類型,比如訂閱 char(10),當你輸入"abc"三個字符的時候,它們佔的空間還是 10 個字節,其他 7 個是空字節。char 優點:效率高;缺點:佔用空間;適用場景:存儲密碼的 md5 值,固定

原创 怎麼有效的防止死鎖?

要想防止死鎖,需要先知道產生死鎖的四個必要條件: 互斥條件:進程對所分配到的資源不允許其他進程進行訪問,若其他進程訪問該資源,只能等待,直至佔有該資源的進程使用完成後釋放該資源 請求和保持條件:進程獲得一定的資源之後,又對其他資

原创 ArrayList和LinkedList有什麼區別?

ArrayList和LinkedList有什麼區別? ArrayList和LinkedList都實現了List接口,他們有以下的不同點: ArrayList是基於索引的數據接口,它的底層是數組。它可以以O(1)時間複雜度對元素

原创 Synchronized鎖和Lock鎖有什麼區別?

Synchronized鎖和Lock鎖 1、synchronized是JVM層面實現的,java提供的關鍵字,Lock是API層面的鎖。 2、synchronized不需要手動釋放鎖,底層會自動釋放,Lock則需要手動釋放鎖,否則

原创 Spring中@Resource和@Autowired兩個註解的區別

都是用來自動裝配的,都可以放在屬性字段上; @Autowired通過byType的方式實現,而且必須要求這個對象存在; @Resource默認通過byName的方式實現,如果找不到名字,則通過byType實現!如果兩個

原创 JVM中服務配置的虛擬機常用參數

-server --啓用能夠執行優化的編譯器,顯著提高服務器的性能 -Xmx4000M --堆最大值 -Xms4000M --堆初始大小 -Xmn600M --年輕代大小 -XX:PermSize=200M --持久代初始大小 -

原创 Collection和 Collections的區別

1、Collection是集合類的上級接口,繼承與他的接口主要有Set和List。 2、Collections是針對集合類的一個幫助類,他提供一系列靜態方法實現對各種集合的搜索、排序、線程安全化等操作。

原创 使用java的方式配置Spring(完全摒棄掉xml配置文件)

這種純java的配置,不會出現xml的配置方式,在SpringBoot中隨處可見 1、pojo類 @Component public class User { private String name; publi

原创 倆個案例帶你理解動態代理模式

在上一篇靜態代理模式的基礎上改爲動態代理模式 案例一 1.接口 //租房 public interface Rent { public void rent(); } 2.真實角色 //房東 public class Ho

原创 整合 Mybatis-Spring方式一(sqlSessionTemplate方式)

SqlSession 在 MyBatis 中,你可以使用 SqlSessionFactory 來創建 SqlSession。一旦你獲得一個 session 之後,你可 以使用它來執行映射了的語句,提交或回滾連接,最後,當不再需要它