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