eclipse怎么實(shí)現(xiàn)注冊(cè)登錄 如何系統(tǒng)的學(xué)習(xí)JAVA?
如何系統(tǒng)的學(xué)習(xí)JAVA?java的整體生態(tài)和學(xué)習(xí)積累確實(shí)是是太大了。95年到現(xiàn)在20多年的積累,甚至牽涉到計(jì)算機(jī)軟硬件的方方面面。我依我之見(jiàn)就懷疑,提主所說(shuō)的全精通,是指jdk本身和一些必要的數(shù)據(jù)結(jié)構(gòu)
如何系統(tǒng)的學(xué)習(xí)JAVA?
java的整體生態(tài)和學(xué)習(xí)積累確實(shí)是是太大了。95年到現(xiàn)在20多年的積累,甚至牽涉到計(jì)算機(jī)軟硬件的方方面面。我依我之見(jiàn)就懷疑,提主所說(shuō)的全精通,是指jdk本身和一些必要的數(shù)據(jù)結(jié)構(gòu)包括廣泛框架和面向?qū)ο蟮幕径妓枷氚伞?/p>
從11年初到現(xiàn)在,一直在學(xué)習(xí)java相關(guān)的知識(shí)。其中也走了不少?gòu)澛?。按自己的積累,決定提主一個(gè)自其實(shí)合理不且有肯定會(huì)深度的學(xué)習(xí)路線。大體分下面幾個(gè)階段吧。
1.首先應(yīng)盡可能會(huì)的打牢基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)和簡(jiǎn)單的算法基礎(chǔ)。
這個(gè)可以去急速的學(xué)習(xí)一些簡(jiǎn)單的小型系統(tǒng),來(lái)滿(mǎn)足軟件學(xué)的興趣和初期成就感。但,你必須回過(guò)身,一遍的平定內(nèi)亂數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)和簡(jiǎn)單算法。像這種書(shū)就可以。
2.熟練的掌握使用Java類(lèi)庫(kù)和java第三方工具框架。
去學(xué)習(xí)不使用java的語(yǔ)法,數(shù)次明白Java語(yǔ)法設(shè)計(jì)什么的邏輯。比較熟練掌握jdk第三方庫(kù)本身,和各種第三方類(lèi)庫(kù)工具包和第三方框架的簡(jiǎn)單的使用。這里去學(xué)習(xí)的同時(shí),推薦看下《設(shè)計(jì)模式》,《代碼整潔之道》,《spring源碼解讀》,《Spring揭秘》等這一類(lèi)的書(shū)集。
3.理解學(xué)jdk第三方庫(kù)本身的應(yīng)用源碼實(shí)現(xiàn)方法和大型網(wǎng)游第三方框架的源碼和架構(gòu)設(shè)計(jì)。
.例如jdk本身的數(shù)據(jù)結(jié)構(gòu)二叉樹(shù),紅黑樹(shù),treemap,這些異步包的unsafe,同步阻塞隊(duì)列,call-future等等包源碼,在內(nèi)線程基礎(chǔ)類(lèi)的實(shí)現(xiàn),各個(gè)類(lèi)庫(kù)電腦設(shè)計(jì)的結(jié)構(gòu)和設(shè)計(jì)模式。學(xué)透第三方框架的設(shè)計(jì)思想,理解學(xué)習(xí)第三方框架的核心源碼。
當(dāng)然,這里面很可能會(huì)比較復(fù)雜到其他的事務(wù),分布式協(xié)議等,這里并沒(méi)有發(fā)動(dòng)了攻擊。這個(gè)過(guò)程并非是一朝一夕,肯定是需要大量的時(shí)間和技術(shù)感悟。不過(guò),《設(shè)計(jì)模式》,《代碼整潔之道》,《spring源碼解讀與設(shè)計(jì)詳析》,《Spring揭秘》等等這一大類(lèi)書(shū),在這個(gè)過(guò)程可以不明白大差不差了。
4.明白jdk,jre即jvm原理和利用。
這里我推薦看下王秀娥的《實(shí)戰(zhàn)java虛擬機(jī)》,里面回答都很偏實(shí)操。容易上手再理解。
首先,這個(gè)可以從jdk隨機(jī)軟件的工具學(xué)來(lái)入手。
比如說(shuō):jstat,jmap,jstack,jps,jdb.......甚至還也有真接是可以窺視運(yùn)行期間實(shí)際中內(nèi)存數(shù)據(jù)的HSDB。當(dāng)然了,作為學(xué)習(xí)進(jìn)一步,我們只要解釋常用的幾個(gè)命令,并明白了其屬於的意義表就行。畢竟,第三方監(jiān)控工具,以及jdk本身也可以提供了3個(gè)可視化的監(jiān)控。
比如,明白jvm的運(yùn)行讀取原理,弄懂class文件結(jié)構(gòu)。
這個(gè)過(guò)程我們可以不自身之前會(huì)是用監(jiān)控工具,理解jvm打開(kāi)程序的基本原理??梢圆豢梢詤⒖脊俜礁鱾€(gè)版本的jvm標(biāo)準(zhǔn),學(xué)習(xí)看得懂class文件。于此可以在用如classpy等工具,方便些我們直接寫(xiě)作class文件。也可以試下意見(jiàn)class字節(jié)碼級(jí)別的虛擬軸調(diào)試工具。甚至連,是可以接觸用用jvm匯編編碼工具。
下一步,明白jvm的垃圾回收機(jī)制發(fā)展歷史和各個(gè)主流垃圾回收器的工作原理。
這個(gè)過(guò)程當(dāng)然相當(dāng)緊張。垃圾回收器有各種串行,右行,新聲代/swap和老年代,包括回收警戒線,large觸發(fā)條件,各種個(gè)樣的基本參數(shù)和不咋帶的超參數(shù),這些G1的H區(qū),ZGC等等。。。好在的是,GC并都屬于jvm官方規(guī)范的一部分。
后再,一起動(dòng)手做一些jvm的實(shí)踐和實(shí)戰(zhàn),
例如,jvm較常見(jiàn)的故障排查和故障歸納,性能調(diào)優(yōu),熱程序加載,class字節(jié)碼的動(dòng)態(tài)操作,asm等。
到最后,可以嘗試實(shí)現(xiàn)程序自己的jvm。(當(dāng)然這個(gè)步驟,對(duì)很多同學(xué)來(lái)說(shuō)不是可以了)
這里我推薦一下幾本書(shū),確實(shí)是再次搞懂jvm規(guī)范的學(xué)習(xí)路徑。最好是自己實(shí)現(xiàn)方法垃圾回收器。
周老師的《深入理解Java虛擬機(jī)》。
接下來(lái)的是《深入嵌入式j(luò)ava虛擬機(jī)》和配套源碼。這個(gè)cldc的jvm源碼只有1M多。目前在oracle的官網(wǎng)上,仍然是可以可以下載。是一個(gè)設(shè)計(jì)太精簡(jiǎn)的jvm基于。
接下來(lái),是可以去閱讀《自己動(dòng)手寫(xiě)java 虛擬機(jī)》。這本書(shū)的jvm實(shí)現(xiàn)程序是采用go語(yǔ)言編譯程序。其實(shí)其中也有很多設(shè)計(jì)并不是的很比較合理。但基本上都遵循什么了jvm規(guī)范。
這會(huì)兒就是可以去看一下github上各種jvm的開(kāi)源代碼實(shí)現(xiàn)了。有me,scalajvm,javainjava,ajvm,python-jvm,lua,各個(gè)版本各個(gè)差別的jvm實(shí)現(xiàn)方法。
不過(guò),這些基于都僅僅基本原理。
后面推薦你上去看《實(shí)戰(zhàn)hotspot》豹子書(shū),查哈高級(jí)語(yǔ)言虛擬機(jī)的圈子。
當(dāng)然了,垃圾回收的書(shū)籍比較比較少,這里肯定推薦一下給你垃圾回收的超經(jīng)典書(shū)《The Garbage Collection Cookbook》。但是對(duì)新的垃圾回收算法有興趣,可以去知乎搜索相關(guān)的論文和GC算法開(kāi)源代碼利用的demo。
5.不過(guò),我的建議只是針對(duì)Java本身。
真正的要都沒(méi)有達(dá)到已經(jīng)把英語(yǔ)學(xué)好java生態(tài),軟件工程,計(jì)算機(jī)網(wǎng)絡(luò),大數(shù)據(jù)基礎(chǔ)知識(shí),mahuot,sparklib,分布式搜索架構(gòu),各種消息中間件,緩存中間件,數(shù)據(jù)庫(kù),DNS/CDN。。。。。這些大都做互聯(lián)網(wǎng)應(yīng)用,無(wú)法躲避的。
沒(méi)法見(jiàn)意,通用知識(shí)非常熟練,去鉆研方向全精通,相關(guān)生態(tài)所了解。
因此提問(wèn)是對(duì)于java本身。我就不再繼續(xù)發(fā)動(dòng)說(shuō)其他具體一點(diǎn)方向了。具體解釋的是大的技術(shù)方向,并沒(méi)有其他答主那樣的話,具體去討論語(yǔ)法糖這種級(jí)別。只希望對(duì)提主有所幫助。
有任何問(wèn)題,記得關(guān)注解除,與我繼續(xù)討論。謝謝。
Eclipse如何通過(guò)JDBC技術(shù)連接ORACLE?
你好,我是小黃,一個(gè)java程序員,我來(lái)回答我這個(gè)問(wèn)題。
實(shí)際JDBC技術(shù)連接到ORACLE的步驟具體萬(wàn)分感謝:
1.注冊(cè)一個(gè)driver驅(qū)動(dòng)器
2.完成任務(wù)數(shù)據(jù)庫(kù)連接(url,用戶(hù)名,密碼)
3.啟動(dòng)事務(wù),取消自動(dòng)出現(xiàn)重新提交
4.創(chuàng)建角色一個(gè)statement語(yǔ)句發(fā)送sql
5.執(zhí)行sql語(yǔ)句
6.如果沒(méi)有有結(jié)果集就處理結(jié)果集
7.直接關(guān)閉語(yǔ)句
8.絕對(duì)沒(méi)問(wèn)題就commit
9.有問(wèn)題就rollback
10.關(guān)了數(shù)據(jù)庫(kù)連接
具體詳細(xì)的代碼如下圖(我不太會(huì)用悟空能回答的編輯器,代碼剪切粘貼上來(lái)可讀性太差,只好貼圖片吧)
以上供建議參考,謝謝啊。
假如您感覺(jué)對(duì)您有幫助,請(qǐng)幫幫忙點(diǎn)個(gè)好看,啊,謝謝啦