原创 JAVA IO 通俗解釋
以網購之後到貨爲例簡單解釋JAVA各IO模型: 阻塞 IO 模型(BIO):付款完了什麼也不幹,自己不斷問貨物是否到了,直到貨物到了拿了快遞再去做別的事兒。(效率很低,用戶線程直接阻塞) 非阻塞 IO 模型:買完了自己每隔一段時間就
原创 Java序列化:Serializable 和 Externalizable 接口
記一次面試: 面試官:怎麼實現實體的序列化? 答:實現了Serializable接口 面試官:哦,確定嗎?還有其他答案嗎? 答:確定,暫時沒有 面試官:那怎麼避免某個字段參與序列化? 答:使用transient關鍵字。 面試官:哦,確定
原创 JAVA引用傳遞、淺拷貝、深拷貝
測試類: Player類,包含name level 和 weapon 三個成員 public class Player implements Cloneable { private static final lon
原创 Git學習筆記——3、文件的新建、暫存、提交及重新提交
本節在不考慮分支的情況,以game文件夾爲例,來實際演示git的實際操作,爲了好理解,先只模擬代碼的增和補,至於回退一類的逆向操作則放在下一節。 1. 初始化本地庫 假如我們的項目是game,新建並進入game目錄,我們先執
原创 Java6至Java13重要特性摘錄
參考官方release note,主要摘取各版本比較重要的特性,翻譯水平有限,如有紕漏歡迎指出。 JDK6 語法部分 實現接口方法時,可以加@override註解了,JDK5會報錯 JVM部分 Parallel C
原创 Git學習筆記——1、基本概念
序 Git相對於SVN多了很多新概念,用起來不難但想完全掌握需要花些功夫的 Git現在是各大互聯網公司的主流代碼管理工具,曾經面試時因爲沒有過多接觸Git而被面試官鄙視 故認真學習,撰寫筆記 常見術語 Git:git本
原创 mac終端優化改造
下載iterm2地址 https://www.iterm2.com/ 升級macOS Catalina後,默認啓用zsh,不用單獨安裝。 安裝oh my sh sh -c "$(wget https://raw.githubu
原创 Git學習筆記——4、未提交前文件的回退操作
本節按使用場景來總結說明,總結文件未提交前的常見回退情形 1. 新建文件暫存後撤銷 在項目目錄下新建version.md文件,將文件暫存,狀態如下: 可以看到version.md是new file的狀態。通過命令行的輸出,
原创 Git學習筆記——2、文件狀態
剛工作使用SVN的時候,基本沒有考慮過文件的狀態,以爲無非是檢出、提交、撤回,對版本控制理解的不夠深入,其實SVN和Git一樣,也有add相關操作。 Git文件狀態的轉換 Git下每個文件狀態分爲4個階段: 未追蹤(Untr
原创 MAVEN安裝jar到本地倉庫(macOS版)
場景: 項目需要ojdbc6的jar包,由於版權問題,maven中央倉庫已經不提供包的下載了,在倉庫檢索出來的pom均不能使用,故需手動安裝到本地倉庫。 命令: mvn install:install-file -Df
原创 hikari連接池T4CPreparedStatement.isClosed()Z is abstract錯誤解決
項目是springBoot2.0的,原先使用druid連接池,後換用hikari連接池自己學習,啓動項目OK不報錯,但每次dao層訪問數據庫就報500,T4CPreparedStatement.isClosed()Z is abstrac
原创 Oracle遠程無法連接(但本機訪問正常)問題解決
場景: 兩臺筆記本接入同一個路由器,其中一臺A機器(WIN)搭建數據庫,另一臺B機器(OSX)跑項目通過局域網訪問數據庫。 早上重新開機後,B機器就怎麼也連接不上數據庫了,能ping通,通過nc命令測試端口無響應:nc -z 172.2
原创 Java重載、重寫、覆蓋、隱藏的總結
重載Overloading 發生要素如下: 1. 在同一作用範圍內(同一個類,同一個接口) 2. 方法名必定相同 3. 形參組成不同(類型、個數均不相同 or 個數相同但類型不同 or 類型相同個數不同) 錯誤的認識: 1. 方法名相同
原创 Sftp之ChrootDirectory主目錄權限的配置
背景交代: CentOS6.5搭建SFTP,按照教程配置 + 重啓SSHD服務,之後用sftp命令試驗登陸,用戶名爲paymentftp 報錯信息如下: [root@BILLING86 local]# sftp paymentftp@
原创 Java8新特性之default關鍵字學習
先談一談抽象類和接口的區別 抽象類 可看做是不可實例化的普通類,可以擁有構造方法,可以有main方法 抽象類中的方法可以是抽象方法(抽象方法必須存在於抽象類中),也可以是普通方法、靜態方法 可以聲明變量,不是必須賦初值。 抽象類可以繼承