江西胖闭信息技术有限公司

找總結(jié)網(wǎng) > 總結(jié)報告范文 > 一周工作總結(jié) > JAVA工程師實習(xí)一周總結(jié)

JAVA工程師實習(xí)一周總結(jié)

| cwl2

轉(zhuǎn)眼間,來到公司接近一個月了,從校園里走到實習(xí)崗位,學(xué)習(xí)環(huán)境變了,與周圍的人的關(guān)系變了,一開始最重要的就是做好角色的轉(zhuǎn)變,融入到環(huán)境中。從學(xué)校學(xué)生到公司員工是一次非常重要的角色轉(zhuǎn)變,同時也是一次人生的跨越。對于大學(xué)生來講,這不是一道不可逾越的障礙,實習(xí)的機會也將是我未來職業(yè)生涯助力的跳板。在實習(xí)的適應(yīng)階段,我最重要的轉(zhuǎn)變就是態(tài)度的變換,我自己也體會到態(tài)度決定著一切。作為一個新人,在加入新的團隊中,態(tài)度是最應(yīng)該去注意的。要有學(xué)會反思的習(xí)慣,回顧這一周的學(xué)習(xí)情況:

作為一名Java開發(fā)工程師,Java虛擬機是必須要了解的,其中的內(nèi)存劃分,工作原理自己要熟悉,所以這一周花了一部分時間閱讀了Java虛擬機規(guī)范文檔,學(xué)習(xí)了classloader機制,了解并熟悉了虛擬機內(nèi)存的劃分以及其中的各項參數(shù)。先說一下什么是classloader機制?

當(dāng)我們寫好一個Java程序之后,不是管是CS還是BS應(yīng)用,都是由若干個.class文件組織而成的一個完整的Java應(yīng)用程序,當(dāng)程序在運行時,即會調(diào)用該程序的一個入口函數(shù)來調(diào)用系統(tǒng)的相關(guān)功能,而這些功能都被封裝在不同的class文件當(dāng)中,所以經(jīng)常要從這個class文件中要調(diào)用另外一個class文件中的方法,如果另外一個文件不存在的,則會引發(fā)系統(tǒng)異常。而程序在啟動的時候,并不會一次性加載程序所要用的所有class文件,而是根據(jù)程序的需要,通過Java的類加載機制(ClassLoader)來動態(tài)加載某個class文件到內(nèi)存當(dāng)中的,從而只有class文件被載入到了內(nèi)存之后,才能被其它class所引用。所以ClassLoader就是用來動態(tài)加載class文件到內(nèi)存當(dāng)中用的。

Java虛擬機提供了三層classLoader

Bootstrap classLoader:采用native code實現(xiàn),是JVM的一部分,主要加載JVM自身工作需要的類,如java.lang.、java.uti.等; 這些類位于$JAVA_HOME/jre/lib/rt.jar。Bootstrap ClassLoader不繼承自ClassLoader,因為它不是一個普通的Java類,底層由C++編寫,已嵌入到了JVM內(nèi)核當(dāng)中,當(dāng)JVM啟動后,Bootstrap ClassLoader也隨著啟動,負責(zé)加載完核心類庫后,并構(gòu)造Extension ClassLoader和App ClassLoader類加載器。

ExtClassLoader:擴展的class loader,加載位于$JAVA_HOME/jre/lib/ext目錄下的擴展jar。

AppClassLoader:系統(tǒng)class loader,父類是ExtClassLoader,加載$CLASSPATH下的目錄和jar;它負責(zé)加載應(yīng)用程序主函數(shù)類。

其實了解了classloader機制,個人覺得比較重要的還是要學(xué)會自定義類加載器。為什么要學(xué)會自定義類加載器?

JVM提供的類加載器,只能加載指定目錄的jar和class,如果我們想加載其他位置的類或jar時,例如加載網(wǎng)絡(luò)上的一個class文件,默認的ClassLoader就不能滿足我們的需求了,所以需要定義自己的類加載器。

8518 类乌齐县| 古丈县| 白河县| 讷河市| 磐石市| 尼勒克县| 乌鲁木齐县| 永吉县| 顺平县| 乌兰察布市| 新乡县| 马边| 台安县| 美姑县| 北海市| 额尔古纳市| 怀来县| 松滋市| 嘉峪关市| 尚义县| 左贡县| 博白县| 天津市| 闸北区| 兰州市| 神木县| 正宁县| 贵南县| 平泉县| 静乐县| 杨浦区| 义马市| 衡阳县| 江油市| 天峻县| 沧州市| 万安县| 青神县| 嵩明县| 灵寿县| 新宁县|