{eval=Array;=+count(Array);}
掌握J(rèn)ava開發(fā)的具體時間因人而異,而且也要看掌握到什么程度,通常情況下,如果每天都能保證4個小時左右的學(xué)習(xí)時間,那么使用3個月左右的時間是可以達(dá)到參加項(xiàng)目組實(shí)習(xí)的水平。下面以Java Web開發(fā)為例,來說明一下學(xué)習(xí)Java的過程和需要的時間。
Java學(xué)習(xí)的第一個階段是初級階段,這個階段以學(xué)習(xí)Java基礎(chǔ)內(nèi)容為主,當(dāng)然還需要學(xué)習(xí)開發(fā)工具的使用。Java是一門先難后易的編程語言,一定要重視早期的學(xué)習(xí)過程。
Java基礎(chǔ)部分首先接觸到的內(nèi)容包括類、對象、屬性和方法幾個概念,其中類代表了同一類事務(wù)概念層次上的抽象(抽象是Java的重要特點(diǎn)),對象則是具體的實(shí)例,屬性代表狀態(tài),方法代表功能。Java面向?qū)ο蟮木幊踢^程則分成三個步驟,分別是類的定義、對象的創(chuàng)建和方法的調(diào)用,看一個例子:
接下來要學(xué)習(xí)的內(nèi)容包括封裝、繼承和多態(tài),這三個內(nèi)容中以多態(tài)的理解難度較高。多態(tài)簡單的說就是對象在不同情況下具備的不同表現(xiàn)形式,具體到編碼中可以用“三個定義兩個方法”來描述,“三個定義”分別是父類定義子類構(gòu)建、接口定義實(shí)現(xiàn)類構(gòu)建、抽象類定義實(shí)體類構(gòu)建,“兩個方法”分別是方法重寫和方法重載(這部分內(nèi)容可以參考我之前在頭條上的系列文章)。
接下來的學(xué)習(xí)內(nèi)容包括異常處理、集合、多線程等內(nèi)容,這些內(nèi)容也都比較重要,其中多線程是一個重點(diǎn)內(nèi)容也是一個難點(diǎn)內(nèi)容。通常情況下,零基礎(chǔ)的學(xué)習(xí)者,學(xué)習(xí)這部分內(nèi)容需要一個月左右的學(xué)習(xí)時間。
在Java基礎(chǔ)部分學(xué)習(xí)結(jié)束以后就可以進(jìn)入Web開發(fā)部分的學(xué)習(xí)了,Web開發(fā)部分需要學(xué)習(xí)的內(nèi)容相對于基礎(chǔ)部分來說要多一些。Web開發(fā)包括兩個大的內(nèi)容塊,一部分包括Servlet、JSP、JDBC、JavaBean等基礎(chǔ)內(nèi)容,另一部分包括SpringMVC、SpringBoot以及SpringCloud等內(nèi)容。
目前不推薦學(xué)習(xí)EJB相關(guān)的開發(fā)知識,畢竟Java EE已經(jīng)轉(zhuǎn)交給Eclipse基金會了,未來的發(fā)展情況還有待觀察。通常情況下,Java Web這部分內(nèi)容需要兩個月左右的學(xué)習(xí)時間。
我使用Java的時間比較久,目前也在帶Java開發(fā)團(tuán)隊(duì),我會陸續(xù)在頭條寫一些關(guān)于Java開發(fā)方面的文章,對Java開發(fā)感興趣的朋友可以關(guān)注我,相信一定會有所收獲。
如果有Java開發(fā)方面的問題,也可以咨詢我。
謝謝!
首先來說,需要確定“零基礎(chǔ)”的程度。
如果說某個人接觸計(jì)算機(jī)不多(但年齡在26以下),甚至上網(wǎng)打字、常用軟件都不清楚的話,那么學(xué)Java的話,時間很久,至少至少入門要一年左右時間。
如果說常用電腦操作都行,但年齡較大 ,一般來說,上了30歲如果之前沒有接觸過編程相關(guān)的想學(xué)Java,也不現(xiàn)實(shí),我們不建議去學(xué)習(xí)Java了。
如果年齡在26以下,有一定計(jì)算機(jī)基礎(chǔ)的,并且對編程有興趣的,那么學(xué)習(xí)Java是有可能學(xué)會的,具體要看每個人的領(lǐng)悟能力。
因?yàn)楝F(xiàn)代的Java應(yīng)用場景更多的是WEB應(yīng)用的開發(fā),需要掌握的知識很多,不是說單單掌握J(rèn)ava語法就能做項(xiàng)目了,每項(xiàng)技能我按最快的時間給你計(jì)算下:
* HTML:7天
* CSS:7天
* DIV+CSS:20天
* JavaScript:20天
* JQ:3天
* 數(shù)據(jù)庫:20天
* Java基礎(chǔ):45天
* SSH框架:60天
* 項(xiàng)目實(shí)踐:30天
以上,按最快的節(jié)奏來看,掌握以上知識共計(jì)要212天,7個月的時間才能算是入門,然后還要考慮你當(dāng)前是不是已經(jīng)工作了,會不會受到其它事項(xiàng)的干擾,所以沒個1年時間很難入門呀。
學(xué)習(xí)Java不是一件容易的事情,時間成本較高。如果你有恒心去學(xué)習(xí)Java,可以關(guān)注我哦,近期我在頭條號上也會推出Java入門教程,希望對你所有幫助。
雖然學(xué)習(xí)java需要一定的理解力,但是如果真要想學(xué)也是可以學(xué)通的,關(guān)鍵是自己感不感興趣!
一、自學(xué)(推薦至少學(xué)習(xí)半年)
如果是自己看書,看視頻學(xué)習(xí)java,作為過來人說,其實(shí)是挺難的,你不僅要學(xué)習(xí)java基礎(chǔ),還要學(xué)習(xí)數(shù)據(jù)庫,java spring框架等,還需要懂點(diǎn)前端的js,系統(tǒng)的學(xué)習(xí)最為關(guān)鍵。
二、培訓(xùn)班(三個月)
報一個培訓(xùn)班,這樣學(xué)習(xí)java就比較快一點(diǎn),畢竟有老師帶著你學(xué)習(xí)基礎(chǔ),有問題不需要自己琢磨,直接問老師還是比較透徹的。還有后期老師會給您一個小項(xiàng)目進(jìn)行練手,對你以后工作會有很大的幫助、
零基礎(chǔ),學(xué)習(xí)幾個月能掌握,這需要看你怎么學(xué)?
自學(xué)?可能很考驗(yàn)的意志力,并且需要的時間會比較長!如果你的意志力和學(xué)習(xí)能力都不錯,那自學(xué)肯定沒有問題!
培訓(xùn)?培訓(xùn)時間一般為半年左右,非常的辛苦,你要做好一天都在上課的準(zhǔn)備,就和高中上學(xué)一樣,有晚自習(xí),想要學(xué)好的同學(xué)有的需要學(xué)到十二點(diǎn)!曾經(jīng)有在黑馬程序員的學(xué)員給我說,他每天晚上學(xué)到十二點(diǎn),但是他的付出有回報,最后拿到了oppo的offer!
因此,不管你怎么學(xué),能不能掌握,結(jié)果都是靠自己的!我能分享給你的就是一些學(xué)習(xí)技巧,學(xué)習(xí)線路圖!
java學(xué)習(xí)線路圖
這個學(xué)習(xí)線路圖我分為了幾個階段,每個階段能學(xué)到什么,能做什么,具體知識點(diǎn)請往下看,每個階段知識點(diǎn)我都整理出來了,更適合學(xué)習(xí)!
java語言入門
可掌握的核心能力:
掌握J(rèn)ava開發(fā)環(huán)境基本配置;
掌握運(yùn)算符、表達(dá)式、流程控制語句、數(shù)組等的使用;
熟練使用Idea開發(fā)工具;
掌握J(rèn)ava基本面向?qū)ο笾R;
掌握常用類String、ArrayList等的使用。
配套視頻:
畢向東Java基礎(chǔ)教程(適合初學(xué)者入門的Java基礎(chǔ)視頻)
java語言進(jìn)階
可掌握的核心能力:
深入理解Java面向?qū)ο笙嚓P(guān)知識點(diǎn);
掌握開發(fā)中常用類如集合、IO流、時間日期等操作;
掌握J(rèn)ava異常處理機(jī)制,熟悉Java多線程開發(fā);
掌握網(wǎng)絡(luò)基礎(chǔ)知識,了解Socket原理,TCP、UDP協(xié)議;
掌握java基本語法完成單機(jī)程序的編寫;
熟悉Java新特性,如Lambda、Stream流等操作
配套視頻:
Java快速入門教程(Java基礎(chǔ)班全套教程)
Javaweb
可掌握的核心能力:
掌握J(rèn)ava JDBC、連接池操作,熟練操作mysql數(shù)據(jù)庫;
熟悉web開發(fā)中常用知識如 HTML5、CSS3、JavaScript、BootStrap、jQuery等;
掌握J(rèn)avaWeb開發(fā)核心技術(shù) Servlet、Listener、Filter等;
熟悉Linux服務(wù)器,并安裝開發(fā)常用軟件tomcat、mysql、nginx等;
掌握同步及異步操作的JavaWeb開發(fā),具備B/S結(jié)構(gòu)軟件開發(fā)能力,完成基本的JavaWeb項(xiàng)目;
熟悉基本的項(xiàng)目管理工具M(jìn)aven的使用。
配套視頻:
JavaWeb教程_JavaWeb入門教程
項(xiàng)目一
可掌握的核心能力:
掌握企業(yè)中最常用SSM框架開發(fā),開發(fā)出結(jié)構(gòu)清晰、可復(fù)用性好、維護(hù)方便的企業(yè)級應(yīng)用程序;
掌握AngularJS框架;
掌握Spring security框架;
掌握dubbox分布式調(diào)用技術(shù);
掌握zookeeper分布式應(yīng)用協(xié)調(diào)服務(wù);
掌握Freemarker模板引擎;
掌握全文檢索解決方案;
掌握spring boot1.x框架的基本應(yīng)用;
掌握CAS實(shí)現(xiàn)單點(diǎn)登錄;
掌握CORS實(shí)現(xiàn)跨域;
掌握微信掃碼支付;
掌握電商秒殺解決方案;
掌握SpringTask實(shí)現(xiàn)任務(wù)調(diào)度;
掌握MavenProfilel實(shí)現(xiàn)開發(fā)與生產(chǎn)環(huán)境切換;
了解電商開發(fā)中相關(guān)業(yè)務(wù)模塊如商品、訂單基本操作;
了解電商開發(fā)中相關(guān)術(shù)語SPU和SKU等;
積累互聯(lián)網(wǎng)電商項(xiàng)目開發(fā)經(jīng)驗(yàn)。
配套視頻:
Java教程|Springmvc由淺入深教程
Java教程|Mybatis由淺入深教程
Maven教程_Maven視頻教程
項(xiàng)目二
可掌握的核心能力:
熟悉基本的Java爬蟲開發(fā),掌握webmagic爬蟲框架使用;
掌握httpClient的使用;
掌握spring data jpa框架;
掌握Spring boot2.x框架;
掌握Spring Cloud框架;
掌握MongoDB數(shù)據(jù)庫使用;
掌握RabbitMQ消息中間件使用;
掌握Elasticsearch分布式搜索引擎;
掌握Rancher實(shí)現(xiàn)容器部署管理;
掌握Grafana實(shí)現(xiàn)服務(wù)的實(shí)時監(jiān)控;
熟悉NodeJs環(huán)境,使用Npm和cnpm管理包資源;
熟悉ESlint進(jìn)行前端語法校驗(yàn);
熟悉axios的使用;
掌握vuejs框架的基本使用;
掌握瀑布流組件使用;
掌握前端頁面分享功能的實(shí)現(xiàn);
掌握企業(yè)級DevOps解決方案,熟悉Docker、Jenkins、git等;
了解spark mllib als 機(jī)器學(xué)習(xí)算法庫實(shí)現(xiàn)智能分類;
了解DL4J深度學(xué)習(xí)框架實(shí)現(xiàn)智能推薦。
配套視頻
2018年Vue.js深入淺出教程
深度掌握Springboot實(shí)踐技術(shù)教程
微服務(wù)初級課程
配套視頻
SpringBoot教程_SpringBoot視頻教程
微服務(wù)高級課程
可掌握的核心能力:
ServiceComb改造十次方項(xiàng)目;
了解Kubernetes作用及為什么使用Kubernetes;
會使用K8S API完成基本操作;
理解微服務(wù)引擎CSE的功能;
能夠?qū)崿F(xiàn)ServiceComb項(xiàng)目接入CSE;
能夠?qū)崿F(xiàn)學(xué)成在線項(xiàng)目接入CSE;
理解云容器引擎CCE的功能;
能夠使用容器鏡像服務(wù)上傳鏡像;
能夠?qū)W(xué)成在線微服務(wù)部署到CCE;
能夠測試微服務(wù)治理常用策略;
能夠理解Mesher的作用;
能夠完成學(xué)成在線使用Mesher接入CSE。
視頻未更新,更新后上傳
框架架構(gòu)高級
可掌握的核心能力:
能夠理解ORM框架;
使用Socket進(jìn)行系統(tǒng)之間通信;
掌握在Java中開啟多線程的三種方式;
掌握使用Netty實(shí)現(xiàn)通信;
掌握Netty常用的傳輸方式及ByteBuff的使用方法;
理解及時通信框架的架構(gòu);
掌握Protobuf數(shù)據(jù)格式及在Java中應(yīng)用Protobuf;
掌握使用Netty實(shí)現(xiàn)服務(wù)端、客戶端;
理解虛擬機(jī)client與Server的運(yùn)行模式;
學(xué)習(xí)垃圾回收的算法;
掌握jps、jstat、jinfo、jstack、hprof等命令的使用;
掌握圖形化監(jiān)控工具JConsole工具的使用;
掌握Mission Control虛擬機(jī)診斷工具的使用;
掌握壓力測試工具JMeter的使用;
掌握調(diào)整參數(shù)測試Tomcat的性能;
掌握“雙親模式”的原理以及解決方案。
好客租房項(xiàng)目
可掌握的核心能力:
能夠?qū)崿F(xiàn)房源信息更新的通知;
實(shí)現(xiàn)用戶信息、房東、審核等功能;
能夠?qū)崿F(xiàn)API文檔與模擬數(shù)據(jù)接口開發(fā);
能夠?qū)崿F(xiàn)收藏、分享、舉報、聯(lián)系房東、預(yù)約看房、在線簽約功能;
掌握微信小程序開發(fā);
實(shí)現(xiàn)日志數(shù)據(jù)的清理以及推薦。
大數(shù)據(jù)轉(zhuǎn)型Hadoop3
大數(shù)據(jù)hadoop教程入門
目前有幾個階段還未有視頻更新,有視頻了我會繼續(xù)上傳哦!如果有特別想要我放出的視頻,也可以留言噠!后臺回復(fù):“微服務(wù)”有視頻哦!
如果真的能恒下心幾個月堅(jiān)持學(xué)下來而且不會斷斷續(xù)續(xù)的話,大概三個月可以把整個java基礎(chǔ)全部了解,熟悉的程度,但說掌握還遠(yuǎn)遠(yuǎn)不夠,能說完全掌握java基本還是要幾年的功夫。建議一開始不要直接埋頭看書,可以先找個講解基礎(chǔ)較好的視頻全程看一遍,跟著敲一邊,同時買一部不要太厚的書,在看視頻學(xué)習(xí)如果有不理解可以結(jié)合書本再理解一番
這就要看個人先天的資質(zhì)、悟性和后天的恒心與毅力了。當(dāng)然,如果再了解些電腦方面的知識的話,可能就會快些。正常情況下,基本掌握也要在5、6個月時間,一般資質(zhì)者可能時長要再多些。不用說,悟性高、又遇高師指點(diǎn)的話,效果自然會更好,3、4個月即可掌握。至于找工作,最好先考個相關(guān)從業(yè)證,然后由國內(nèi)比較正規(guī)的相關(guān)培訓(xùn)機(jī)構(gòu),比如達(dá)內(nèi)等推薦可能效果會明顯好些,如果自己找,可能把握性不大,即便找到,各方面待遇可能也會讓自己不滿意。
要看你怎么去學(xué)以及學(xué)的決心有多大。建議要找本優(yōu)秀的教程學(xué)習(xí),同時加強(qiáng)實(shí)踐,且多逛逛論壇、學(xué)習(xí)網(wǎng)站。
這種類似的問題,其實(shí)我回答了有很多次了:
Java好不好學(xué)?Java怎么學(xué)?是自學(xué)好還是去培訓(xùn)架構(gòu)好?
關(guān)鍵就一句話,看自己的能力而定。
如果你自學(xué)能力強(qiáng),不管是不是零基礎(chǔ),自然會事半功倍;
但是Java入門容易,精通難,詳見:
https://www.wukong.com/question/6679657753360728331/
我同事去學(xué)習(xí)一般是脫產(chǎn)半年培訓(xùn),如果自學(xué)的話,一定要有合適的資料,并且?guī)е?xiàng)目實(shí)踐去做,否則如果單純的去看書學(xué)習(xí),作用不大,也很難堅(jiān)持下去。
當(dāng)然,編程語言本身都是相通的,如果你學(xué)習(xí)過其它如c,python之類的。java入門也會很快。關(guān)鍵還是要實(shí)踐。
0
回答0
回答4
回答10
回答0
回答0
回答7
回答0
回答10
回答0
回答