學(xué)習(xí)簡(jiǎn)記

2018/2/26

  1. git 的rebase 操作是什么意思, git 的checkout 和reset 操作的區(qū)別, 復(fù)習(xí)了 git workflow
    參考資料
  2. 對(duì) alibaba/jvm-sandbox 工具進(jìn)行了進(jìn)一步調(diào)研,了解了 jvm 的類(lèi)加載機(jī)制、雙親委派機(jī)制,通過(guò)實(shí)際查看java.lang.ClassLoader 文件了解了類(lèi)加載器之間的父子關(guān)系是通過(guò)組合而非繼承來(lái)實(shí)現(xiàn)的,jvm 將類(lèi)加載的過(guò)程放在了 jvm 之外。
    了解了 jvm-sandbox 的大致工作原理、框架以及如何使用。
    相關(guān)筆記
    參考資料:《深入理解Java虛擬機(jī) 第2版本》 周志明 著 機(jī)械工業(yè)出版社
  3. 對(duì) java 字節(jié)碼的內(nèi)容組織規(guī)則進(jìn)行了大概了解。字節(jié)碼可以被 jvm 執(zhí)行,可以根據(jù)字節(jié)碼規(guī)范逆向生成 java文件。magic number, 常量池,常量索引
    參考資料

挖坑:什么是依賴(lài)注入和控制反轉(zhuǎn),設(shè)計(jì)模式的幾個(gè)基本原則是什么?

2018/2/27

  1. git 的chekout 和 reset
    checkout 會(huì)取消工作區(qū)的修改,而不會(huì)取消暫存區(qū)的修改
    reset 分為 soft 和 hard 兩個(gè)選項(xiàng),默認(rèn)為 soft,對(duì)具體的文件而非版本不能應(yīng)用 hard,hard 會(huì)沖掉工作區(qū)和暫存區(qū)的所有內(nèi)容。
    參考資料

2018/3/1

  1. maven 中的 snapshot 版本和正式版本區(qū)別
    maven 處理正式版本的時(shí)候,一般會(huì)先看本地是否已經(jīng)下載過(guò)了該版本的依賴(lài),如果有,則不會(huì)從遠(yuǎn)程倉(cāng)庫(kù)中獲取。在頻繁開(kāi)發(fā)的過(guò)程中,這種處理方式很蛋疼。因?yàn)槲覀円蕾?lài)的其他項(xiàng)目如果有改動(dòng),除非每次提交的時(shí)候升級(jí)版本,否則都無(wú)法獲取到該項(xiàng)目最新的改動(dòng)。
    而在處理 snapshot 版本的時(shí)候,不管本地是否已經(jīng)存儲(chǔ)了該版本的依賴(lài)。會(huì)優(yōu)先查看遠(yuǎn)程倉(cāng)庫(kù)中是否有最新的發(fā)布,如果有的話,就會(huì)優(yōu)先從遠(yuǎn)倉(cāng)庫(kù)中獲取該發(fā)布。
    snapshot 版本一般用于內(nèi)部開(kāi)發(fā)的時(shí)候使用,當(dāng)該版本穩(wěn)定之后,才會(huì)出一個(gè)不帶 snapshot 的正式版本。當(dāng)然,對(duì)于 snapshot 從遠(yuǎn)端的倉(cāng)庫(kù)中獲取依賴(lài)的頻率也可以在 maven 中配置。
    參考資料

2018/3/9

  1. java 中的注解
    java 注解和 interface, class 一樣,屬于一種類(lèi)型,一般用 @interface 來(lái)表示,定義的時(shí)候和 class 一樣。
    java 的注解就相當(dāng)于一種標(biāo)簽,我們可以給一個(gè)類(lèi)或者接口做注解,也可以對(duì)類(lèi)的屬性、方法做注解,可以對(duì)方法的參數(shù)進(jìn)行注解等等,甚至可以對(duì) package 進(jìn)行注解。java 內(nèi)置了 5 種元注解,可以理解為注解的注解,包括 @Retention、@Documented、@Target、@Inherited、@Repeatable。
    定義注解:注解只有屬性沒(méi)有方法,其屬性在定義的時(shí)候用無(wú)參成員函數(shù)來(lái)表示。
    使用注解:注解的使用很簡(jiǎn)單,只要在定義相應(yīng)的類(lèi)、屬性、方法、變量等地方添加注解即可
    解析注解:注解的解析則使用到了 java 的反射機(jī)制,我們需要自己根據(jù)自己的設(shè)計(jì)來(lái)解析注解,有很多框架提供了很便利的方式來(lái)解析注解
    參考資料

  2. java 的 @resource 注解
    同樣是用來(lái)注入的,加了 @resource注解的 字段可以不用我們?cè)诖a里面手動(dòng)初始化,類(lèi)似于 spring 里面的 @autowire

2018/4/12

  1. java 的 interface 和 abstract class
    interface 奇奇怪怪的繼承:
    interface 被另一個(gè) interface 可以實(shí)現(xiàn)繼承,但interface的父類(lèi)必須是interface
    A extends B,A和B中只要有一個(gè)是interface,另一個(gè)也必須是 interface

abstract class 可以被繼承,不可以被實(shí)現(xiàn)
繼承的類(lèi)除非全部實(shí)現(xiàn)父類(lèi)的方法,否則也必須聲明為abstract class

  1. 構(gòu)造函數(shù)未解之謎
    java中每個(gè)類(lèi)會(huì)默認(rèn)帶有一個(gè)無(wú)參構(gòu)造函數(shù),類(lèi)實(shí)現(xiàn)的時(shí)候自行定義了構(gòu)造函數(shù),默認(rèn)的構(gòu)造函數(shù)會(huì)被覆蓋。此時(shí)如果還要通過(guò)無(wú)參構(gòu)造函數(shù)來(lái)實(shí)例化類(lèi)的對(duì)象,需要自行定義無(wú)參構(gòu)造函數(shù)。

  2. java 類(lèi)中靜態(tài)代碼塊,構(gòu)造代碼塊,構(gòu)造函數(shù)的執(zhí)行順序
    執(zhí)行順序?yàn)椋?br> 1.靜態(tài)代碼塊 2.構(gòu)造代碼塊 3.構(gòu)造函數(shù)
    其中靜態(tài)代碼塊只執(zhí)行一次,而構(gòu)造代碼塊和構(gòu)造函數(shù)會(huì)在每次實(shí)例化類(lèi)的時(shí)候調(diào)用
    參考資料

  3. java 構(gòu)造函數(shù)調(diào)用鏈
    先調(diào)用父類(lèi)的構(gòu)造函數(shù),然后調(diào)用子類(lèi)的構(gòu)造函數(shù)
    在子類(lèi)的實(shí)例方法中,可以通過(guò)super成員來(lái)調(diào)用父類(lèi)的實(shí)例方法(能夠訪問(wèn)到的情況下)
    子類(lèi)的構(gòu)造函數(shù)被調(diào)用的時(shí)候,會(huì)調(diào)用父類(lèi)的構(gòu)造函數(shù),如果子類(lèi)構(gòu)造函數(shù)中沒(méi)有顯示調(diào)用父類(lèi)的構(gòu)造函數(shù),則會(huì)默認(rèn)調(diào)用父類(lèi)的無(wú)參構(gòu)造函數(shù)。

  4. java多態(tài)實(shí)現(xiàn)
    靜態(tài)多態(tài)通過(guò)重載方式實(shí)現(xiàn),動(dòng)態(tài)多態(tài)通過(guò)覆蓋方式實(shí)現(xiàn)

  5. java傳參方式
    java真正意義上只有一種傳參方式,就是按值傳遞
    java中對(duì)象都是通過(guò)new的方式產(chǎn)生的,存儲(chǔ)在堆中,

  6. for 循環(huán)中定義變量
    for循環(huán)里面是可以定義變量的,內(nèi)部還是外部定義都可以,效率其實(shí)差別不是很大

2018/4/26

SAP Anywhere 產(chǎn)品的總結(jié)
Anywhere 開(kāi)發(fā)所涉及到的技術(shù)、框架以及工具。
后端開(kāi)發(fā)語(yǔ)言為 java,IDE為eclipse,版本控制工具為git,持續(xù)集成環(huán)境為jenkins。

git 基本操作
ssh 的基本原理和概念
非對(duì)稱(chēng)加密的原理和基本算法
maven 腳本的編寫(xiě)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容