原创 鎖機制及其實現--java併發包中的鎖和redisson中的鎖

前言 在多線程環境中,多個線程訪問同一塊代碼時,就會發生競態條件(race condition),這意味着在某個時刻,我們無法確定到底是哪個線程在執行那塊代碼中的某個操作,也無法確定在那個操作之後,是不是同一個線程會繼續執行下一個

原创 在spring boot測試中無法加載配置文件中的值

項目中有變量是配置在application.yml文件裏面的,運行整個項目時沒有問題,但是單獨拿出來進行測試的話變量一直是空。 @Configuration @ConfigurationProperties(prefix = "f

原创 對遞歸的進一步理解

這周看了一道求數組排列的題目,解法用了遞歸,看懂之後自己對遞歸的理解更深了。 遞歸的定義 遞歸是指程序調用自身,但調用時必須改變調用參數,直到某個參數滿足退出條件。函數調用的過程會用到run-time stack,遞歸時棧中的

原创 addEventListener()中的第三個參數

昨天遇到一段js代碼裏面的addEventListener方法竟然有三個參數,去谷歌搜了一下,覺得這個概念很有意思,值得總結一下寫成博客。 useCapture addEventListener()中的第三個參數是Boolean類型的

原创 Spring Boot中的@EnableWebMvc

學習Spring Security時,需要在Spring Boot的配置類裏面註冊自己編寫的登錄頁面,但是發現在/resources/static/目錄下面的靜態文件找不到了,訪問的話顯示404。找了很久才知道了問題所在。 Spr

原创 js文件不起作用

今天寫HTML代碼時把jQuery文件的鏈接放在了自己的js文件鏈接的後面,所以js代碼不起作用,看了半天才發現是這個原因。

原创 自己配置的系統服務報錯

今天在服務器上下載了hexo,準備搭建博客,安裝好了之後想把hexo配置成系統服務,這樣管理起來就能方便些。結果開始一直不行報錯,最後搞了好幾個小時。 配置完了之後“systemctl start hexo”,然後"systemctl

原创 實現接口中的方法

今天有人在羣裏問了一道Java題目:我看了一下不知道答案,遂谷歌之。 答案應該是D。 知識點:concrete類,不知道怎麼翻譯,就是可以直接實例化的類,必須實現它實現的接口中所有的方法。抽象類,可以只實現部分它實現的接口中的方法,剩

原创 Java中的類加載與類卸載

類加載 Java中的代碼都寫在類裏面,源代碼(.java文件)經過編譯後會變成字節碼(.class文件),當Java應用程序運行時,JVM會加載要用到的類。 負責類加載的是java.lang.ClassLoader的對象,ClassL

原创 XML命名空間

.xml文件是很常見的配置文件類型,也經常會遇到,這篇文章以spring官方文檔裏面的一個.xml文件片段來講解一下XML命名空間。 <beans xmlns="http://www.springframework.org/schem

原创 進程和線程

算是對原文的總結加上兩個實際的例子,最好能看一看英文原文,人家說得更詳細。 進程(process) 一個進程就是程序的一個實例。程序運行時需要計算機硬件資源的支持,操作系統的任務就是分配進程需要的資源。 每個進程都需要的計算機資源包括

原创 用公匙登錄SSH

這篇文章並不是教你怎麼設置,因爲已經有很多相關的文章了。 昨天用CRT生成密匙對之後把公匙上傳到了服務器,驗證可以登錄之後,刪了密匙。對你沒看錯,刪了密匙只留下了公匙,再次登錄的時候提示密匙不存在,這時候我竟然沒有認真看報錯信息,大概

原创 Java中複製字節流

因爲InputStream只能進行一遍完整的讀過程,之後裏面就沒有數據了,當我們需要讀不止一次時,需要先複製出來。 ByteArrayOutputStream baos = new ByteArrayOutputStream(); b

原创 Java中的正則表達式

好久不用Java中的正則表達式,記得很多方法都在Matcher類裏面,結果打開文檔一臉懵逼,找不到一個合適的方法把原始字符串傳進去,只好去谷歌上面找入門教程,發現Matcher類的對象是用原始字符串構造的,用Pattern的match

原创 Java中開線程的兩種方式

在Java中線程是Thread類的實例,有兩個方式可以開新線程,分別對應Thread的兩種構造方法:Thread()和Thread(Runnable target)。 實現Runnable接口 public class HelloRu