java使用教程,java新手編程入門

大家好,關(guān)于java使用教程很多朋友都還不太明白,今天小編就來為大家分享關(guān)于java新手編程入門的知識,希望對各位有所幫助!怎么樣才能學(xué)好java編程不扯那些虛的,要來...
大家好,關(guān)于java使用教程很多朋友都還不太明白,今天小編就來為大家分享關(guān)于java新手編程入門的知識,希望對各位有所幫助!
怎么樣才能學(xué)好java編程
不扯那些虛的,要來就來實(shí)質(zhì)性的干貨。
明確自己學(xué)習(xí)的原因問問自己是抱著什么目的要學(xué)習(xí)Java,沒有目標(biāo)的學(xué)習(xí)是效率極低的,并且容易半途而廢;
了解Java可以做什么,Java可以從事的崗位以及軟件行業(yè)的發(fā)展情況;
自己是否對Java方向感興趣;
Java基礎(chǔ)學(xué)習(xí)準(zhǔn)備
推薦看視頻入門,可以通過某寶以及某魚購買相關(guān)的視頻,別挑三揀四,選中一個(gè)視頻看完再說,對于初學(xué)者,無論選哪一個(gè)都是值得你學(xué)習(xí)的??梢赃x擇傳智、黑馬、尚學(xué)堂等教學(xué)視頻,買一個(gè)系列的即可;
有人說編輯器等IDE環(huán)境不適合看視頻,浪費(fèi)時(shí)間,但是初學(xué)者在學(xué)習(xí)第一個(gè)編程IDE時(shí),推薦看視頻或者通過搜索引擎了解工具的使用,看書其實(shí)在剛開始可能更浪費(fèi)時(shí)間;
看完基礎(chǔ)視頻對知識有個(gè)大概的了解,這時(shí)候看書就不會(huì)一頭霧水,此時(shí)可以通過看書來深入學(xué)習(xí),之后的學(xué)習(xí)可以自己選擇看書還是看視頻,最好的方法是花時(shí)間既看視頻也看書;
學(xué)著學(xué)著忘掉前面的別總想著回頭記住,先往后學(xué),有些基礎(chǔ)知識暫時(shí)用不上,當(dāng)你學(xué)到應(yīng)用的知識時(shí)自然會(huì)慢慢理解;
書籍推薦
入門書籍:《HeadFirstJava》、《Java核心技術(shù)》
進(jìn)階書籍:《Java編程思想》
JavaWeb學(xué)習(xí)完Java基礎(chǔ),接著適合學(xué)習(xí)JavaWeb,這個(gè)推薦看視頻,學(xué)習(xí)數(shù)據(jù)庫和JDBC基礎(chǔ)知識以及基本的前端知識,然后學(xué)習(xí)SSM框架,學(xué)習(xí)路線為:
Mysql->JDBC->HTML、CSS、JavaScript、JSP->Spring->SpringMVC->Mybatis->SSM整合->SSM項(xiàng)目實(shí)戰(zhàn)
推薦兩本書:
《深入分析javaweb技術(shù)內(nèi)幕》
《架構(gòu)探險(xiǎn)-從零開始寫javaweb框架》:講解ioc、aop通俗易懂,實(shí)現(xiàn)ioc、aop
實(shí)戰(zhàn)之后返回深入學(xué)習(xí)Java相關(guān)知識,自頂向下學(xué)習(xí),通過大概學(xué)習(xí)基礎(chǔ),實(shí)戰(zhàn)之后返回深入學(xué)習(xí)基礎(chǔ)知識,由廣至深。
并發(fā)編程推薦書籍:
《Java并發(fā)編程的藝術(shù)》
設(shè)計(jì)模式《HeadFirst設(shè)計(jì)模式》
JVM《深入理解Java虛擬機(jī)》
要想超越別人,不僅僅要掌握實(shí)戰(zhàn)技能,更重要的是基礎(chǔ)扎實(shí)
算法《算法》第4版
計(jì)算機(jī)網(wǎng)絡(luò)《圖解TCP/IP》
《圖解HTTP》
操作系統(tǒng)《操作系統(tǒng)概念》(恐龍書)
這么多已經(jīng)夠你學(xué)習(xí)了,主要是行動(dòng)起來,還有更深入的,比如數(shù)據(jù)庫方面以及Java相關(guān)的方面,等你學(xué)完以上知識相信你自己已經(jīng)知道需要學(xué)習(xí)什么了,不要一次被這么多內(nèi)容嚇到,只要靜下心來,下一個(gè)大神就是你。
附上一張可供參考的詳細(xì)思維導(dǎo)圖想學(xué)Java,應(yīng)該如何入門有哪些需要注意的問題
Java是目前軟件研發(fā)領(lǐng)域使用比較普遍的開發(fā)語言之一,Java涉及到的開發(fā)領(lǐng)域也比較廣泛,目前的發(fā)展趨勢也不錯(cuò)。學(xué)習(xí)Java編程需要一個(gè)系統(tǒng)的過程,雖然Java語言本身并不復(fù)雜,但是Java涉及到的內(nèi)容比較多,所以需要有一個(gè)詳細(xì)的學(xué)習(xí)計(jì)劃。
我的很多研究課題和項(xiàng)目都是使用Java實(shí)現(xiàn)的,所以Java一直是我使用的重要語言工具之一,從動(dòng)態(tài)軟件體系結(jié)構(gòu)到云計(jì)算、大數(shù)據(jù)、人工智能,這些研究方向我都使用Java做過實(shí)現(xiàn)。下面以我的使用經(jīng)驗(yàn)來說,給初學(xué)者一個(gè)學(xué)習(xí)建議。
Java學(xué)習(xí)第一步需要清晰面向?qū)ο蟮母拍?,理解并掌握面向?qū)ο蟮拈_發(fā)過程。這其中比較重要的概念包括類、對象、屬性、方法,以及面向?qū)ο笳Z言的三大特征:封裝、繼承、多態(tài)。掌握面向?qū)ο笳Z言的開發(fā)步驟:類的定義、對象的創(chuàng)建、方法的調(diào)用,能獨(dú)自完成驗(yàn)證試驗(yàn)。這個(gè)階段的學(xué)習(xí)要把抽象的概念模型化,能通過簡單的實(shí)驗(yàn)來驗(yàn)證對概念的理解,能完成一個(gè)簡單的小應(yīng)用,比如一個(gè)計(jì)算器等。關(guān)于這部分的內(nèi)容細(xì)節(jié)可以關(guān)注我,并查看我在頭條上寫的java系列文章,這里就不一一描述。
接下來要學(xué)習(xí)Java操作數(shù)據(jù),這個(gè)步驟是進(jìn)行Java深入學(xué)習(xí)的第一步,畢竟大量的Java程序都是以管理和分析數(shù)據(jù)為主。這部分內(nèi)容涉及到數(shù)據(jù)庫的學(xué)習(xí),掌握一個(gè)數(shù)據(jù)庫產(chǎn)品的使用細(xì)節(jié),能熟練完成Sql語句的編寫。接下來就是掌握J(rèn)DBC的使用,掌握J(rèn)ava操作數(shù)據(jù)庫的步驟:加載驅(qū)動(dòng)、創(chuàng)建連接、創(chuàng)建容器、執(zhí)行sql語句、遍歷結(jié)果集、關(guān)閉資源,能獨(dú)立完成這一系列操作。接下來能針對數(shù)據(jù)庫操作步驟進(jìn)行性能優(yōu)化,包括使用PreparedStatement、CallableStatement、ConnectionPool,能使用DAO結(jié)構(gòu)完成數(shù)據(jù)庫操作的模塊化劃分,關(guān)于DAO部分的詳細(xì)內(nèi)容可以參考我之前的文章。
下一步學(xué)習(xí)Java分布式開發(fā),從RMI開始學(xué)習(xí)。掌握RMI的編程步驟:接口的定義、服務(wù)類的實(shí)現(xiàn)、客戶端的實(shí)現(xiàn),了解RMI的執(zhí)行流程和規(guī)范細(xì)節(jié)。能使用RMI+JDBC完成一個(gè)三層結(jié)構(gòu)的開發(fā)。當(dāng)然,這部分內(nèi)容掌握之后,如果有精力可以繼續(xù)研究JMS技術(shù)。
接著就是開始學(xué)習(xí)JavaWeb編程和開源框架,這部分內(nèi)容是Java的重點(diǎn)內(nèi)容,也是細(xì)節(jié)比較多的部分。javaWeb涉及到Servlet、JSP、JavaBean以及一些前端開發(fā)的內(nèi)容,包括html、css、JavaScript。能使用MVC結(jié)構(gòu)完成一個(gè)Web應(yīng)用的開發(fā),理解每個(gè)組成部分的具體功能和職責(zé),清晰編程的步驟。這部分的細(xì)節(jié)可以參考我在頭條上寫的javaWeb文章。
Java學(xué)習(xí)的路線比較重要,同時(shí)也要邊學(xué)邊用,多做實(shí)驗(yàn)。如果大家在學(xué)習(xí)java過程中遇到什么具體問題,可以咨詢我。
零基礎(chǔ)的人如何學(xué)習(xí)Java
首先需要說明的是,作為零基礎(chǔ)的初學(xué)者而言,學(xué)習(xí)Java并不是很容易,需要很大的毅力。
Java學(xué)習(xí)是一個(gè)漫長的過程,涉及到的內(nèi)容非常多,簡單的網(wǎng)頁制作,簡單的js腳本,數(shù)據(jù)庫,各種常用的框架等等。
當(dāng)然,我一直的觀點(diǎn)就是:興趣是最好的老師,如果你真心熱愛編程,以編程為樂,那么想要學(xué)成一門語言,并不是一件難事。
自學(xué)還是培訓(xùn)學(xué)習(xí)Java,可以報(bào)培訓(xùn)班也可以自學(xué)。
很多人不推薦培訓(xùn),個(gè)人持中立態(tài)度。因?yàn)榕嘤?xùn)就和我們上學(xué)一樣,有人帶著學(xué)習(xí)自然好。
但是我們要明白,學(xué)習(xí)永遠(yuǎn)都是自己的事,如果課后不用功什么都是白搭,自律非常重要。
因此個(gè)人的建議是,如果有條件的話,可以選擇去培訓(xùn),這樣學(xué)成的概率會(huì)高些。
如果條件一般的可以選擇自學(xué),只要你每天能堅(jiān)持去整,最后都可以獲得回報(bào),這是一定的。
Java學(xué)習(xí)路線自學(xué)Java是一個(gè)循序漸進(jìn)的過程,不要想著速成,認(rèn)真給自己制定一個(gè)學(xué)習(xí)計(jì)劃,能不能學(xué)成就看你的執(zhí)行力如何了。
Java的學(xué)習(xí),個(gè)人將其分為以下幾個(gè)階段:
1.JavaSE階段
2.JavaWeb基礎(chǔ)
3.SSH開發(fā)框架
4.其它開發(fā)框架
5.其它常用技術(shù)
第一階段:掌握J(rèn)avaSE
該階段是學(xué)習(xí)JavaEE的入門階段,也是基礎(chǔ)階段,每個(gè)零基礎(chǔ)的Java的學(xué)習(xí)者都必須掌握。
該階段推薦書籍:
《ThinkinginJava》《HeadFirstJava》
第二階段:JavaWeb基礎(chǔ)
學(xué)完JavaSE,緊接著我們就該學(xué)習(xí)JavaWeb,JavaWeb也是Java開發(fā)工程師必須掌握的內(nèi)容。
該階段推薦書籍:
《HeadFirst:ServletandJSP》《HeadFirstHTML與CSS》
第三階段:掌握SSH開發(fā)框架
SSH開發(fā)是Spring、Struts2和Hibernate框架的簡稱,也是主流的Java開發(fā)框架,它是每個(gè)JAVA開發(fā)者必學(xué)的內(nèi)容之一。
該階段推薦書籍:
《J2EEdevelopmentwithoutEJB》《JavaReflection》
第四階段:其它開發(fā)框架
MyBatis是一個(gè)支持普通SQL查詢、存儲(chǔ)過程和高級映射的優(yōu)秀持久層框架。SpringMVC是一個(gè)基于MVC的Web框架。SpringMVC是Spring框架的一個(gè)模塊。MyBatis和SpringMVC這兩個(gè)框架也是現(xiàn)在很公司在用的框架,所以JAVA學(xué)習(xí)者必須掌握。
該階段推薦書籍:
《Spring實(shí)戰(zhàn)(第4版)》
第五階段:其他常用技術(shù)
查看Java工程師崗位的要求你會(huì)發(fā)現(xiàn),企業(yè)除了要求掌握框架的使用外,還會(huì)對其它一些常用的技術(shù)有所要求,比如JAVA項(xiàng)目構(gòu)建工具maven,oracle數(shù)據(jù)庫,開源的全文搜索引擎Lucene,開源的搜索服務(wù)器solr,WebService,linux等技術(shù)。
想成為一名優(yōu)秀的JAVA開發(fā)者,這些技術(shù)都是我們必須掌握的。
該階段推薦書籍:
《Maven實(shí)戰(zhàn)》
學(xué)習(xí)方法小白學(xué)習(xí)Java的難點(diǎn)在于1,不知道學(xué)習(xí)重點(diǎn);2,找不到合適的資料。
其實(shí)這兩個(gè)問題,在上面的學(xué)習(xí)路線介紹中,已經(jīng)為大家解答了。學(xué)習(xí)的知識點(diǎn)就按照學(xué)習(xí)路線走就行。
關(guān)于學(xué)習(xí)資料,上面也列出了一些推薦書籍,此外,也可以到一些編程網(wǎng)站上看教程。
學(xué)習(xí)Java網(wǎng)站推薦:
W3Cschool、菜鳥教程,還有CSDN、博客園、開源中國這幾個(gè)國內(nèi)的網(wǎng)站都是不錯(cuò)的選擇。
當(dāng)然,如果英語好的話,stackoverflow也是不錯(cuò)的選擇。
讓我皮下打個(gè)廣告,
W3Cshcool,不僅有豐富的理論知識,還有實(shí)戰(zhàn)課程,讓你邊學(xué)邊實(shí)踐。
此外W3Cshcool還有移動(dòng)APP哦,讓你隨時(shí)隨地都能學(xué)習(xí)編程。
視頻網(wǎng)站:推薦慕課網(wǎng)、網(wǎng)易云課堂等等。
最后以上說了這么多,其實(shí)都只是給各位想要學(xué)習(xí)Java的童鞋一些建議。
學(xué)習(xí)的過程是比較枯燥的,很多人都在路途中逐漸放棄,因此,想要自學(xué)成功,恒心和毅力是必不可少。
自學(xué)java
“這是一篇完整的java程序員學(xué)習(xí)線路圖,一共分為六個(gè)階段。
我以java為例,展示完整的學(xué)習(xí)步驟。
希望對于想通過java自學(xué)的朋友有幫助。
java程序員學(xué)習(xí)線路流程第一步:Java語言基礎(chǔ)從最簡單的開始,helloworld開始Java之旅
1.編程基礎(chǔ)
常量與變量
數(shù)據(jù)類型
運(yùn)算符
流程控制語句
方法
數(shù)組
2.面向?qū)ο?/p>
面向?qū)ο笏枷?/p>
類與對象
成員變量和局部變量
封裝
this關(guān)鍵字
構(gòu)造方法
3.集合
集合概述
集合特點(diǎn)
ArrayList集合
HashMap集合
常用集合優(yōu)劣比較
4.輸入/輸出IO
字符輸入流
字符輸出流
字符緩沖輸入流
字符緩沖輸出流
復(fù)制文件
集合與文件中數(shù)據(jù)相互讀寫
5.練習(xí)階段
屬于你自己的helloword
第二步:java語言高級再結(jié)合java高級部分,里面的部分內(nèi)容,這個(gè)階段你不一定能理解很徹底。但有一點(diǎn),如果你今后想進(jìn)入高階俱樂部,這些內(nèi)容你必須掌握牢固。
舉個(gè)栗子,如果你面試通過進(jìn)入了公司,我一定會(huì)在早期仔細(xì)review你的代碼。代碼的功力是欺騙不了人的,不同人寫一個(gè)接口,呈現(xiàn)的結(jié)果也是千差萬別(所以才有了規(guī)范)。
1.面向?qū)ο?/p>
繼承
多態(tài)
重寫(Override)
重載(Overload)
封裝
接口
java包package
2.異常處理
異常概述
異常分類
異常處理方案
自定義異常
3.多線程
Java線程:概念與原理
Java線程:創(chuàng)建與啟動(dòng)
Java線程:多線程的實(shí)現(xiàn)方案
Java線程:線程生命周期
Java線程:線程池
Java線程:線程狀態(tài)的轉(zhuǎn)換
Java線程:線程的同步與鎖
Java線程:線程的交互等等
線程的幾個(gè)主要概念
在多線程編程時(shí),你需要了解以下幾個(gè)概念
線程同步
線程間通信
線程死鎖
線程控制:掛起、停止和恢復(fù)
4.輸入與輸出IO
文件和I/O
讀寫文件
Java流(Stream)
文件(File)
緩沖流
5.泛型(Generic)
泛型的使用場景
泛型類型
泛型方法
泛型通配符?
6.網(wǎng)絡(luò)編程
網(wǎng)絡(luò)機(jī)制
Socket原理機(jī)制
UDP、TCP傳輸?shù)?/p>
7.反射(reflection)
類加載機(jī)制原理
反射構(gòu)造方法、字段、方法
Properties配置文件
8.注解(annotation)
注解的使用和原理
三種內(nèi)置annotation
自定義annotation
注解類的反射調(diào)用
動(dòng)態(tài)代理類如何處理
9.Java高級特性和類庫
java類加載器classloader
java程序運(yùn)行的基礎(chǔ)知識,java編譯后的bytecode的整個(gè)運(yùn)行機(jī)制,這一點(diǎn)對應(yīng).net的IL(intermediatelanguage)。
理解Javanio,關(guān)于這一點(diǎn)網(wǎng)上有非常多的教程,這一條需要重點(diǎn)掌握,對于高并發(fā)的掌握很重要。
javajuc(java.util.concurrent)等等
10.JVM原理和調(diào)優(yōu)
JVM最重要的三個(gè)部分必須要非常清楚,內(nèi)存劃分、class加載機(jī)制以及GC策略。搞清楚這三部分不僅僅是為了面試,也是為了讓你對于Java有更深刻的理解,這對于你的Java生涯非常有幫助。
內(nèi)存劃分簡單說分為三個(gè)部分,YoungGeneration(年輕代)、OldGeneration(年老代)以及PermGeneration(永久代)。其中的YoungGeneration(年輕代),又分為Eden、From和To,其中From和To又統(tǒng)稱為SurvivorSpaces(幸存區(qū))。
關(guān)于classloader機(jī)制的學(xué)習(xí),可以結(jié)合tomcat去學(xué)習(xí),了解清楚tomcat的classloader機(jī)制,看tomcat是如何保證各個(gè)APP之間的類隔離的。如果可能的話,看一下tomcat中classloader的源碼,當(dāng)中也包含了與tomcat類加載機(jī)制相似的部分。
至于GC,需要清楚GCRoots都有哪些,以及如何判斷一個(gè)對象可以被回收。此外,GC的算法和策略也要有大概的了解。
第三步:javaweb階段1.前段技術(shù)掌握
html
css
js
jquery
bootstrap
2.動(dòng)態(tài)網(wǎng)頁技術(shù)
JavaServletAPI
Velocity
FreeMarker
JSP等常用模板引擎
比如,淘寶前端層使用的是velocity模板,部分公司采用jsp、freemarker等,基本類似。
3.linux服務(wù)器基本命令
在個(gè)階段,也可以結(jié)合自己的情況,學(xué)習(xí)linux系統(tǒng)底層原理。
第四步:java框架階段1.SSH(struts2+spring+hibernate)
2.SSM(springmvc+spring+mybatis)
備注:如果你仔細(xì),網(wǎng)上有部分叫SSI,I為ibatis,后來ibatis改名為mybatis了。
框架組合,我首推SSM,比SSH靈活強(qiáng)大。
框架的優(yōu)缺點(diǎn),我會(huì)再單獨(dú)寫文。
如果你還有興趣,可以自己搭建Lucene、solr框架,以及memcached/redis、activeMQ、hadoop等等搜索、分布式緩存、異步消息、數(shù)據(jù)等。
我一般建議自己搭建,從學(xué)習(xí)效果再到理解深度都不一樣。有興趣,就開始自己搭建。
第五步:開發(fā)工具階段1.web調(diào)試工具
firefox
firebug
webdeveloper
yslow
httpwatch
ietester等
這些都是開發(fā)必用。
2.集成開發(fā)工具
eclipse(首推),STS,myEclipse,Idea
eclipse里的插件太多,推薦幾個(gè)必裝插件:
JadClipse、run-jetty-run(很牛的熱部署調(diào)試)、veloctiy、freemarkerIDE、Subclipse、m2eclipse、mybatisEditor、EasyExplorer等等。
3.版本控制工具
svn、git(首推)
4.構(gòu)建工具
maven、nexus搭建maven私服
建議自己搭建一套nexusmaven私服,成為你們公司的代碼倉庫員。
5.java調(diào)試工具
jProfiler(性能跟蹤)
jClarity(性能監(jiān)控和日志分析)
Visualvm(性能分析和調(diào)優(yōu))等
優(yōu)知學(xué)院是IT人的進(jìn)階站,提供系統(tǒng)的互聯(lián)網(wǎng)產(chǎn)品&技術(shù)的入門指南以及進(jìn)階干貨。java的基礎(chǔ)知識包括哪些
1、java的基本語法(基本數(shù)據(jù)類型,運(yùn)算符,if條件判斷,循環(huán)語句)
2、面向?qū)ο笏枷耄ㄗ兞?、方法、類,封裝,繼承,多態(tài))
3、常用類(String,StringBuffer、StringBuilder字符串相關(guān)類,基本類型包裝類,Date、Calendar、DateFormat等日期相關(guān)類,異常機(jī)制和異常類,IO類)
4、MySQL數(shù)據(jù)庫(MySQL數(shù)據(jù)庫介紹,數(shù)據(jù)庫表、字段、字段類型,select、insert、update、delete語句,where條件查詢,聚合函數(shù):max、min、avg、count,排序、分組查詢,聯(lián)合查詢)
5、JDBC操作數(shù)據(jù)庫(JDBC介紹,JDBC操作數(shù)據(jù)庫,sql注入漏洞,編寫一個(gè)JDBCUtils事務(wù),批量提交如何獲得自動(dòng)增長列的值)
以前學(xué)習(xí)Java的時(shí)候,看的是“如鵬網(wǎng)”的《這樣學(xué)Java不枯燥》視頻教程,挺好玩的,課程體系的設(shè)置可以極大的激發(fā)對編程的興趣,快速入門,學(xué)起來不枯燥,適合初學(xué)者學(xué)習(xí)。
通過開發(fā)超級瑪麗,飛機(jī)大戰(zhàn),吃金幣,連連看,湯姆貓,電影的彈幕動(dòng)畫等來講解Java的知識點(diǎn),沒想到Java還可以這么學(xué),蠻有成就感的,口碑不錯(cuò),基本上都是慕名而去的,具體的可以到如鵬網(wǎng)官網(wǎng)上去了解一下,有問題隨時(shí)提問,老師實(shí)時(shí)在線答疑,視頻教程,課件,源碼等都是可以免費(fèi)下載的;
好了,文章到這里就結(jié)束啦,如果本次分享的java使用教程和java新手編程入門問題對您有所幫助,還望關(guān)注下本站哦!
本文鏈接:http://xinin56.com/ruanjian/2985.html