新手如何學習Java——Java學習路線圖

来源:http://www.cnblogs.com/aishangJava/archive/2017/09/02/7465696.html
-Advertisement-
Play Games

怎麼學習Java,這是很多新手經常會問我的問題,現在我簡單描述下一個Java初學者到就業要學到的一些東西: 首先要明白Java體系設計到得三個方面:J2SE,J2EE,J2ME(KJAVA)。J2SE,Java 2 Platform Standard Edition,我們經常說到的JDK,就主要指的 ...


怎麼學習Java,這是很多新手經常會問我的問題,現在我簡單描述下一個Java初學者到就業要學到的一些東西:

首先要明白Java體系設計到得三個方面:J2SE,J2EE,J2ME(KJAVA)。J2SE,Java 2 Platform Standard Edition,我們經常說到的JDK,就主要指的這個,它是三者的基礎,屬於桌面級應用開發,這部分如果學得好很容易拓展J2EE和J2ME。J2ME,The Micro Edition of the java 2 Platform。主要用於嵌入式Java,如手機,PDA等等。J2EE,Java 2 Platform,Enterprise Edition,就是所謂的企業級Java,適合企業的大型應用開發。

J2SE:

新手最初學習的時候先要從J2SE開始學起,所包含的內容主要分為:面向對象概念的理解、Java基本語法的學習,Java桌面圖形界面應用程式的開發,掌握常用的Java API等(關鍵是要學會怎樣查閱)。

重點:Java基本語法(迴圈結構,數據類型,數組,運算符等)、Swing,awt,事件機制、文件輸入輸出流處理等

難點:面向對象思想的理解(介面、類等)、線程、socket網路編程等

視頻教程推薦:孫鑫的Java基礎視頻教程、張孝祥的Java基礎視頻教程,講的都很細,而且這兩位老師在教學方面都有很好的經驗。

J2EE:

在學習了J2SE之後,你可以嘗試著慢慢過渡到J2EE,當然,學習J2EE海需要很多非JAVA技術的支撐,比如資料庫技術,網頁編程技術等等,待會我會詳細介紹這兩方面的內容。J2EE有三個必學的框架,如果你說你學了J2EE,但又不會這三個框架的話,那會讓人笑掉大牙,這三個框架分別是Struts、spring和hibernate,雖然這三個框架應用很廣,但不代表這三個框架就代表了J2EE,J2EE還有很多其他的東西,比如EJB,作為一款重量級(此重量級不是指重量級選手那個意思,此重量級非彼重量級)框架,雖然這個應用慢慢的再被其他框架所取代,但EJB3.0的出現也給它帶回一些生機,作為一個分散式應用的框架,也是大家要去學習和瞭解的知識。

當然,剛纔說到J2EE包含的範圍很廣,即使我把我所瞭解的所有技術說出來,也並不能代表J2EE,這是一個很深很廣的學問,需要大家以後再工作的時候慢慢去發現了。我所瞭解的還包括:

JDBC:Java資料庫連接對象,基礎中的基礎,Hibernate也只是對它的封裝而已 JNDI: Java 命名與目錄介面,J2EE重要規範之一

EJBS: 上面已經提到過了

RMI: 提供遠程調用方法的支持,主要用於程式分散式開發

JMS: Java消息服務,中間件技術

JAVA IDL: 提供J2EE平臺與CORBA交互能力和互聯能力的技術

JTS: 組件事務監視器

JTA: 事務劃分的一個技術

JAVAMAIL: Java中的郵件技術

JAF: Java啟動框架,沒研究過

Log4j,一款日誌處理的框架應用

Junit:單元測試的好幫手

freemarker、velocity:兩款不錯的模板引擎

與Flash的交互Flex:目前很多的SNS應用就是使用到了這個技術

Web services:想知道我們論壇天氣預報的效果是怎麼做的嗎?請關註這個技術 SOA:面向服務架構,未來技術發展的趨勢之一

……

不過前面介紹到得這些都不是J2EE的基礎,是屬於框架應用級別的.要真正把上面說到的知識掌握好,還是的學習J2EE最核心的東西:JDBC、JSP、servlet和JavaBean,後面三個也是學習SSH的基礎(Struts\Spring\Hibernate的簡稱).鑒於J2EE的內容太過複雜,建議大家最初只學習: JSP,servlet和JavaBean,等這個基礎掌握好再把SSH學習了,再對其他J2EE技術有個大致的瞭解就可以出去找工作了。當然,找工作的前提除了把Java學習好,還會有一些其他的技術也是必須要掌握的。

-_- 我很簡單,Java卻要求我學這麼多複雜的東西。除了這些技術的東西,在這階段,大家更多的是會接觸到比如設計模式的東西,比如工廠模式、橋梁模式、單例模式等等,還要學習建模思想(比如UML建模等等)和軟體生命周期等等。這些是升華大家編程思想的手段和途徑。

資料庫技術:

資料庫幾乎是程式中不可或缺的一部分,在整個軟體開發中更是占據了重要作用.資料庫在整個軟體中扮演的是地基的角色,你要修房子,就要先打好地基,你要做軟體,就要先設計好的資料庫.目前資料庫幾乎都是關係型資料庫,代表的有: SQL Server/MySQL---不建議學這個沒有多大意義。

Oracle.甲骨文公司的產品,大型資料庫,正版的一般公司買不起.只有看看了,不過現在Java開發60%都是會使用到這個資料庫,再加上現在甲骨文已經把sun公司收購了,JAVA和oracle得關係更加曖昧,各位得多花些時間在這上面了.

除了這些,你還應該瞭解一些桌面應用軟體開發用到的資料庫,比如說sqlite。你在製作安裝程式的時候可以把這個資料庫打包進你的安裝程式。

網頁編程基礎:

網頁編程基礎要學的內容也比較多,但主要集中在以下這三個技術之上,大家每天看的各種樣式的網頁都是它們呈現的:

HTML:超文本標記語言

CSS:層疊樣式表

JavaScript:瀏覽器客戶端腳本語言

現在更是流行各種javascript庫,比如:jQuery、ExtJs等,你要是會其中的某一個庫的使用,找工作so easy。

J2ME:

如果你在學習了以上技術還不過癮,可以再學習手機程式的開發,就我個人看來,開發手機程式技術其實蠻簡單的,難點在於優化,比如怎麼讓你寫的程式儘量的節約手機資源,“代碼誠可貴,手機價更高“,所以不得不比PC機多考慮很多成本和實用性問題。J2ME的學習的話,切忌不要單純的再模擬器上測試,一定要找真機測試,真機和模擬器的效果之間差別是很大的。更多手機開發技術,有興趣的朋友可以和我一起探討。

開發工具:

開發工具的選擇主要還是看大家的習慣,我個人比較喜歡使用eclispe,功能很強大,也很好拓展其他的功能。當讓初學你也可以選擇JCreator,或者最好就直接用記事本。等你熟悉了Java代碼之後,就可以使用JBuilder、eclispe或者netbeans這一類的工具了。

先說到這裡先,以後大家一起完善這個帖子。儘量再給大家整理一些學習的資源在這裡。也歡迎大家一起整理我文章中提到的一些技術資源和開發工具。最後,再和大家分享一句話:生命欣欣向榮,唯奮鬥不息。

Java學習交流QQ群:523047986  禁止閑聊,非喜勿進!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、關於EF跟新資料庫更新指定欄位的設置 在EF提交到資料庫的時候或許某些欄位不想更新、或者自己更新一個模型到資料庫去! 1、更新數據不更新一些欄位 /// <summary> /// 資料庫指定更新欄位 /// </summary> [HttpGet] public HttpResponseMes ...
  • 關於C#委托和Lambda表達式 ...
  • 教學設計: 一、 課程基本情況 1.課程目標 1) 項目開發“通訊錄管理系統”;(分析和維護現有系統) 2)項目開發“農業大棚監控系統”;(自主完成同步項目(1)) 3) 項目開發“餐廳管理系統”;(專用周) WINDOWS基礎及應用技術 WINDOW及WPF標準控制項和組件 資料庫應用項目實踐 數據 ...
  • 回到目錄 在DotNetCore出來之後,同時也使用了quartz進行調度中心的設計,將它做到docker里方便部署,在之前的quartz版本里支持配置文件的方式,而現在不支持了,我們應該去想一下,為什麼不去支持配置文件?當然大叔也為配置文件設計了支持的方式,但我們還是應該想想作者為什麼不去支持配置 ...
  • 參照及推薦博客:伍華聰 http://www.cnblogs.com/wuhuacong/archive/2009/07/07/1518346.html http://www.cnblogs.com/wuhuacong/p/3560685.html 這篇文章介紹了作者軟體的開發及成長歷程,作者在十幾 ...
  • 從網上搜索一大堆,套路幾乎相同,但自己就是不行,怎麼也不行,為什麼不行呢?不行的話別人肯定不來坑博友了呀。然後放了一會,去拿下午茶回來,再次來看,恍然大悟,What?這麼簡單。 一開始代碼如下: helper.GetConnectionString(schoolStr);//獲取當前連接字元串 us ...
  • ggplot2是用於繪圖的R語言擴展包。圖形組件通過“+”符號, 以圖層(layer)的方式來完成圖形語法疊加,構成最終的繪圖, 每個圖層中的圖形組件可以分別設定數據、映射或其他相關參數, 因此組件之間具有相對獨立性的,可以單獨對圖層進行修改。 一、ggplot2基本語法 表示映射數據的標度。aes ...
  • 在第一篇和第二篇文章中寫的編寫Django視圖時,使用的都是基於函數的方法,並且每個視圖函數之前都會加一個django-rest-framework帶的裝飾器@api_view。然後在第三篇文章,我們就開始把基於函數的視圖改成了基於類的視圖,然後發現這樣做視圖部分減少了很多代碼量。 在這一篇文章中,... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...