java-se - 正在學(xué)習(xí)Java SE,為什么感覺學(xué)習(xí)Java就是在學(xué)習(xí)一些API。
問題描述
正在學(xué)習(xí)Java SE,為什么感覺學(xué)習(xí)Java SE就是在學(xué)習(xí)一些API(目前只在少部分重要的地方學(xué)習(xí)源碼)。例如Java的IO流中,就是在學(xué)習(xí)他們的各種結(jié)構(gòu)關(guān)系(繼承關(guān)系等),它們的構(gòu)造方法,成員方法等,那要是脫離了這門語言,這些API不是相當(dāng)于作廢?你們學(xué)習(xí)IO流的時候是怎么學(xué)的?不知這種想法是否對?(也許各類面向?qū)ο缶幊陶Z言的三大特征都是相似的:繼承,封裝,多態(tài))
問題解答
回答1:可以繼續(xù)學(xué)習(xí)java的多線程,反射,類加載器,注解等,這些東西才是用來構(gòu)建框架結(jié)構(gòu)的工具。
(學(xué)習(xí)IO流,拿來就用。。)
實在覺得無聊,可以看看 openJDK,研究一下虛擬機(jī) JNI 垃圾回收
回答2:你對io流感興趣,不如自己看看linux下的系統(tǒng)調(diào)用。selector,epoll之類。語言帶給你的僅僅是一種實際的方案。
如果你想學(xué)更加接近計算機(jī)的語言,匯編咯。由于對象封裝的存在,讓java看起來非常的高內(nèi)聚,但是,我覺得,至少看起源碼來,你要掌握的東西遠(yuǎn)遠(yuǎn)更多。舉個例子,你看到一個方法調(diào)用,但是這個方法是在某個對象內(nèi)的,對象內(nèi)的狀態(tài)對于方法的影響可以說是非常大的。但是這點在c中就不會那么明顯。至少過程化的東西,可以更加易讀一點。
java合適業(yè)務(wù),如果你喜歡純技術(shù)一點的話,c,go,甚至腳本shell,lua,python都可以。
回答3:IO流如果覺得枯燥,就先不太看太多,大概看看怎么用就行,我當(dāng)初就是這么做的
API是可以翻的,不要死記硬背
編程語言只是工具,只有結(jié)合實際需求才可以真正理解他
至于多線程,反射,類加載器,注解這些最好是在有一定代碼量和使用之后,進(jìn)行刻意的深入學(xué)習(xí),才是最高效的
其實學(xué)習(xí)向來比較枯燥,在非舒適區(qū)學(xué)到的東西才是你和別人的不同點,當(dāng)然前期最重要的還是用起來~
回答4:Java很簡單
