并發(fā)編程網(wǎng) 零基礎(chǔ)如何系統(tǒng)學(xué)習(xí)Java和JavaEE開發(fā)技術(shù)?
零基礎(chǔ)如何系統(tǒng)學(xué)習(xí)Java和JavaEE開發(fā)技術(shù)?謝謝你的邀請!作為一名工作多年的程序員,我已經(jīng)使用java很長時間了,并且出版了有關(guān)java編程的書籍,所以讓我來回答這個問題。!對于零編程基礎(chǔ)的人來
零基礎(chǔ)如何系統(tǒng)學(xué)習(xí)Java和JavaEE開發(fā)技術(shù)?
謝謝你的邀請
!作為一名工作多年的程序員,我已經(jīng)使用java很長時間了,并且出版了有關(guān)java編程的書籍,所以讓我來回答這個問題。!對于零編程基礎(chǔ)的人來說,學(xué)習(xí)java的困難在于理解各種抽象概念。由于Java是一種純面向?qū)ο蟮恼Z言,在任何函數(shù)的實現(xiàn)過程中都有嚴(yán)格的編程思想,因此我們首先要了解Java的編程過程,并通過大量的實驗逐步建立起Java的編程思想。
java學(xué)習(xí)的難點(diǎn)集中在java的基礎(chǔ)知識上,以后的學(xué)習(xí)更容易。后期java學(xué)習(xí)的重點(diǎn)不是java語言本身,而是算法設(shè)計、應(yīng)用場景(平臺)、資源集成等。因此,學(xué)習(xí)Java的第一步是理解Java的基本概念。Java的基本概念包括類、對象、屬性、方法、封裝、繼承和多態(tài)。如果把這些概念講清楚,基本上可以理解一半以上。如果你想理解這些概念,你必須首先理解如何使用它們。通過函數(shù)的實現(xiàn)過程更容易理解它們。面向?qū)ο蠛瘮?shù)的實現(xiàn)過程分為類的定義、對象的創(chuàng)建和函數(shù)(方法)的調(diào)用三個步驟。通過這個過程,我們可以逐步樹立觀念。此外,基本部分還包括異常處理、IO操作、集合、序列化、多線程和網(wǎng)絡(luò)編程基礎(chǔ),這是非常重要的,并且應(yīng)該通過大量的實驗逐漸掌握。!學(xué)習(xí)基本部分之后,您需要學(xué)習(xí)數(shù)據(jù)庫開發(fā)、分布式開發(fā)、框架開發(fā)等。java EE版本已經(jīng)由Eclipse基金會管理,它將java EE改名為雅加達(dá)EE。因此,當(dāng)前的javaee通常指的是企業(yè)開發(fā)所需要的一系列技術(shù),這與早期的javaee有所不同。
面一個5年java,不知數(shù)據(jù)結(jié)構(gòu),卻大談分布式,這樣的能要嗎?
我猜您向人們詢問了各種JDK數(shù)據(jù)結(jié)構(gòu)的基本實現(xiàn)原則。事實上,我一直在想。知道基本的實現(xiàn)原則是可以的,也是值得的,但是如果你不知道呢?人們知道哪些數(shù)據(jù)結(jié)構(gòu)適用于哪些場景,并且能夠熟練地使用它們。那不是。。。夠了嗎?對貴公司的需求不足嗎?你希望他為你的公司創(chuàng)建一個新的數(shù)據(jù)結(jié)構(gòu)嗎?就像two peas或JDK一樣,JDK的數(shù)據(jù)結(jié)構(gòu)性能遇到了瓶頸,求職者會給你提供比工作提供的數(shù)據(jù)結(jié)構(gòu)更好的數(shù)據(jù)結(jié)構(gòu)。
把Java編程語言精通到底有多難?
作為一名程序員,我已經(jīng)出版了很多Java編程書籍,所以讓我來回答這個問題。
隨著互聯(lián)網(wǎng)的發(fā)展,Java語言自身的生態(tài)系統(tǒng)不斷完善,應(yīng)用邊界不斷擴(kuò)大。目前廣泛應(yīng)用于web開發(fā)、大數(shù)據(jù)開發(fā)、移動終端開發(fā)等領(lǐng)域??梢哉f,不同的應(yīng)用方向也需要有不同的知識結(jié)構(gòu),因此很難掌握J(rèn)ava。
Java語言本身的組成分為兩部分,一部分是Java虛擬機(jī),另一部分是Java語言本身的語法。根據(jù)Java語法要求編寫的程序需要通過Java虛擬機(jī)進(jìn)行加載、驗證、編譯和運(yùn)行,Java虛擬機(jī)的作用相當(dāng)于Java運(yùn)行環(huán)境(container)。它需要完成很多操作,包括代碼安全、垃圾處理、事件處理、資源管理等。因此,精通java開發(fā)一方面需要清晰的java語法,另一方面需要了解java虛擬機(jī)的運(yùn)行機(jī)制。
對于初學(xué)者來說,學(xué)習(xí)java編程從學(xué)習(xí)java語法開始,然后學(xué)習(xí)java web開發(fā)、數(shù)據(jù)庫開發(fā)、分布式開發(fā)等。這個過程通常是大多數(shù)學(xué)習(xí)者的學(xué)習(xí)路線。難點(diǎn)在于對java面向?qū)ο蟾拍畹睦斫?,即對各種“抽象”的理解。這一部分雖然有一定的難度,但大多數(shù)學(xué)習(xí)者都是能夠?qū)W習(xí)的,差異往往在于學(xué)習(xí)時間上。
對于從事平臺開發(fā)的研發(fā)級程序員來說,還需要系統(tǒng)地學(xué)習(xí)Java虛擬機(jī)的內(nèi)部機(jī)制。通過深入了解Java虛擬機(jī)的組成,可以輔助平臺產(chǎn)品的研發(fā),注重性能的提高。通常,我們需要了解Java虛擬機(jī)的體系結(jié)構(gòu)和核心算法,這是比較困難的。當(dāng)然,如果您想了解Java虛擬機(jī)的整體結(jié)構(gòu),通常需要閱讀大量的源代碼。