{eval=Array;=+count(Array);}
java想快速入門的最好方法就是找一些偏基礎(chǔ)些的實(shí)戰(zhàn)入門教程。直接上來(lái)就實(shí)戰(zhàn)入門,先不要管每段代碼代表什么意思。先跟著視頻把代碼敲上幾遍,保證能和視頻里一樣讓代碼跑起來(lái)來(lái)。代碼能跑起來(lái)對(duì)自己也是一個(gè)正向激勵(lì)。所以找到一門基礎(chǔ)的實(shí)戰(zhàn)入門很重要。然后跟著視頻,基本上10天左右就能實(shí)戰(zhàn)零基礎(chǔ)入門java開(kāi)發(fā)了。
https://edu.csdn.net/course/detail/2344
那得看你有沒(méi)有計(jì)算機(jī)基礎(chǔ)了,如果你有簡(jiǎn)單的基礎(chǔ)可以說(shuō)足夠了,沒(méi)有的話建議你照個(gè)培訓(xùn)班入個(gè)門一般也就四到六個(gè)月時(shí)間?;旧吓嘤?xùn)過(guò)后就可以找工作了。如果自學(xué)的話可以先了解開(kāi)發(fā)環(huán)境以及IDE開(kāi)始;然后是基本的數(shù)據(jù)類型,語(yǔ)法;學(xué)習(xí)數(shù)據(jù)庫(kù)相關(guān)語(yǔ)言;前端頁(yè)面的搭建;框架的搭建使用。這些就是最基本的了。
謝邀!這個(gè)問(wèn)題其實(shí)時(shí)間什么的大部分取決于你自己java學(xué)習(xí),不需要指針不需要銷毀對(duì)象,使得對(duì)初學(xué)者來(lái)講更容易入門,挫折感也少。但這也只是相對(duì)而言。如果參加培訓(xùn)班,學(xué)習(xí)到工作能用的地步,也就是JAVA SE 基礎(chǔ),hibernate框架,SSH開(kāi)發(fā)等等,講得詳細(xì)的有一年左右,快的四個(gè)月到半年,但是如果你只是一時(shí)的熱情到最后你會(huì)發(fā)現(xiàn)根本學(xué)不會(huì)只是對(duì)它有個(gè)大概的了解其實(shí)學(xué)語(yǔ)言依舊要看興趣,如果你真的深入學(xué)習(xí),你會(huì)發(fā)現(xiàn)“學(xué)習(xí)多久”是個(gè)毫無(wú)意義的問(wèn)題,也許一輩子都要學(xué)呢!
對(duì)于java的初學(xué)者一定要進(jìn)行系統(tǒng)體系的規(guī)劃學(xué)習(xí),太雜亂的學(xué)習(xí)會(huì)擾亂你的心思增加你的學(xué)習(xí)難度,要多跟他人交流明白差異才有進(jìn)步的空間,要知道別人想的是什么。
不要被對(duì)象、屬性、方法等詞匯所迷惑;最根本的是先了解最基礎(chǔ)知識(shí),要關(guān)注那些細(xì)小的細(xì)節(jié)的問(wèn)題--他們往往并不那么簡(jiǎn)單,為了解決它你可能要用到很多很多的東西,幫你回顧知識(shí)點(diǎn);拓寬思路。
學(xué)習(xí)java最好的方法之一就是上手動(dòng)手去練習(xí);永遠(yuǎn)不要認(rèn)為自己看的書足夠了;要看懂書,仔細(xì)看書;遇到完全看不懂的書,請(qǐng)硬著頭皮看; 別指望看第一遍書就能記住和掌握什么,一次,兩次,三次知道搞懂所有的東西不著急,因?yàn)閷W(xué)習(xí)腳本不是一蹴而就的,只有厚積才能薄發(fā)。學(xué)習(xí)的過(guò)程中,記下自己喝別人不懂的思路想法。與別人經(jīng)常交流,記錄下在和別人交流時(shí)發(fā)現(xiàn)的自己忽視或不理解的知識(shí)點(diǎn); 出現(xiàn)問(wèn)題自己想辦法找答案,谷歌、百度都是很好的搜索引擎,你只要輸入關(guān)鍵字就能找到很多相關(guān)資料,用自己的行動(dòng)學(xué)好java吧。
希望你找到自己學(xué)習(xí)的方法,不管怎么說(shuō)一定要堅(jiān)持學(xué)習(xí)下去,對(duì)于java來(lái)說(shuō)是一個(gè)進(jìn)階的過(guò)程,活到老學(xué)到老。
目前IT行業(yè)仍是國(guó)內(nèi)高薪行業(yè),在IT行業(yè)內(nèi),軟件開(kāi)發(fā)崗又是高薪中的高薪,其中比較熱門的編程語(yǔ)言有Java,C,C++等等,Java學(xué)好,找工作可以說(shuō)是無(wú)憂的,但學(xué)習(xí)Java的過(guò)程是非常不容易的,對(duì)于Java語(yǔ)言而言,基礎(chǔ)中的基礎(chǔ)就是語(yǔ)法,從HelloWord到面對(duì)對(duì)象,這一段知識(shí)點(diǎn)的是Java學(xué)習(xí)者學(xué)得最多,也最快能掌握得,但往后學(xué),集合框架學(xué)習(xí),流的學(xué)習(xí),各種類的學(xué)習(xí)就讓相當(dāng)一大部分人頭疼了,在這一部分,Java學(xué)習(xí)的難度開(kāi)始顯現(xiàn)。
所以對(duì)于學(xué)習(xí)者而言,看起學(xué)一點(diǎn)Java基礎(chǔ)進(jìn)行初步的編程很容易,但突破這個(gè)基礎(chǔ),成功入門確實(shí)不容易。所以對(duì)于學(xué)習(xí)者而言,一定要有恒心有耐力,現(xiàn)在開(kāi)發(fā)分為前端和后端,有戲言稱前端一年月入過(guò)萬(wàn),后端三年才算入門,后端語(yǔ)言的學(xué)習(xí)難度可想而知。對(duì)于題主,哈工大高材生來(lái)說(shuō),老實(shí)講,我充分相信你有能力學(xué)好Java,但一定要堅(jiān)持。
Java基礎(chǔ)達(dá)到之后,集合,類庫(kù)等掌握后,要往多線程,異常處理方面加強(qiáng)學(xué)習(xí),再就是學(xué)習(xí)流行框架,比如SSM框架整合等,這些每個(gè)大半年功夫,是很難學(xué)扎實(shí)的。學(xué)完這些,要自己練項(xiàng)目,練手,還得去把前端的基礎(chǔ)也學(xué)了,比如網(wǎng)站開(kāi)發(fā),JavaWeb是邁不過(guò)去的坎。如果一切都熟練之后,你還得去學(xué)習(xí)Java源碼,框架底層源碼,算法等,學(xué)了這些才有可能進(jìn)大廠呀,所以邁開(kāi)這一步,往后就是無(wú)盡的學(xué)習(xí),得做好準(zhǔn)備!
自學(xué)的話看個(gè)人能力,長(zhǎng)短不一。
培訓(xùn)班的話在我們動(dòng)力節(jié)點(diǎn)的話是直接培訓(xùn)到就業(yè)的,
一共分六個(gè)階段,
第一階段就是Java基礎(chǔ)入門
第二階段JavaSE高級(jí)進(jìn)階
第三階段JavaWeb基礎(chǔ)
第四階段JavaWeb進(jìn)階及項(xiàng)目
第五階段JavaEE框架
第六階段就是互聯(lián)網(wǎng)架構(gòu)及實(shí)戰(zhàn)
我們培訓(xùn)的是什么?
我們培訓(xùn)的是JavaEE下的互聯(lián)網(wǎng)架構(gòu)開(kāi)發(fā)(基于Java語(yǔ)言開(kāi)發(fā)“分布式”的可以支持“高并發(fā)量”的系統(tǒng))
開(kāi)發(fā)出的系統(tǒng)可以支持上萬(wàn)人同時(shí)并發(fā)訪問(wèn)。
不論之前是還未參加工作的人,還是已經(jīng)在別的行業(yè)做了很久的人,只要原來(lái)不是做程序員的,面對(duì)Java這門技術(shù),都是從零開(kāi)始的新手小白。一個(gè)良好的學(xué)習(xí)路線規(guī)劃,能夠幫助你們?cè)趯W(xué)習(xí)的時(shí)候事半功倍,那么對(duì)于新手轉(zhuǎn)行Java開(kāi)發(fā)的學(xué)習(xí)路線規(guī)劃的建議由哪些呢?
新手Java學(xué)習(xí)路線規(guī)劃先要明白Java體系設(shè)計(jì)到得三個(gè)方面:J2SE,J2EE,J2ME。
1、J2SE
新手在學(xué)習(xí)的時(shí)候先要從J2SE開(kāi)始學(xué)起,所包含的內(nèi)容主要分為:面向?qū)ο蟾拍畹睦斫?、Java基本語(yǔ)法的學(xué)習(xí),Java桌面圖形界面應(yīng)用程序的開(kāi)發(fā),掌握常用的Java API等(關(guān)鍵是要學(xué)會(huì)怎樣查閱)。
此處需要重點(diǎn)學(xué)習(xí)的是:Java基本語(yǔ)法(循環(huán)結(jié)構(gòu),數(shù)據(jù)類型,數(shù)組,運(yùn)算符等)、Swing,awt,事件機(jī)制、文件輸入輸出處理等
2、J2EE
在學(xué)習(xí)了J2SE之后,可以嘗試著慢慢過(guò)渡到J2EE。而且學(xué)習(xí)J2EE還需要許多非Java技術(shù)的支撐,比如數(shù)據(jù)庫(kù)技術(shù),網(wǎng)頁(yè)編程技術(shù)等等。J2EE有三個(gè)必學(xué)的框架,即Struts、spring和hibernate。雖然這三個(gè)框架應(yīng)用很廣,但不代表這三個(gè)框架就代表了J2EE。
學(xué)習(xí)J2EE較為核心的內(nèi)容有:JDBC、JSP、servlet和JavaBean,后面三個(gè)也是學(xué)習(xí)SSH的基礎(chǔ)(Struts/Spring/Hibernate的簡(jiǎn)稱)。鑒于J2EE的內(nèi)容太過(guò)復(fù)雜,建議大家最初只學(xué)習(xí):JSP,servlet和JavaBean,等這個(gè)基礎(chǔ)掌握好再把SSH學(xué)習(xí)了,再對(duì)其他J2EE技術(shù)有個(gè)大致的了解就可以出去找工作了。
除了這些技術(shù)的東西,在這階段,大家更多的是會(huì)接觸到比如設(shè)計(jì)模式的東西,比如工廠模式、橋梁模式、單例模式等等,還要學(xué)習(xí)建模思想(比如UML建模等等)和軟件生命周期等等。
3、數(shù)據(jù)庫(kù)技術(shù)
數(shù)據(jù)庫(kù)幾乎是程序中不可或缺的一部分,在整個(gè)軟件開(kāi)發(fā)中更是占據(jù)了重要作用。目前數(shù)據(jù)庫(kù)幾乎都是關(guān)系型數(shù)據(jù)庫(kù),代表的有:SQL Server/MySQL。
4、網(wǎng)頁(yè)編程基礎(chǔ)
網(wǎng)頁(yè)編程基礎(chǔ)要學(xué)的內(nèi)容也比較多,但主要集中在以下這三個(gè)技術(shù)之上,大家每天看的各種樣式的網(wǎng)頁(yè)都是它們呈現(xiàn)的:HTML:超文本標(biāo)記語(yǔ)言、CSS:層疊樣式表、JavaScript:瀏覽器客戶端腳本語(yǔ)言。現(xiàn)在更是流行各種JavaScript庫(kù),比如:jQuery、ExtJs等。
5、J2ME
如果已經(jīng)掌握了以上的技術(shù)了,可以再學(xué)習(xí)手機(jī)程序的開(kāi)發(fā)。J2ME的學(xué)習(xí)的話,切忌不要單純的再模擬器上測(cè)試,一定要找真機(jī)測(cè)試,真機(jī)和模擬器的效果之間差別是很大的。
除了學(xué)習(xí)的規(guī)劃線路之外,選擇合適的開(kāi)發(fā)工具也是比較重要的,工欲善其事必先利其器,作為初學(xué)者比較建議使用的開(kāi)發(fā)工具是:JCreator或是記事本,當(dāng)熟悉了Java代碼之后再根據(jù)自己的習(xí)慣和發(fā)展去選擇合適的工具。
大家都知道編程語(yǔ)言是非常受歡迎的,學(xué)習(xí)編程語(yǔ)言的人也是越來(lái)越多的,而Java作為編程語(yǔ)言中最受歡迎語(yǔ)言之一,學(xué)習(xí)的人是非常多的,但是Java入門多久這得看你找對(duì)方法了嗎?
如果你找對(duì)方法了可能十天左右就入門了,但是如果你沒(méi)有找對(duì)方法可能學(xué)習(xí)就是徒勞,就是找不到方法。現(xiàn)在是互聯(lián)網(wǎng)發(fā)展的時(shí)代,學(xué)習(xí)Java不建議大家看一些書籍,因?yàn)橐婚_(kāi)始畢竟是文字性的東西大家理解起來(lái)是比較難的。
在這里我推薦大家看視頻,看高淇老師的視頻Java300集(可以在尚學(xué)堂或者百戰(zhàn)程序員的官網(wǎng)上免費(fèi)領(lǐng)取資料),高淇老師是擁有很多年的教學(xué)經(jīng)驗(yàn),資歷是非常豐富的,課堂是非常詼諧幽默的,非常適合剛學(xué)習(xí)Java的小白。
如果你找到一個(gè)適合自己學(xué)習(xí)的方法,那么入門是非常簡(jiǎn)單的,跟著高淇老師一起學(xué)習(xí)Java這門編程語(yǔ)言入門是非常快速的。想要學(xué)習(xí)Java的同學(xué)們建議大家去百戰(zhàn)程序員或者尚學(xué)堂的官網(wǎng)上免費(fèi)領(lǐng)取資料啦,行動(dòng)起來(lái)!
看你怎么定義精通了。一般來(lái)說(shuō)入門很容易,假如精通是指項(xiàng)目會(huì)用,java一般問(wèn)題都可以解決的話,也許只要兩到三年。如果精通是指jdk下源碼以及java虛擬機(jī)運(yùn)行都了解的一清二楚?;蚴窃趈ava的某一領(lǐng)域精通的話,五到十年吧。java一直在發(fā)展,所以其實(shí)看你怎么定義精通了。
在下是985碩士一枚,本科是非科班,所以研究生期間花了兩年時(shí)間自學(xué)Java,最后在校招拿到了BAT等大廠的研發(fā)offer,恰好我最近寫了四篇Java工程師學(xué)習(xí)指南,講述了如何從入門到進(jìn)階學(xué)習(xí)Java,也是我自己兩年以來(lái)學(xué)習(xí)java的一些心得體會(huì)。
如果想成為專業(yè)的Java后端工程師,自學(xué)是要花需要時(shí)間和精力的,那么如何進(jìn)行入門的呢。問(wèn)題問(wèn)的是如何入門,那么我決定選擇前兩篇文章來(lái)回答這一問(wèn)題,分別是如何學(xué)習(xí)Java基礎(chǔ)知識(shí),以及如何開(kāi)始做一個(gè)Java Web項(xiàng)目
接下來(lái)就是具體的文章,建議大家按順序閱讀,有點(diǎn)長(zhǎng),收藏的時(shí)候記得點(diǎn)贊或者評(píng)論哈。筆芯!
Java工程師學(xué)習(xí)指南
入門篇
最近有很多小伙伴來(lái)問(wèn)我,Java小白如何入門,如何安排學(xué)習(xí)路線,每一步應(yīng)該怎么走比較好。原本我以為之前的幾篇文章已經(jīng)可以解決大家的問(wèn)題了,其實(shí)不然,因?yàn)槲抑皩懙奈恼露际钦驹贘ava后端的全局上進(jìn)行思考和總結(jié)的,忽略了很多小白們的感受,而很多朋友都需要更加基礎(chǔ),更加詳細(xì)的學(xué)習(xí)路線。
所以,今天我們重新開(kāi)一個(gè)新的專題,分別按照四篇文章講述Java的學(xué)習(xí)路線(分別是入門篇,初級(jí)篇,中級(jí)篇,高級(jí)篇),筆者也打算趁此機(jī)會(huì),回憶一下自己的Java學(xué)習(xí)歷程。今天我們要講的是,小白同學(xué)如何入門Java。
先聲明一點(diǎn),文章內(nèi)容不會(huì)詳細(xì)到每一步怎么操作,只會(huì)提供大致的思路和方向,給大家以啟發(fā),如果真的要一步一步指導(dǎo)操作的話,那至少需要一本書的厚度啦。
本文所述的方法不一定適合所有人,如有錯(cuò)誤敬請(qǐng)諒解。
01 前期準(zhǔn)備工作
開(kāi)發(fā)環(huán)境搭建
這一步我們往往會(huì)直接跳過(guò),但既然是面向小白的教程,這里就提一下吧。首先你需要一臺(tái)電腦,然后安裝好JDK和JRE,JDK提供的是Java開(kāi)發(fā)工具,也就是一些必備的jar包,JRE則是Java的運(yùn)行環(huán)境組件,我們熟悉的JVM就在這里面。
安裝好這兩個(gè)東東之后,一般還要配置一下環(huán)境變量,否則有一些目錄可能無(wú)法被正確找到。
IDE選擇和安裝
IDE指的就是本地開(kāi)發(fā)編輯器,沒(méi)有了它,你就只能直接在記事本這類工具里敲代碼了。IDE最大的好處就是整合了大量的工具和功能模塊,讓你非常輕松地完成開(kāi)發(fā)。
以前大家都用eclipse,不過(guò)eclipse已經(jīng)不流行了,現(xiàn)在我推薦你直接用intellij idea作為你的第一個(gè)代碼編輯器。如果是用過(guò)eclipse的同學(xué),基本上也可以無(wú)痛切換。
intellij idea可以直接在官網(wǎng)上下載,試用版30天,如果想要永久使用,網(wǎng)上也有一些辦法滴。
關(guān)于jar包
jar包是什么,其實(shí)就是將一堆class格式文件打包,Java中把它稱為jar包,這些jar包在編譯器中能被直接識(shí)別,讓開(kāi)發(fā)者使用。
對(duì)于新手來(lái)說(shuō),可能只需要用到JDK自帶的一些API,但是如果你要引用外部jar包,可能就會(huì)遇到一些困難了。對(duì)于idea來(lái)說(shuō),導(dǎo)入外部jar包有兩種辦法,一種是手動(dòng)導(dǎo)入jar包,一種是使用maven。后者會(huì)在Java Web相關(guān)的文章中講起。
手動(dòng)導(dǎo)入jar包其實(shí)也不難,你需要先下載好jar包,然后在對(duì)應(yīng)的項(xiàng)目下選擇導(dǎo)入jar包即可,具體的方法這里就不展開(kāi)說(shuō)了,因?yàn)樵诰W(wǎng)上都找得到。
02 學(xué)習(xí)Java基礎(chǔ)的幾種方法
了解基礎(chǔ)語(yǔ)法
學(xué)習(xí)一門語(yǔ)言,最開(kāi)始要做的事情就是學(xué)習(xí)它的語(yǔ)法。我最早學(xué)習(xí)Java語(yǔ)法是在Runoob,這個(gè)網(wǎng)站可以讓你對(duì)任意一門語(yǔ)言完成最快速的語(yǔ)法入門,當(dāng)然,這只是相當(dāng)于你瀏覽了一遍基礎(chǔ)語(yǔ)法。
想要真正掌握J(rèn)ava語(yǔ)言基礎(chǔ),光看基礎(chǔ)語(yǔ)法還遠(yuǎn)遠(yuǎn)不夠,我在大三第一次接觸Java課程,聽(tīng)老師講面向?qū)ο笕筇卣髀?tīng)得一頭霧水,連數(shù)組的初始化方式都理不清楚,但這些內(nèi)容都是我們需要掌握的。所以,為了學(xué)好Java基礎(chǔ),我們還需要看視頻或者看書進(jìn)行學(xué)習(xí)。
看視頻
視頻的話,可以到極客學(xué)院或者慕課網(wǎng)聽(tīng)Java基礎(chǔ)課程,當(dāng)然也可以看我分享的Java視頻課程。大家也都知道,現(xiàn)在Java的培訓(xùn)班非常多,基本上學(xué)的東西也都大同小異,不過(guò)它們的有些課程還不錯(cuò),大家有渠道的話也可以去看一看。
看視頻的好處是你可以更好地接收知識(shí),同時(shí)也會(huì)耗費(fèi)你更多實(shí)踐,所以,有時(shí)候你也可以選擇看書。
看書
看書的話,對(duì)于小白來(lái)說(shuō)不推薦太復(fù)雜的書,比如《Java編程思想》這種書,新手千萬(wàn)不要看。我個(gè)人建議,你只需要先看看《Java入門到精通》這種類型的書就足夠了,因?yàn)檫@個(gè)部分的學(xué)習(xí)只是為你后面的學(xué)習(xí)開(kāi)個(gè)頭,你以后可能還要回過(guò)頭來(lái)重新研究這些內(nèi)容。
現(xiàn)在市面上介紹Java基礎(chǔ)的書籍實(shí)在太多了,質(zhì)量參差不齊,內(nèi)容同質(zhì)化嚴(yán)重,筆者看過(guò)的其實(shí)也不多。給大家一個(gè)建議,你只需要挑一兩本書來(lái)看即可,這里推薦兩本最簡(jiǎn)單的吧,《head first java》和《Java從入門到精通》。
看博客
這里再推薦另一種學(xué)習(xí)方式,就是看博客,博客比起書籍來(lái)說(shuō),更適合對(duì)于某個(gè)技術(shù)點(diǎn)的學(xué)習(xí),你可以很容易地在網(wǎng)上找到這個(gè)知識(shí)點(diǎn)相關(guān)的原理,實(shí)現(xiàn)方法,以及代碼范例。
我的博客里沒(méi)有講解特別基礎(chǔ)的東西,如果你看一些比較基礎(chǔ)的文章,可以到Runoob等網(wǎng)站上查看。如果你有一個(gè)很明確的知識(shí)點(diǎn)想要學(xué)習(xí),相信搜搜引擎會(huì)給你更好的答案。
代碼實(shí)踐
除此之外,一般的Java書籍或者視頻課程都會(huì)要求你相應(yīng)完成一些練習(xí)題,這部分內(nèi)容你需要自己在電腦里使用IDE完成。
在IDE里,你可以很好地熟悉Java語(yǔ)言的使用,基本代碼的實(shí)現(xiàn),同時(shí)可以嘗試各種各樣的API,并且測(cè)試一些語(yǔ)言特性,比如繼承,封裝,多態(tài)等等。
另外,這也是你熟悉IDE的一個(gè)好機(jī)會(huì),因?yàn)樵诠纠镒鲩_(kāi)發(fā)可能要用到IDE各種各樣的功能,提前熟悉好IDE絕對(duì)是有益無(wú)害的。
03 Java入門必備知識(shí)點(diǎn)梳理
在Java入門階段,你可能需要接觸到以下這部分知識(shí),不管你是從通過(guò)哪種方式學(xué)習(xí),這些內(nèi)容都是你學(xué)習(xí)Java基礎(chǔ)時(shí)繞不過(guò)的重點(diǎn)。
Java基礎(chǔ)知識(shí)
這部分內(nèi)容是你必須要掌握的內(nèi)容,在入門階段你需要把這些基礎(chǔ)打扎實(shí),以便于在學(xué)習(xí)后面的內(nèi)容時(shí)可以更上一層樓。
如何把基礎(chǔ)打扎實(shí)呢,最好的辦法就是在IDE上把書上或者視頻上的每個(gè)例子都實(shí)現(xiàn)一遍,當(dāng)然有的時(shí)候你也可以自己寫一些有意思的例子。
1 基本數(shù)據(jù)類型
比如int,double,char,以及其包裝類。
熟悉基本數(shù)據(jù)類型的使用,了解每種類型所占的字節(jié)數(shù),以及它們和包裝類之間的相互轉(zhuǎn)換。
2 流程控制
比如for循環(huán),if else,while循環(huán)等等
如果是學(xué)過(guò)c語(yǔ)言的同學(xué),這部分可以跳過(guò)了。
3 字符串類型String的使用
字符串類型是Java中很重要的類型,它不是基本數(shù)據(jù)類型,但卻很常用,熟悉和實(shí)踐String相關(guān)的api,開(kāi)始你對(duì)字符串的學(xué)習(xí)吧。
4 數(shù)組
數(shù)組的初始化方式有哪些,二維數(shù)組應(yīng)該怎么寫,把數(shù)組當(dāng)成方法參數(shù)又該怎么處理?
5 類和對(duì)象
Java中最重要的兩個(gè)概念:類和對(duì)象,它們有什么用呢,有什么區(qū)別和聯(lián)系呢,請(qǐng)?jiān)诖a中實(shí)踐它們吧。
Java核心技術(shù)
對(duì)于這部分內(nèi)容,我相信很多小白只能了解它們的基本使用方法,但是并不明白其背后的一些原理:比如為什么接口和抽象類有這些區(qū)別,多態(tài)的意義是什么,為什么要有反射。
新手在學(xué)習(xí)這部分內(nèi)容時(shí),只需要知道怎么用就可以了。當(dāng)然,你最好把這些特性都實(shí)現(xiàn)一遍,以加深印象。
至于為什么有這些特性,這些特性背后的原理是什么,不是我們現(xiàn)在討論的內(nèi)容,這些內(nèi)容我們將在初級(jí)和中級(jí)篇中講述。因?yàn)?,要了解這些原理,你得了解JVM,了解并發(fā)技術(shù)的基礎(chǔ),了解網(wǎng)絡(luò)基礎(chǔ),甚至更多。顯然,這不是你現(xiàn)在能做到的。
1 接口和抽象類
寫一些接口,同時(shí)寫一些實(shí)現(xiàn)類去實(shí)現(xiàn)這些接口,并且了解一下為什么我們需要接口,為什么子類需要實(shí)現(xiàn)接口里的方法。
同理,去實(shí)現(xiàn)一些抽象類吧。然后,看看它和接口有什么不同。
2 繼承,封裝和多態(tài)
如何理解繼承,子類和父類之間有什么聯(lián)系呢。
封裝是一種保護(hù)代碼的方式,有哪些方式可以實(shí)現(xiàn)封裝呢。
多態(tài)一般分為重載和重寫,它們分別怎么使用?
3 異常處理
Java中的異常處理主要用于捕獲和處理錯(cuò)誤,請(qǐng)你寫一些try catch代碼塊去捕獲錯(cuò)誤吧。
4 集合類
集合類是我們經(jīng)常需要打交道的東西,List,Map,Set等等,趕快去熟悉API,然后寫一些測(cè)試?yán)影伞?/p>
5 IO輸入流和輸出流
IO輸入流和輸出流可以操作文件,網(wǎng)絡(luò)數(shù)據(jù)等內(nèi)容,如何在Java代碼中完成這么復(fù)雜的操作呢,其實(shí)只需要簡(jiǎn)單的幾個(gè)api就可以了。
6 多線程
為了讓系統(tǒng)資源最合理地分配和調(diào)度,我們需要多線程,多線程會(huì)讓程序變得有趣,也會(huì)帶來(lái)很多問(wèn)題,使用Thread和相關(guān)API,去嘗試這些有趣的事情吧。
可選內(nèi)容:
1 反射(了解即可,不是入門必須)
2 枚舉類型和泛型(了解即可,不是入門必須)
3 網(wǎng)絡(luò)通信(了解基本的socket使用即可,需要網(wǎng)絡(luò)基礎(chǔ))
4 數(shù)據(jù)庫(kù)操作(了解基本的JDBC即可,需要數(shù)據(jù)庫(kù)基礎(chǔ))
04 總結(jié)
總而言之,對(duì)于一個(gè)Java小白來(lái)說(shuō),入門Java可以分為這幾步:
1 首先搭建好Java開(kāi)發(fā)環(huán)境 2 通過(guò)Runoob等一些網(wǎng)站熟悉Java的基本語(yǔ)法 3 通過(guò)看書看視頻等方式熟悉Java基礎(chǔ)知識(shí),通過(guò)代碼實(shí)踐加深理解 4 通過(guò)看書看視頻等方式初步了解Java核心技術(shù),通過(guò)代碼實(shí)踐加深理解。
本文主要是為大家提供一個(gè)學(xué)習(xí)的思路,以及推薦一些學(xué)習(xí)方法,如果你能夠按照這樣的步驟去學(xué)習(xí),并且配合上一些適合你自己的學(xué)習(xí)方法來(lái)完成學(xué)習(xí)計(jì)劃,相信你可以很好地完成對(duì)Java的入門。
微信公眾號(hào)【Java技術(shù)江湖】一位ucloud Java 工程師的技術(shù)小站,作者黃小斜(關(guān)注公眾號(hào)后回復(fù)”Java“即可領(lǐng)取 Java基礎(chǔ)、進(jìn)階、項(xiàng)目和架構(gòu)師等免費(fèi)學(xué)習(xí)資料,更有數(shù)據(jù)庫(kù)、分布式、微服務(wù)等熱門技術(shù)學(xué)習(xí)視頻,內(nèi)容豐富,兼顧原理和實(shí)踐,另外也將贈(zèng)送作者原創(chuàng)的Java學(xué)習(xí)指南、Java程序員面試指南等干貨資源)
Java工程師學(xué)習(xí)指南
初級(jí)篇
最近有很多小伙伴來(lái)問(wèn)我,Java小白如何入門,如何安排學(xué)習(xí)路線,每一步應(yīng)該怎么走比較好。原本我以為之前的幾篇文章已經(jīng)可以解決大家的問(wèn)題了,其實(shí)不然,因?yàn)槲抑皩懙奈恼露际钦驹贘ava后端的全局上進(jìn)行思考和總結(jié)的,忽略了很多小白們的感受,而很多朋友都需要更加基礎(chǔ),更加詳細(xì)的學(xué)習(xí)路線。
所以,今天我們重新開(kāi)一個(gè)新的專題,分別按照四篇文章講述Java的學(xué)習(xí)路線(分別是入門篇,初級(jí)篇,中級(jí)篇,高級(jí)篇),筆者也打算趁此機(jī)會(huì),回憶一下自己的Java學(xué)習(xí)歷程。今天我們要講的是,小白同學(xué)如何入門Java。
先聲明一點(diǎn),文章內(nèi)容不會(huì)詳細(xì)到每一步怎么操作,只會(huì)提供大致的思路和方向,給大家以啟發(fā),如果真的要一步一步指導(dǎo)操作的話,那至少需要一本書的厚度啦。
本文所述的方法不一定適合所有人,如有錯(cuò)誤敬請(qǐng)諒解。
01 Java Web項(xiàng)目指南
jav在上一篇文章中,我們講到了入門Java的幾個(gè)步驟,先搭建好環(huán)境,然后熟悉基本語(yǔ)法,接著熟悉Java的一些核心技術(shù),并且在代碼中進(jìn)行實(shí)現(xiàn)。
如果你已經(jīng)完成了這部分內(nèi)容的學(xué)習(xí),應(yīng)該會(huì)感覺(jué)自己對(duì)Java已經(jīng)有一定了解了,可以輕松地寫出一些Java代碼,比如實(shí)現(xiàn)多線程輸出數(shù)字,再如操作IO流等等。
當(dāng)然,這些代碼通常只是一些demo,我們?cè)趯?shí)際的項(xiàng)目中可能并不會(huì)這么簡(jiǎn)單地使用這些技術(shù),我們可能會(huì)同時(shí)使用集合類,多線程,以及操作數(shù)據(jù)庫(kù)的API。
所以,在今天的初級(jí)篇中,我們就來(lái)談?wù)勗趺醋鲰?xiàng)目吧。
Java Web項(xiàng)目
對(duì)于大部分Java新手來(lái)說(shuō),最適合他們?nèi)腴T的項(xiàng)目就是Java Web了。因?yàn)镴ava天然適合做Web應(yīng)用,并且生態(tài)完善,更有很多開(kāi)源的工具和框架去支撐這些應(yīng)用,比如Spring,Hibernate,SpringMVC等等。
那么,如何開(kāi)始著手做一個(gè)Java Web項(xiàng)目呢。個(gè)人認(rèn)為最好的方式就是看視頻了。因?yàn)?,看書的話,很多?nèi)容比較過(guò)時(shí),并且一般不會(huì)提供源代碼。也有一些大佬喜歡推薦開(kāi)源的項(xiàng)目(在GitHub上面的項(xiàng)目),但是對(duì)于小白來(lái)說(shuō),如果沒(méi)有很完整的文檔去指導(dǎo)他們,那也是毫無(wú)意義的。
曾幾何時(shí),Java Web的項(xiàng)目還在使用JSP + Servlet進(jìn)行開(kāi)發(fā),后來(lái)出現(xiàn)了Struts2,再后來(lái),出現(xiàn)了我們現(xiàn)在也一直在用的SpringMVC,說(shuō)實(shí)話,不論使用哪種開(kāi)發(fā)框架,你都需要先花一些時(shí)間去學(xué)習(xí)相關(guān)的技術(shù),否則你會(huì)發(fā)現(xiàn),即使是看視頻,你也不知道里面在講什么。
要想做好一個(gè)JavaWeb項(xiàng)目,你不僅需要一個(gè)好的項(xiàng)目課程,還需要足夠的知識(shí)儲(chǔ)備,下面就讓我們來(lái)理一理這些內(nèi)容把。
知識(shí)儲(chǔ)備
Java基礎(chǔ)部分的內(nèi)容咱們上次說(shuō)過(guò)了,這里就不再重復(fù)啦~下面我們分別來(lái)說(shuō)說(shuō)其他幾方面的知識(shí)儲(chǔ)備把
02 前端知識(shí)
推薦資源:在w3cschool學(xué)習(xí)html,css和js,支持在線測(cè)試代碼。
既然是做Web,就難免要涉及到前端技術(shù),不過(guò),現(xiàn)在前后端分離已經(jīng)是一種趨勢(shì),所以,如果你對(duì)前端不感興趣,也沒(méi)必要花太多時(shí)間去學(xué)習(xí)。
對(duì)于大部分同學(xué)來(lái)說(shuō),你最好要了解html的基本標(biāo)簽和格式,自己能夠?qū)懸恍┖?jiǎn)單頁(yè)面,CSS的話,也可以稍微接觸一些。相對(duì)于前面兩個(gè)服務(wù)于樣式的技術(shù),我們倒是更應(yīng)該去學(xué)習(xí)一下JavaScript,了解它的一些基本語(yǔ)法,以及ajax的使用,因?yàn)樵谇昂蠖私换r(shí),ajax是非常重要的。
所以,做一個(gè)Java Web項(xiàng)目,你不需要花太多時(shí)間在寫前端頁(yè)面上,如果有源代碼可以直接使用,當(dāng)然,對(duì)于一些需要修改的前端頁(yè)面,你得怎么去做修改它,因?yàn)橛袝r(shí)候你需要使用JSP,JSP既包括前端代碼也包括Java代碼,如果你完全看不懂前端代碼的話,那就很尷尬了。
03 Java Web常用技術(shù)
JavaWeb的技術(shù)棧其實(shí)比較龐大,所以我們不要求面面俱到,只是希望你能夠熟悉一下項(xiàng)目中可能用到的技術(shù)。下面列舉一些常見(jiàn)的技術(shù),大家最好要了解一下。
1 JSP和Servlet
推薦資源:《JavaWeb入門到精通》,慕課網(wǎng)、極客學(xué)院等網(wǎng)站上的JavaWeb基礎(chǔ)課程
這是Java Web開(kāi)發(fā)最原始的形態(tài),現(xiàn)在很少直接使用了,但是后來(lái)的各種框架其實(shí)也是建立在servlet之上來(lái)做的。你們需要了解這兩個(gè)技術(shù)分別是用來(lái)干什么的,最好能寫一些demo來(lái)實(shí)踐。
對(duì)于JSP,有時(shí)候你可能還要學(xué)習(xí)jstl等標(biāo)簽語(yǔ)言,因?yàn)檫@些標(biāo)簽可以讓你更方便地往JSP中插入Java代碼。
2 Spring和SpringMVC
推薦資源:《Spring實(shí)戰(zhàn)》,慕課網(wǎng)、極客學(xué)院等網(wǎng)站上的SpringMVC基礎(chǔ)課程。
事實(shí)上,除了上述資源之外,你也可以直接到官網(wǎng)上查看快速開(kāi)始文檔。
Struts2早已被時(shí)代拋棄,Spring則是當(dāng)今的霸主,你需要了解Spring如何使用,以及SpringMVC如何使用,并且學(xué)會(huì)在項(xiàng)目中使用它。
由于SpringBoot最近很火,并且搭建方式比SpringMVC更簡(jiǎn)單,你也可以先學(xué)習(xí)SpringBoot,以便更快速地搭建起你的第一個(gè)Java Web項(xiàng)目。
3 MySQL
推薦資源:《Sql必知必會(huì)》,Runoob上的MySQL基礎(chǔ)教程,慕課網(wǎng)、極客學(xué)院等網(wǎng)站上的視頻課程
一個(gè)JavaWeb應(yīng)用一定要有數(shù)據(jù)啊,所以我們需要用到數(shù)據(jù)庫(kù),其實(shí)搭一個(gè)mysql數(shù)據(jù)庫(kù)是非常簡(jiǎn)單的,但是對(duì)于初學(xué)者來(lái)說(shuō)最麻煩的就是寫sql了,所以,先學(xué)會(huì)建表,熟悉sql,對(duì)你以后做項(xiàng)目也是大有裨益的。
4 Hibernate和Mybatis
推薦資源:Runoob上的Hibernate和Mybatis基礎(chǔ)教程,慕課網(wǎng)、極客學(xué)院等網(wǎng)站上的視頻課程
當(dāng)你學(xué)會(huì)了使用sql去查詢數(shù)據(jù),可能還不足以讓你在項(xiàng)目中很方便地處理數(shù)據(jù),因?yàn)槲覀冞€需要一個(gè)步驟,就是把數(shù)據(jù)庫(kù)的數(shù)據(jù)轉(zhuǎn)化成Java里的對(duì)象。orm框架就是為了解決這一問(wèn)題而出現(xiàn)的,它可以讓一張表和Java類一一對(duì)應(yīng),讓數(shù)據(jù)查詢變得非常方便。Hibernate和Mybatis都是orm框架,只不過(guò)現(xiàn)在mybatis越來(lái)越火了。
所以,你需要了解這一技術(shù),因?yàn)樗鼤?huì)廣泛地運(yùn)用到大部分Java Web項(xiàng)目中。
5 Maven
推薦資源:《maven實(shí)戰(zhàn)》,易百教程里的maven教程,慕課網(wǎng)、極客學(xué)院等網(wǎng)站上的視頻課程
剛才咱們已經(jīng)說(shuō)過(guò)了Spring,orm框架,以及MySQL等方面的技術(shù)了。實(shí)際上,一個(gè)簡(jiǎn)單的Java Web項(xiàng)目也只需要這些東西了。
但是,有一個(gè)問(wèn)題,就是:一個(gè)項(xiàng)目里用到這么多技術(shù),所需要的jar包也會(huì)很多,我們?nèi)绾喂芾磉@些jar包呢。如果直接導(dǎo)入所需jar包,那當(dāng)jar包更新或者需要替換時(shí),每次都要手動(dòng)操作,非常麻煩。另外,當(dāng)jar包很多時(shí),項(xiàng)目打包后的war格式文件也會(huì)很大,不利于傳輸。
為了解決上述問(wèn)題,maven應(yīng)運(yùn)而生了。maven通過(guò)pom.xml文件來(lái)指定所需的jar包,并且自帶了很多構(gòu)建相關(guān)的功能,比如編譯,打包,運(yùn)行單元測(cè)試等等,因?yàn)樗旧砭褪且粋€(gè)構(gòu)建工具。
當(dāng)然,新手可能還難以理解這些概念,你必須要知道的是,大部分Java Web項(xiàng)目需要用maven來(lái)管理,你需要學(xué)會(huì)maven的基本用法,最基本的用法就是:學(xué)會(huì)修改pom.xml文件。
6 Tomcat
推薦資源:慕課網(wǎng)、極客學(xué)院等網(wǎng)站上的視頻課程。
對(duì)于小白來(lái)說(shuō),Tomcat相關(guān)的技術(shù)是非常復(fù)雜的,畢竟它是一個(gè)應(yīng)用服務(wù)器啊,事實(shí)上這個(gè)時(shí)候,你只需要學(xué)會(huì)如何安裝Tomcat即可。畢竟,它在項(xiàng)目中的作用就是提供一個(gè)運(yùn)行環(huán)境而已。
正常來(lái)說(shuō),你只要下載解壓Tomcat的壓縮包即可。由于現(xiàn)在的IDE都支持集成Tomcat,所以一般情況下你都可以在IDE中配置好你的Tomcat路徑,然后設(shè)置好你的項(xiàng)目路徑,IDE會(huì)自動(dòng)把你的工程代碼部署到Tomcat服務(wù)器上。
如果你使用想跳過(guò)IDE直接部署工程到Tomcat上,也可以直接編譯工程并且打包得到war格式的文件(這個(gè)步驟可以使用maven來(lái)完成),然后拷貝war文件到Tomcat下的特定目錄即可。
上述兩種部署方式的詳細(xì)步驟請(qǐng)到搜索引擎尋找答案。
7 Git和GitHub
推薦資源:廖雪峰的Git教程,GitHub官網(wǎng),慕課網(wǎng)、極客學(xué)院等網(wǎng)站上的視頻課程。
既然要做項(xiàng)目,為什么不把它發(fā)布在GitHub上。當(dāng)你熟悉了Git指令之后,你可以很方便地發(fā)布你項(xiàng)目中的每一次更新,并且同步到GitHub上,這樣既可以讓你更好地管理項(xiàng)目版本,又可以讓你GitHub更加活躍,為你未來(lái)的面試加分。
所以,趕緊學(xué)好Git指令,然后開(kāi)啟你的項(xiàng)目之旅吧。
04 其他常用組件
除了上面幾種必備的技術(shù)之外,有時(shí)候我們?cè)陧?xiàng)目中還會(huì)用到其他東西,在這里我們把它們叫做組件。這里只做簡(jiǎn)單的介紹,至于具體怎么使用,在網(wǎng)上都可以很容易地找到相關(guān)文章。
1 日志系統(tǒng)
當(dāng)項(xiàng)目代碼比較多的時(shí)候,容易發(fā)生錯(cuò)誤,日志可以很好地記錄代碼運(yùn)行時(shí)的錯(cuò)誤,常用的日志系統(tǒng)有l(wèi)og4j,logging等等,另外你還需要了解一下slf4j。
2 單元測(cè)試
日志系統(tǒng)可以記錄代碼問(wèn)題,單元測(cè)試則是為了避免代碼出錯(cuò),常用的單元測(cè)試組件主要是JUnit,建議你找個(gè)文檔看一看,然后下載下來(lái)玩一下。
3 JSON
JSON逐漸成為前后端數(shù)據(jù)交互的標(biāo)準(zhǔn)格式,為了在項(xiàng)目中使用JSON的API,你也需要導(dǎo)入它的jar包,一般我們都會(huì)使用ucloud提供的fastjson,趕快下載來(lái)玩一玩吧。
當(dāng)然,常用的Java Web組件還有很多,比如HTTPClient,再比如一些加密工具,一些壓縮工具等等,這里就不再一一列舉了。
5 總結(jié)
今天的內(nèi)容就到這里了,與其說(shuō)是初級(jí)篇,反而更像是“項(xiàng)目篇”呢。因?yàn)閷W(xué)完基礎(chǔ)內(nèi)容之后,做項(xiàng)目是最好的復(fù)習(xí)和實(shí)踐方式了。所以這篇文章圍繞著做項(xiàng)目來(lái)展開(kāi),也就不足為奇了。
今天我們主要講的是,做好一個(gè)JavaWeb項(xiàng)目,需要哪些知識(shí)儲(chǔ)備,需要了解哪些技術(shù),并且我也推薦一些比較精品的視頻課程。
后面我還會(huì)寫一篇文章,專門講一講怎么做項(xiàng)目,會(huì)更加詳細(xì),更加側(cè)重怎么去做,敬請(qǐng)期待吧。
總結(jié)以下今天說(shuō)的幾個(gè)要點(diǎn)吧:
1 Java基礎(chǔ)知識(shí)儲(chǔ)備 2 前端知識(shí)儲(chǔ)備 3 了解和使用JavaWeb常用技術(shù) 4 JavaWeb常用組件介紹 5 視頻課程推薦
俗話說(shuō)的好,磨刀不誤砍柴工,相信你看了本文之后,可以更好地做好知識(shí)儲(chǔ)備,然后開(kāi)始Java Web的項(xiàng)目實(shí)踐,希望你能夠順利地完成你的第一個(gè)項(xiàng)目。
微信公眾號(hào)個(gè)人公眾號(hào):程序員黃小斜
黃小斜是 985 碩士,ucloud巴巴Java工程師,在自學(xué)編程、技術(shù)求職、Java學(xué)習(xí)等方面有豐富經(jīng)驗(yàn)和獨(dú)到見(jiàn)解,希望幫助到更多想要從事互聯(lián)網(wǎng)行業(yè)的程序員們。 作者專注于 JAVA 后端技術(shù)棧,熱衷于分享程序員干貨、學(xué)習(xí)經(jīng)驗(yàn)、求職心得,以及自學(xué)編程和Java技術(shù)棧的相關(guān)干貨。 黃小斜是一個(gè)斜杠青年,堅(jiān)持學(xué)習(xí)和寫作,相信終身學(xué)習(xí)的力量,希望和更多的程序員交朋友,一起進(jìn)步和成長(zhǎng)!
原創(chuàng)電子書: 關(guān)注微信公眾號(hào)【程序員黃小斜】后回復(fù)【原創(chuàng)電子書】即可領(lǐng)取我原創(chuàng)的電子書《菜鳥(niǎo)程序員修煉手冊(cè):從技術(shù)小白到ucloud巴巴Java工程師》這份電子書總結(jié)了我2年的Java學(xué)習(xí)之路,包括學(xué)習(xí)方法、技術(shù)總結(jié)、求職經(jīng)驗(yàn)和面試技巧等內(nèi)容,已經(jīng)幫助很多的程序員拿到了心儀的offer!
程序員3T技術(shù)學(xué)習(xí)資源: 一些程序員學(xué)習(xí)技術(shù)的資源大禮包,關(guān)注公眾號(hào)后,后臺(tái)回復(fù)關(guān)鍵字 “資料” 即可免費(fèi)無(wú)套路獲取,包括Java、python、C++、大數(shù)據(jù)、機(jī)器學(xué)習(xí)、前端、移動(dòng)端等方向的技術(shù)資料。
技術(shù)公眾號(hào):Java技術(shù)江湖
如果大家想要實(shí)時(shí)關(guān)注我更新的文章以及分享的干貨的話,可以關(guān)注我的微信公眾號(hào)【Java技術(shù)江湖】
這是一位ucloud Java 工程師的技術(shù)小站。作者黃小斜,專注 Java 相關(guān)技術(shù):SSM、SpringBoot、MySQL、分布式、中間件、集群、Linux、網(wǎng)絡(luò)、多線程,偶爾講點(diǎn)Docker、ELK,同時(shí)也分享技術(shù)干貨和學(xué)習(xí)經(jīng)驗(yàn),致力于Java全棧開(kāi)發(fā)!
Java工程師必備學(xué)習(xí)資源: 關(guān)注公眾號(hào)后回復(fù)”Java“即可領(lǐng)取 Java基礎(chǔ)、進(jìn)階、項(xiàng)目和架構(gòu)師等免費(fèi)學(xué)習(xí)資料,更有數(shù)據(jù)庫(kù)、分布式、微服務(wù)等熱門技術(shù)學(xué)習(xí)視頻,內(nèi)容豐富,兼顧原理和實(shí)踐,另外也將贈(zèng)送作者原創(chuàng)的Java學(xué)習(xí)指南、Java程序員面試指南等干貨資源
學(xué)習(xí)是場(chǎng)持久戰(zhàn),短時(shí)間的突擊學(xué)習(xí)收獲并不是很大,學(xué)習(xí)重在行動(dòng)、貴在堅(jiān)持,能堅(jiān)持下來(lái)才是最難能可貴的。
學(xué)習(xí)java,說(shuō)實(shí)話,入門并不難,但是學(xué)精可不容易!
如果按每天6小時(shí)來(lái)算,每天按照視頻的進(jìn)度學(xué)習(xí)一天的課程就可以了,可能不理解的地方你需要去查資料、百度,前期一定要打好基礎(chǔ),有利于后面復(fù)雜知識(shí)點(diǎn)的學(xué)習(xí)。時(shí)間花費(fèi)如下:
一階段-Java基礎(chǔ)入門:50天
第二階段-JavaWeb階段:40天
第三階段-SSH框架階段:30天
第四階段-項(xiàng)目實(shí)戰(zhàn)一:15天
第五階段-SSM框架階段:15天(有了SSH的基礎(chǔ)學(xué)這個(gè)很快)
第六階段-項(xiàng)目實(shí)戰(zhàn)二:30天
如果是三天打魚兩天曬網(wǎng)那么。。。你就自己算算吧!
希望能幫到你,祝學(xué)業(yè)有成!
0
回答10
回答0
回答0
回答0
回答0
回答0
回答10
回答0
回答0
回答