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