精通java需要多長時間 Java入門到精通需要多長時間?
Java入門到精通需要多長時間?從Java開始到Java編程開始,我放棄了這個課題。從一開始到精通,常常有一種說法是這本書很吸引眼球。我認(rèn)為java學(xué)習(xí)只是從頭開始。沒有盡頭。外面有人,外面有天,學(xué)習(xí)
Java入門到精通需要多長時間?
從Java開始到Java編程開始,我放棄了這個課題。從一開始到精通,常常有一種說法是這本書很吸引眼球。
我認(rèn)為java學(xué)習(xí)只是從頭開始。沒有盡頭。外面有人,外面有天,學(xué)習(xí)沒有盡頭。特別是在編程領(lǐng)域,新技術(shù)層出不窮,技術(shù)是一個不斷發(fā)展的過程。
著名藝術(shù)家米開朗基羅年近90歲。臨終前,他遺憾地嘆了口氣:這不容易。他是個藝術(shù)初學(xué)者。我很抱歉離開這個世界。
了解更多,我們知道的更少。如果你還是這樣,我為什么要精通呢?這就足夠開始一項事業(yè),找到一份工作,保持穩(wěn)定,并持續(xù)很長時間。學(xué)習(xí)總是進行時
要精通Java是很困難的。Java是一門相對較難的學(xué)科,還有很多知識需要學(xué)習(xí)。而且,互聯(lián)網(wǎng)技術(shù)的發(fā)展有多快,技術(shù)更新的速度也在日新月異。如果你不能說那一天,你會發(fā)現(xiàn)你以前學(xué)的Java技術(shù)已經(jīng)逐漸被淘汰了,你需要學(xué)習(xí)新的技術(shù),所以你想實現(xiàn)Java很難掌握。
如果您想開始并能夠工作,這是相對快速的。也許你可以在幾個月內(nèi)完成Java技術(shù)的學(xué)習(xí)和掌握?;旧希憧梢蚤_始工作了。雖然工作是可能的,但是學(xué)習(xí)Java僅僅是個開始。在今后的工作中,除了把以前學(xué)到的技術(shù)應(yīng)用到實際工作中,還要不斷適應(yīng)Java行業(yè)的發(fā)展,學(xué)習(xí)新的知識。
對于很多人來說,java培訓(xùn)或自學(xué)都是為了學(xué)習(xí)進入java行業(yè),java培訓(xùn)在很多情況下只是讓你快速進入java行業(yè)。其實,要想掌握J(rèn)ava,還需要不斷的練習(xí)和學(xué)習(xí)。
java大概多久可以精通?
只有精通C語言的程序員是遠(yuǎn)遠(yuǎn)不夠的,更不用說C語言了,即使你只精通Java,精通C,都不是程序員,為什么?請繼續(xù)閱讀:
了解C語言意味著你可以根據(jù)C語言的語法編寫一段代碼,但它只是一段簡單的代碼。想讓代碼有靈魂,那就是能夠在實踐中解決問題或滿足客戶的實際需求。試想一下,客戶讓你做一個網(wǎng)絡(luò)視頻傳輸模塊,你需要了解視頻從客戶端服務(wù)器到終端的交互過程,才能編寫這個系統(tǒng),而你只能用scanf函數(shù)從鍵盤上讀取一個數(shù)據(jù),然后用printf函數(shù)輸出數(shù)據(jù),這只能說明你的C語言語法不錯,但有什么用呢?您幫助客戶解決了哪些問題?
算法是程序的靈魂,程序員在編寫每一個C語言代碼時都會不知不覺地使用一些算法。其中最常見的是人體識別算法。
也許你可以用C語言的指針很流暢,用C語言的鏈表很方便,用C語言的二維數(shù)組就不用說了,但只要寫這些就可以認(rèn)出一張臉了?顯然不是。
算法就像一張印有規(guī)則的紙。你看看紙上的規(guī)則,然后用你學(xué)過的C語言語法,按照規(guī)則寫代碼。算法的靈魂在于代碼。
要為客戶做生意,僅僅理解一種編程語言是不夠的。例如,如果你懂Java,Android的開發(fā)是非常順利的。但是如果你想在Android手機上實現(xiàn)視頻采集,目前只懂java是不夠的。這種與視頻處理相關(guān)的底層功能需要借助原生方法,而原生方法通常是用C語言實現(xiàn)的。
大多數(shù)情況下,許多編程語言相互補充以實現(xiàn)一個目標(biāo)。
以上只是程序員學(xué)習(xí)的一小部分,程序員要學(xué)的東西太多了,技術(shù)日新月異,要保持一顆學(xué)習(xí)的心
只精通一門C語言的人,算不算程序員?
作為一名程序員,我已經(jīng)出版了很多Java編程書籍,所以讓我來回答這個問題。
隨著互聯(lián)網(wǎng)的發(fā)展,Java語言自身的生態(tài)系統(tǒng)不斷完善,應(yīng)用邊界不斷擴大。目前廣泛應(yīng)用于web開發(fā)、大數(shù)據(jù)開發(fā)、移動終端開發(fā)等領(lǐng)域??梢哉f,不同的應(yīng)用方向也需要有不同的知識結(jié)構(gòu),因此很難掌握J(rèn)ava。
Java語言本身的組成分為兩部分,一部分是Java虛擬機,另一部分是Java語言本身的語法。根據(jù)Java語法要求編寫的程序需要通過Java虛擬機進行加載、驗證、編譯和運行,Java虛擬機的作用相當(dāng)于Java運行環(huán)境(container)。它需要完成很多操作,包括代碼安全、垃圾處理、事件處理、資源管理等。因此,精通java開發(fā)一方面需要清晰的java語法,另一方面需要了解java虛擬機的運行機制。
對于初學(xué)者來說,學(xué)習(xí)java編程從學(xué)習(xí)java語法開始,然后學(xué)習(xí)java web開發(fā)、數(shù)據(jù)庫開發(fā)、分布式開發(fā)等。這個過程通常是大多數(shù)學(xué)習(xí)者的學(xué)習(xí)路線。難點在于對java面向?qū)ο蟾拍畹睦斫?,即對各種“抽象”的理解。這一部分雖然有一定的難度,但大多數(shù)學(xué)習(xí)者都是能夠?qū)W習(xí)的,差異往往在于學(xué)習(xí)時間上。
對于從事平臺開發(fā)的研發(fā)級程序員來說,還需要系統(tǒng)地學(xué)習(xí)Java虛擬機的內(nèi)部機制。通過深入了解Java虛擬機的組成,可以輔助平臺產(chǎn)品的研發(fā),注重性能的提高。通常,我們需要了解Java虛擬機的體系結(jié)構(gòu)和核心算法,這是比較困難的。當(dāng)然,如果您想了解Java虛擬機的整體結(jié)構(gòu),通常需要閱讀大量的源代碼。