原创 lock 與synchronized區別

1、ReentrantLock 顯示的獲得、釋放鎖,synchronized 隱式獲得釋放鎖 Lock 在發生異常時,如果沒有主動通過 unLock()去釋放鎖,則很可能造成死鎖現象, 因此使用 Lock 時需要在 finally 塊中釋

原创 mysql 的多表連接

1、SELECT * FROM  A , B 默認是笛卡爾積 2、內連接(兩者一樣): 顯示內連接:SELECT * FROM A INNER JOIN B ON 條件; 隱式內連接:SELECT * FROM A, B WHERE 條件

原创 JAVA的節點流和處理流

完全轉載 節點流:可以從或向一個特定的地方(節點)讀寫數據。如FileReader. 處理流:是對一個已存在的流的連接和封裝,通過所封裝的流的功能調用實現數據讀寫。如BufferedReader.處理流的構造方法總是要帶一個其他的流對象做

原创 vi的使用

  ps:一般模式可與編輯模式及命令行模式切換, 但編輯模式與命令行模式之間不可互相切換,如圖。   基本上vi可以分爲三種狀態,分別是一般模式、編輯模式和命令行模式,各模式的功能區分如下: 一般模式(默認) 在這個模式中,可以複製、粘貼

原创 LocalDateTime

自 Java8開始, JDK中其實就增加了一系列表示日期和時間的新類,最典型的就是 LocalDateTime。替代了之前的Date。 而且LocalDateTime是線程安全的。   下面是一些用法: LocalDateTime r

原创 mybatis中去除多餘的前綴或者後綴

A.where 標籤會自動刪除第一個多餘的and或者or,set標籤會自動刪除最後一個',' B.trim標記,是一個格式化的標記,可以完成set或者是where標記的功能,如下代碼: 1、 select * from user  <tr

原创 常見排序

經常會忘記這幾種排序的思路是什麼,可能理解不夠,特此記錄一下,方便時常翻看。 1. 冒泡排序(兩兩輪流比較) 冒泡排序算法是把較小的元素往前調或者把較大的元素往後調。這種方法主要是通過對相鄰兩個元素進行大小的比較,根據比較結果和算法規則對

原创 數據庫中的實例名和數據庫名有什麼不同?

參考: https://blog.csdn.net/lmy86263/article/details/50837749 https://blog.csdn.net/ljabclj/article/details/44681279 一個數據

原创 二分法

剛開始以爲是2^7<154<2^8 所以 <=8的就都對。 後面自己畫圖試了試,以爲最大次數是7(沒考慮到不存在的情況),特此寫代碼求證。下面附上代碼: private static int half(int[] arr, int n

原创 sleep與wait 異同

鏈接:https://www.nowcoder.com/questionTerminal/c6af6599d1c942078560e31f9ddf7b85?toCommentId=2489918            https://ww

原创 java-集合

  一、HashMap和Hashtable的區別 1.共同點:都是雙列集合,底層都是哈希算法 2.區別: HashMap是線程不安全的,效率高,Hashtable是線程安全的,效率低; HashMap可以存儲null鍵和null值,Ha

原创 微服務-筆記

參考: https://www.jianshu.com/p/383bace53bae 一、基本思想 圍繞業務領域組件來創建應用,讓應用可以獨立的開發、管理和加速。 微服務中的“微”非常具有欺騙性,事實上它沒有規定服務的規模有多小或多大。

原创 UDP

UDP socket  這種信息傳輸方式相當於傳真,信息打包,在接受端準備紙。 特點: 1) 基於UDP無連接協議  2) 不保證消息的可靠傳輸  3) 它們由Java技術中的DatagramSocket和DatagramPacket類支

原创 linux -關機

虛擬機關閉和虛擬機關閉電源的區別: 虛擬機和你實機的情況是一樣的。 關機就是正常關機。關閉電源 相當於 直接電源撥插頭。 關機要把系統內的程序一個一個的關閉後才關機。 關閉電源是什麼都不管,直接關閉虛擬機。   爲什麼說shutdown命

原创 hashcode與equals的關係

借鑑:https://www.iteye.com/blog/bijian1013-1972404            https://www.cnblogs.com/guanmu/p/4894430.html          一、前言