原创 java使用ECC密鑰長度爲256的非對稱加密算法案例

介紹 橢圓曲線密碼學(英語:Elliptic curve cryptography,縮寫爲ECC),一種建立公開密鑰加密的演算法,基於橢圓曲線數學。橢圓曲線在密碼學中的使用是在1985年由Neal Koblitz和Victor Mille

原创 傳統生產者消費者筆記

傳統的生產者消費者模型:一個生產者 一個消費者,當生產者3一個時,消費者消費一個。 package com.java.thread; import java.util.concurrent.locks.Condition; impor

原创 SpringBoot配置druid筆記

  1.首先引入druid的jar包,如: <!--引入druid數據源--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifac

原创 Java虛擬機(筆記)

MinorGC的過程: 1.eden、SurvivorFrom複製到SurvivorTo,年齡加1。 首先,當Eden區滿的時候會觸發第一次GC,把還活着的對象拷貝到SurvivorFrom區,當Eden區再次觸發GC的時候會掃描到Ede

原创 生產者消費者阻塞隊列版(筆記)

 首先我們瞭解BlockingQueue的核心方法: 方法類型 拋出異常 特殊值 阻塞 超時 插入 add(e) offer(e) put(e) offer(e,time,unit) 移除 remove() poll() take() p

原创 部署多個springboot服務到外置的tomcat中

windows配置tomcat 參考鏈接https://www.cnblogs.com/limn/p/9358657.html CATALINA_HOME   IDEA配置外置tomcat 將項目的打包方式從jar包改成war包,<pa

原创 Windows使用Cygwin編譯redis以及手動安裝GCC

對這個連接https://blog.csdn.net/johnf_nash/article/details/51794003做補充   1. 安裝Cygwin 從Cygwin官網下載安裝程序,下載完成後雙擊開始Cygwin進行安裝。一直點

原创 死鎖編碼以及定位分析(筆記)

死鎖含義: 死鎖是指兩個或兩個以上的進程在執行過程中因爭奪資源而造成的一種互相等待的現象。若無外力干涉,那它們都將無法推進下去,如果系統資源充足,進程的資源請求都能夠得到滿足,死鎖出現的可能性就很低,否則就會因爭奪有限的資源而陷入死鎖。

原创 基礎正規表達式筆記

筆記來源於《鳥哥的linux私房菜》 語系的數據會影響到正規表達法的輸出結果,文件其實記錄的僅有0與1,我們看到的字符文字與數字都是透過編碼表住哪換而來的,由於不同語系的編碼數據並不相同,所有就會造成數據獲取的結果差異。舉例來說,在英文大

原创 使用Linux和JDK命令分析JAVA哪行代碼佔用CPU較多(筆記)

1.先用top命令找出CPU佔比最高的(找出pid) 2.ps -ef 或者jps進一步定位,得知是哪個後臺程序。(ps -ef  | grep java ) 3.定位到具體線程或者代碼(3.1 ps -mp 進程 -o THREAD,t

原创 test指令(筆記)

本文內容來自《鳥哥的linux私房菜》 我們可以通過test -e指令查詢對應的檔名是否存在,但要結合&&和||才能出效果。 test -e /tmp && echo "exist" || echo "Not exist" 測試的標誌

原创 Executors的四種連接池

文章摘抄於《Java併發實戰》121頁 線程池概念 正如名稱中所稱的那樣,線程池管理一個工作者線程的同構池(homongeneous pool)。線程池是與工作對列(wore queue)緊密綁定的。所謂工作隊列,其作用是持有所

原创 happens-before的法則

內容來源於《JAVA併發編程實踐》 Java存儲模型的定義是通過動作(actions)的形式進行描述的。所謂動作,包括變量的讀和寫、監視器加鎖和釋放鎖、線程的啓動和拼接(join)。 JAVA存儲模型(JMM)爲所有程序內部的動作定義了一

原创 JDK動態代理的原理

資料來源於網上 JDK動態代理實際上是生成一個新的類,將增強和被代理類方法的代碼加入到新的類中。注意JDK動態代理需要被代理類實現接口。 原理: 1.拿到被代理類的引用,並且獲取它的所有的接口(反射獲取) 2.JDK Proxy類重新生成

原创 bash按鍵筆記

筆記來源:鳥哥的linux私房菜 組合鍵 功能與示範 [ctrl]+u 從光標處向前刪除指令串 [ctrl]+k 從光標處向後刪除指令串 [ctrl]+a 讓光標移動到整個指令串的最前面 [ctrl]+e 讓光標移動到整個指令串的最後面