想要看到都能java代碼,需要了解編程的基礎(chǔ)知識(shí),變量,表達(dá)式,程序執(zhí)行結(jié)構(gòu),邏輯判斷等等。最重要是要學(xué)會(huì)如何調(diào)試代碼,慢慢練習(xí),熟練了自然就會(huì)了。
成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司一直秉承“誠信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!專注中小微企業(yè)官網(wǎng)定制,成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營(yíng)銷網(wǎng)站建設(shè),塑造企業(yè)網(wǎng)絡(luò)形象打造互聯(lián)網(wǎng)企業(yè)效應(yīng)。
學(xué)習(xí)分為四個(gè)階段
第一階段一片迷茫,懷疑自己智商!
第二階段入門后欣喜異常,自信心爆表,征服星辰大海貌似指日可待!
第三階段需要掌握真功夫時(shí)倍感吃力, 意志動(dòng)搖!
第四階段一座大橋橫跨南北,天塹變通途!回頭一望,往事如煙!
很多人在大學(xué)就開始考慮學(xué)一技之長(zhǎng),以便于將來在職業(yè)上有更多的選擇。
有的人則是在社會(huì)上碰壁撞了南墻之后,毅然決然要學(xué)一門技術(shù)來安身立命。
或許是同學(xué)朋友的介紹,或許是看多了廣告,或許僅僅是緣分,你選擇了Java。
我不是推薦你要學(xué)Java,我是說那么多人總有人選擇Java。
做出選擇后,更大的麻煩就來了,Java要怎么學(xué)?學(xué)會(huì)了能不能找到工作?對(duì)學(xué)歷要求高不高?Java的前景好不好?
本篇就來講第一個(gè)問題:Java要怎么學(xué)
Java是一門編程語言,屬于軟件的范疇,軟件是基于硬件來運(yùn)行的,先了解計(jì)算機(jī)硬件系統(tǒng)。
檸檬學(xué)院李偉:萌新從零開始系統(tǒng)性獲得電腦知識(shí)zhuanlan.zhihu點(diǎn)抗
2.?認(rèn)識(shí)一下什么是Java。
檸檬學(xué)院李偉:什么是JAVAzhuanlan.zhihu點(diǎn)抗
3. Java的學(xué)前準(zhǔn)備。
聯(lián)網(wǎng)電腦一臺(tái),臺(tái)式機(jī)或者筆記本都行。配置建議:
4核(或以上)cpu+8g內(nèi)存+SSD固態(tài)硬盤。
一份比較輕松的工作,或者直接不工作,白天工作不能太累,晚上要有時(shí)間學(xué)習(xí)。
要有點(diǎn)存款,有余糧心里才踏實(shí),才不會(huì)輕易動(dòng)搖。
4. 學(xué)習(xí)Java的學(xué)歷以及文化要求。
雖然無數(shù)人說學(xué)編程要求低,但也不是完全沒有要求。
高中學(xué)歷(或中專)以上。低于高中(中專)學(xué)歷的真心不建議。
看到英語不要陌生,如果看到英語和看到下面這句話一樣的陌生......
以上,都沒有問題了,那就正式開始學(xué)習(xí)Java,零基礎(chǔ),那就來一次從零開始的挑戰(zhàn)。
第一步,找一個(gè)入門視頻,免費(fèi)的一大把。
看視頻學(xué)習(xí)的難度遠(yuǎn)遠(yuǎn)低于看書,學(xué)習(xí)Java畢竟是學(xué)習(xí)一種完全陌生的東西,不像讀書看報(bào)那樣,雖然知識(shí)和觀念是新的,但是載體還是我們熟悉的漢語。開個(gè)好頭是真的很重要,如果一開始就狗咬刺猬無從下嘴,精神上受到了打擊,那就兇多吉少了。
入門的階段首先知識(shí)點(diǎn)相對(duì)簡(jiǎn)單完全可以自學(xué),并且在學(xué)習(xí)的過程中發(fā)現(xiàn)自己到底是否真的適合編程。
免費(fèi)120集入門教學(xué)視頻:
Java輕松入門經(jīng)典教程(完整版)[檸檬學(xué)院]-學(xué)習(xí)視頻教程-培訓(xùn)課程-騰訊課堂ke.qq點(diǎn)抗
第二步,搭建好開發(fā)環(huán)境和寫一個(gè)HelloWorld,這是最簡(jiǎn)單的Java程序,但卻是從無到有質(zhì)的突破。也是對(duì)自己初入江湖最好的鼓勵(lì)。
跟著視頻就能學(xué)會(huì)搭建開發(fā)環(huán)境和寫HelloWorld,學(xué)習(xí)講究“知其然而知其所以然”下面這篇文章會(huì)告訴你為什么要搭建開發(fā)環(huán)境。
檸檬學(xué)院李偉:詳解Java開發(fā)環(huán)境配置原理zhuanlan.zhihu點(diǎn)抗
第三步,跟著視頻把JavaSE基礎(chǔ)知識(shí)學(xué)完。
基礎(chǔ)知識(shí)是枯燥乏味的,就像小時(shí)候?qū)W拼音、字、詞、句、篇那樣無趣,但是萬丈高樓平地起,這些枯燥乏味的知識(shí)正是以后興建高樓大廈的原材料。
第四步,了解Java學(xué)習(xí)路線。
是的,到這里開始,了解Java學(xué)習(xí)路線才有意義。就像我們讀完了中學(xué),再考慮選擇專業(yè)才有意義。
學(xué)好了JavaSE基礎(chǔ),其實(shí)你什么都干不了,寫的程序也沒有任何用處,Java基礎(chǔ)知識(shí)需要和JavaWeb、前端、數(shù)據(jù)庫搭配再一起才能做出真正實(shí)用程序。
有誰剛?cè)胗變簣@就去考慮以后的發(fā)展路線的嗎?
第五步:自學(xué)還是報(bào)班,線下還是線上。
自學(xué):
1、學(xué)習(xí)周期: 從零基礎(chǔ)自學(xué)到能找工作,需要1到1.5年時(shí)間;
2、學(xué)習(xí)資源:買書,找視頻,對(duì)新手來說初期的資源很重要,最好有認(rèn)識(shí)的人給你,出現(xiàn)BUG要百度查,學(xué)習(xí)到了后期遇到問題會(huì)比較難搞,不要聽別人說什么很簡(jiǎn)單很容易之類的,他們都學(xué)過了當(dāng)然覺得很容易,我們要站在一個(gè)初學(xué)者的角度看問題。
3、個(gè)人能力:要求個(gè)人自制力非常強(qiáng)或者非常的感興趣,否則大部分人都會(huì)在初學(xué)2個(gè)月左右放棄;
如果能自學(xué)成功,那你真的很厲害,這么長(zhǎng)時(shí)間的堅(jiān)持,首先對(duì)基礎(chǔ)的掌握比培訓(xùn)出來的人要好一些,自學(xué)需要一個(gè)一個(gè)知識(shí)點(diǎn)去查的話;可以養(yǎng)成很好的糾錯(cuò)自查習(xí)慣,對(duì)一般問題的處理能力比培訓(xùn)生高很多;
報(bào)班:
1、學(xué)習(xí)周期:零基礎(chǔ)到能找工作,4-6個(gè)月時(shí)間。
2、培訓(xùn)機(jī)構(gòu)會(huì)提供所有的學(xué)習(xí)資源,學(xué)習(xí)中遇到的問題也有老師和助教隨時(shí)解答。
3、在系統(tǒng)性的學(xué)習(xí)下,大多數(shù)人是可以順利畢業(yè)的,在1-3個(gè)月內(nèi)找到工作。
4、由于是被動(dòng)學(xué)習(xí),沒有養(yǎng)成糾錯(cuò)自查的習(xí)慣,自學(xué)能力相對(duì)不足,在工作中會(huì)有一段時(shí)間壓力比較大。
5、學(xué)員年齡區(qū)間:16-30歲。
16-20歲。這個(gè)階段要么是正在上高中或?qū)??,要么已?jīng)工作了,部分同學(xué)可能是不喜歡自己的專業(yè),或者??飘厴I(yè)后出來找到的工作比較苦,或者家庭的原因,所以有想法的同學(xué)都想改變,培訓(xùn)可以給他們一條很好的入行道路,所以這部分學(xué)員占我們招收學(xué)員的一部分;
20-24歲。這個(gè)階段的同學(xué):一部分是大學(xué)即將畢業(yè)的學(xué)生,因?yàn)樵趯W(xué)校沒有很好的學(xué)習(xí)編程知識(shí)或者不是與IT相關(guān)的專業(yè),找工作時(shí),缺乏一個(gè)系統(tǒng)培訓(xùn),無法獨(dú)立做出項(xiàng)目或者什么都不會(huì),又想提高自己,所以報(bào)名可以給他們一個(gè)快速提高自己的機(jī)會(huì)。
24-30歲。這部分同學(xué)大多數(shù)都已經(jīng)工作,當(dāng)然有博士生除外。這些同學(xué),在經(jīng)歷了一段時(shí)間的工作后,會(huì)被IT行業(yè)的高薪所吸引,或者種種原因,想轉(zhuǎn)行到IT行業(yè)來,但是苦于沒有基礎(chǔ),或者基礎(chǔ)很差,沒有實(shí)戰(zhàn),加上自學(xué)又沒有很好的定力。這樣的同學(xué),報(bào)名培訓(xùn)班就是一條非常好的路子,可以在短時(shí)間內(nèi)培養(yǎng)出符合工作要求的技能。
線下培訓(xùn):
1、學(xué)生的自覺性。對(duì)于缺乏學(xué)習(xí)自覺性的同學(xué),不得不選擇花比在線教育更多的金錢選擇線下培訓(xùn)。因?yàn)槔蠋熆梢云鸬奖O(jiān)督作用。
2、感情的互動(dòng)。人是社交動(dòng)物,所以需要通過社交去和其他人建立信任,從而建立感情,有了這個(gè)基礎(chǔ),學(xué)生就比較容易對(duì)老師的要求做到言聽計(jì)從。這方面,目前在線教育確實(shí)也難以做到。
3、 學(xué)習(xí)到的專業(yè)性。面對(duì)面的教學(xué),會(huì)比自己學(xué)習(xí)記憶更深刻,更系統(tǒng)、更專業(yè)。
4、學(xué)習(xí)成本高(直接經(jīng)濟(jì)成本約4萬元左右),時(shí)間和空間上不自由。
線上培訓(xùn):
1、經(jīng)濟(jì)上極大減輕了負(fù)擔(dān),直接經(jīng)濟(jì)成本甚至只有線下培訓(xùn)的1/3,這對(duì)于很多學(xué)習(xí)者來說,可以說是一件莫大的好事。
2、時(shí)間和空間上自由,甚至可以一邊工作一邊培訓(xùn),只需一臺(tái)電腦一根網(wǎng)線,就可以隨時(shí)隨地登陸在線教育平臺(tái)學(xué)習(xí)。應(yīng)該說提高了學(xué)習(xí)效率。
3、在線教育獨(dú)有的錄播課程,可以幫助學(xué)生節(jié)省大量時(shí)間,時(shí)間就是生命,這在快節(jié)奏的今天意義尤其重大。上培訓(xùn)班難免因?yàn)槠渌蛩貢?huì)被很多廢話或者無意義的事情浪費(fèi)很多時(shí)間,而對(duì)于錄播視頻,完全可以避免浪費(fèi)時(shí)間的情況出現(xiàn)。
一:學(xué)會(huì)如何讀一個(gè)JavaWeb項(xiàng)目源代碼 步驟:表結(jié)構(gòu)-web.xml-mvc-db-spring
ioc-log- 代碼
1、先了解項(xiàng)目數(shù)據(jù)庫的表結(jié)構(gòu),這個(gè)方面是最容易忘記 的,有時(shí)候我們只顧著看每一個(gè)方法是怎么進(jìn)行的,卻沒
有去了解數(shù)據(jù)庫之間的主外鍵關(guān)聯(lián)。其實(shí)如果先了解數(shù)據(jù) 庫表結(jié)構(gòu),再去看一個(gè)方法的實(shí)現(xiàn)會(huì)更加容易。
2、然后需要過一遍web.xml,知道項(xiàng)目中用到了什么攔
截器,監(jiān)聽器,過濾器,擁有哪些配置文件。如果是攔截 器,一般負(fù)責(zé)過濾請(qǐng)求,進(jìn)行AOP 等;如果是監(jiān) 可能是定時(shí)任務(wù),初始化任務(wù);配置文件有如使用了 spring
后的讀取mvc 相關(guān),db 相關(guān),service 相關(guān),aop 相關(guān)的文件。
3、查看攔截器,監(jiān)聽器代碼,知道攔截了什么請(qǐng)求,這
個(gè)類完成了怎樣的工作。有的人就是因?yàn)槿鄙倭诉@一步, 自己寫了一個(gè)action,配置文件也沒有寫錯(cuò),但是卻怎么
調(diào)試也無法進(jìn)入這個(gè)action,直到別人告訴他,請(qǐng)求被攔
4、接下來,看配置文件,首先一定是mvc相關(guān)的,如 springmvc
中,要請(qǐng)求哪些請(qǐng)求是靜態(tài)資源,使用了哪些 view 策略,controller 注解放在哪個(gè)包下等。 然后是db 相關(guān)配置文件,看使用了什么數(shù)據(jù)庫,使用了
什么orm框架,是否開啟了二級(jí)緩存,使用哪種產(chǎn)品作 為二級(jí)緩存,事務(wù)管理的處理,需要掃描的實(shí)體類放在什 么位置。最后是spring 核心的ioc
功能相關(guān)的配置文件, 知道接口與具體類的注入大致是怎樣的。當(dāng)然還有一些如 apectj 置文件,也是在這個(gè)步驟中完成
5、log
相關(guān)文件,日志的各個(gè)級(jí)別是如何處理的,在哪些 地方使用了log 記錄日志
6、從上面幾點(diǎn)后知道了整個(gè)開源項(xiàng)目的整體框架,閱讀 每個(gè)方法就不再那么難了。
7、當(dāng)然如果有項(xiàng)目配套的開發(fā)文檔也是要閱讀的。
零基礎(chǔ)學(xué)習(xí)java可按照這份大綱來進(jìn)行學(xué)習(xí)
第一階段:Java專業(yè)基礎(chǔ)課程
階段目標(biāo):
1. 熟練掌握J(rèn)ava的開發(fā)環(huán)境與編程核心知識(shí)
2. 熟練運(yùn)用Java面向?qū)ο笾R(shí)進(jìn)行程序開發(fā)
3. 對(duì)Java的核心對(duì)象和組件有深入理解
4. 熟練應(yīng)用JavaAPI相關(guān)知識(shí)
5. 熟練應(yīng)用JAVA多線程技術(shù)
6. 能綜合運(yùn)用所學(xué)知識(shí)完成一個(gè)項(xiàng)目
知識(shí)點(diǎn):
1、基本數(shù)據(jù)類型,運(yùn)算符,數(shù)組,掌握基本數(shù)據(jù)類型轉(zhuǎn)換,運(yùn)算符,流程控制。
2、數(shù)組,排序算法,Java常用API,類和對(duì)象,了解類與對(duì)象,熟悉常用API。
3、面向?qū)ο筇匦?,集合框架,熟悉面向?qū)ο笕筇匦?,熟練使用集合框架?/p>
4、IO流,多線程。
5、網(wǎng)絡(luò)協(xié)議,線程運(yùn)用。
第二階段:JavaWEB核心課程
階段目標(biāo):
1. 熟練掌握數(shù)據(jù)庫和MySQL核心技術(shù)
2. 深入理解JDBC與DAO數(shù)據(jù)庫操作
3. 熟練運(yùn)用JSP及Servlet技術(shù)完成網(wǎng)站后臺(tái)開發(fā)
4. 深入理解緩存,連接池,注解,反射,泛型等知識(shí)
5. 能夠運(yùn)用所學(xué)知識(shí)完成自定義框架
知識(shí)點(diǎn):
1、數(shù)據(jù)庫知識(shí),范式,MySQL配置,命令,建庫建表,數(shù)據(jù)的增刪改查,約束,視圖,存儲(chǔ)過程,函數(shù),觸發(fā)器,事務(wù),游標(biāo),建模工具。
2、深入理解數(shù)據(jù)庫管理系統(tǒng)通用知識(shí)及MySQL數(shù)據(jù)庫的使用與管理。為Java后臺(tái)開發(fā)打下堅(jiān)實(shí)基礎(chǔ)。Web頁面元素,布局,CSS樣式,盒模型,JavaScript,jQuery。
3、掌握前端開發(fā)技術(shù),掌握jQuery。
4、Servlet,EL表達(dá)式,會(huì)話跟蹤技術(shù),過濾器,F(xiàn)reeMarker。
5、掌握Servlet相關(guān)技術(shù),利用Servlet,JSP相關(guān)應(yīng)用技術(shù)和DAO完成B/S架構(gòu)下的應(yīng)用開發(fā)。
6、泛型,反射,注解。
7、掌握J(rèn)AVA高級(jí)應(yīng)用,利用泛型,注解,枚舉完成自己的CRUD框架開發(fā)為后續(xù)框架學(xué)習(xí)做鋪墊。
8、單點(diǎn)登錄,支付功能,項(xiàng)目整合,分頁封裝熟練運(yùn)用JSP及Servlet核心知識(shí)完成項(xiàng)目實(shí)戰(zhàn)。
第三階段:JavaEE框架課程
階段目標(biāo):
1. 熟練運(yùn)用Linux操作系統(tǒng)常見命令及完成環(huán)境部署和Nginx服務(wù)器的配置
2. 熟練運(yùn)用JavaEE三大核心框架:Spring,SpringMVC,MyBatis
3. 熟練運(yùn)用Maven,并使用SpringBoot進(jìn)行快速框架搭建
4. 深入理解框架的實(shí)現(xiàn)原理,Java底層技術(shù),企業(yè)級(jí)應(yīng)用等
5. 使用Shiro,Ztree和Spring,SpringMVC,Mybaits完成企業(yè)項(xiàng)目
知識(shí)點(diǎn):
1、Linux安裝配置,文件目錄操作,VI命令,管理,用戶與權(quán)限,環(huán)境部署,Struts2概述,hiberante概述。
2、Linux作為一個(gè)主流的服務(wù)器操作系統(tǒng),是每一個(gè)開發(fā)工程師必須掌握的重點(diǎn)技術(shù),并且能夠熟練運(yùn)用。
3、SSH的整合,MyBatis,SpringMVC,Maven的使用。
4、了解AOP原理,了解中央控制器原理,掌握MyBatis框架,掌握SSM框架的整合。
5、Shiro,Ztree,項(xiàng)目文檔,項(xiàng)目規(guī)范,需求分析,原型圖設(shè)計(jì),數(shù)據(jù)庫設(shè)計(jì),工程構(gòu)建,需求評(píng)審,配置管理,BUG修復(fù),項(xiàng)目管理等。
6、獨(dú)立自主完成一個(gè)中小型的企業(yè)級(jí)綜合項(xiàng)目的設(shè)計(jì)和整體架構(gòu)的原型和建模。獨(dú)立自主完成一個(gè)大型的企業(yè)級(jí)綜合項(xiàng)目,并具備商業(yè)價(jià)值