1. 程式人生 > >Java學習的四個階段

Java學習的四個階段

Java 的學習過程分為4個階段:理論階段、開發階段、進階階段以及實戰階段。


一、理論階段
在具體談論Java知識點之前,我想先跟同學們聊聊Java 語言自身的一些特點、生態系統以及適用的場景,這有助於我們更好的學習語言本身。

首先,我們從Java 語言自身的實現機制來聊聊Java 語言的一些特性:
面向物件:Java 是一門面向物件的程式語言,封裝、繼承、多型這些特性使得Java 語言適用於大型軟體系統的研發。

跨平臺:這是Java 最重要的特性之一,由於有虛擬機器的支援,Java 程式碼可以無縫執行在任何作業系統中,無需重新編譯;

透明記憶體管理:做C/C++的同學最頭疼的事情就是記憶體洩漏問題,在Java中,由於虛擬機器會自動回收不再使用的記憶體空間,所以程式設計師無需顯式回收記憶體。

足夠的效能:效能一直是Java為人詬病的問題之一,但是在java6 之後,隨著JVM虛擬機器編譯優化技術的不斷進步,垃圾回收演算法的不斷優化,Java的效能已經能夠勝任絕大多數系統的要求,甚至在效能要求極為苛刻的底層系統中,我們也能看到Java的身影。

此外,Java 還有完善的生態系統:Java 擁有數量眾多的第三方類庫,作為一個開發者,你會發現作為一名Java程式設計師是一件很幸福的事情,因為很多事情別人都已經幫你做好了,你需要做的只是把別人造好的輪子組裝起來,實現你的業務需求。

Java 擁有非常完善的開發環境Eclipse,集成了非常多實用的功能,且操作介面非常友好。

Java 有非常多優秀的框架,基於這些框架,可以快速開發出一個可擴充套件的業務系統。

Java 擁有非常活躍的社群和論壇,當你遇到問題的時候,你可以快速的得到其他人的幫助。

介紹了Java 的這些優勢,Java 到底適用在哪些系統研發中?
——Web系統
——移動應用服務端以及安卓客戶端開發
——中介軟體系統
——後端系統:例如大資料相關係統

在理論學習階段,同學們首先應該從Java的基礎語法開始學習,包括變數宣告、條件判斷、迴圈、函式編寫。此外,還應該瞭解Web相關的基礎知識,例如http協議、Web應用的B\S架構。資料庫是Java 應用系統不可或缺的持久化元件,在理論學習階段,需要學習SQL語法相關知識。

這裡有兩點小建議:

1、可以通過完成一些演算法題目,來鞏固Java語法學習的成果;
2、好記性不如爛筆頭:多做筆記,勤練習;


二、開發階段
經過理論階段的學習,你應該已經掌握了Java 基礎知識。進入開發階段,則需要掌握在日常實際Java專案開發過程中需要用到的一些技能。

首先工欲善其事,必先利其器,所以首先要熟練掌握Java的常用開發工具和開發環境。

Maven是目前大型公司常用的Java 夾包管理軟體,可以幫助開發者解決Java 夾包之間的依賴和版本管理。

Git作為程式碼倉庫管理軟體,可以幫助我們實現程式碼版本、分支管理。
Ecplise是目前Java使用最廣泛的開發環境,它集成了Maven、Git這些常用的外掛。

其次,知識學習方面,需要掌握面向物件的相關知識,例如類和物件的定義方法、如何實現物件的繼承、如何基於介面實現多型等;

Java容器在開發過程中也使用非常頻繁,包括List、Set、Map等,最好能夠了解每種容器的實現機制以及適用場景。

Web方面,同學們需要掌握Servlet程式設計,包括Servlt config、context編寫;

資料庫方面,同學們需要掌握JDBC,能夠基於JDBC實現資料庫的增、刪、改、查。

最後,聊聊這個階段的學習容易出現的誤區:

· 不要嘗試一次性通過編譯,遇到編譯錯誤,很多同學會很焦躁,實際上錯誤之間有依賴,解決一個錯誤,可能後面的錯誤就會自動解除,千萬不要被大量的錯誤嚇倒。

· 不要copy程式碼,我覺得程式設計師一個非常不好的習慣就是拷貝程式碼,尤其在入門階段,多嘗試親手敲程式碼。

· 注意程式設計規範:同學們要從程式碼學習開始,就注意程式設計規範,例如變數名定義規則、函式名定義規則,養成良好的程式設計習慣。


三、進階階段
掌握了基本的開發技能,進階階段則主要鍛鍊開發者在實際典型業務場景下,提高開發效率,解決實際問題的能力。

在Web基礎方面,要掌握Cookies和Session、轉發和重定向、過濾器、監聽器的相關知識;

資料庫方面,要學習資料庫連線池的使用方法,為什麼要使用資料庫連線池以及資料庫死鎖、資料庫SQL 注入相關概念。

在Java 語言方面,要開始學習Java 應用框架,例如mybatis、Spting,這些框架可以幫助我們更加高效的構建Java工程。

在框架學習過程中,我認為不僅要學習如何基於框架開發系統,更要注重框架自身設計思想,這對於開發者提升自己的程式碼架構能力是非常有幫助的。

在進階階段,要注意以下內容:

· 以問題為導向: Java 知識繁雜,以問題為導向,作為切入點,能夠提高Java 學習的效率;

· 特定場景下的需求解決:每一種架構都有典型的應用場景,要結合實際應用場景去分析和解決問題;

· 利用google:作為一名程式設計師,遇到未知問題是很正常的事情,關鍵利用好google,社群、論壇;

· 效能的持續改進和優化:在進階階段,同學們應該要具備基本的效能調優能力,關注效能管理;

四、實戰階段
計算機程式設計是一個非常注重實戰的領域,在Java學習過程中,必須要有一個實戰專案,來幫助大家鞏固之前的學習成果,這對於後續快速上手公司的實際業務有非常大的幫助。

你可以藉助一些雲平臺,來熟悉環境搭建部署的過程。

在實戰階段,應該重點關注以下幾點:

· 文件編寫:編寫詳細設計文件也是程式設計師必須具備的一項技能,要學習設計文件的編寫格式,編寫規範。

· 設計模式: 同學們在實戰階段,程式碼編寫時要注意設計模式,儘可能提高程式碼的可讀性、可重複使用性。
 

相關推薦

Java開發學習階段

在程式設計的世界裡,Java一直是企業級別開發最喜歡選擇的程式語言,從Java就業形勢來看,一直都是相當不錯的,而且由於手機安卓開發的需要,更多的年輕人開始轉戰Java的學習。同時,許多人也對java程式設計開發要學習哪些內容產生了疑惑,下面總結一下學習Java程式設計開發具

Java學習階段

Java 的學習過程分為4個階段:理論階段、開發階段、進階階段以及實戰階段。 一、理論階段 在具體談論Java知識點之前,我想先跟同學們聊聊Java 語言自身的一些特點、生態系統以及適用的場景,這有助於我們更好的學習語言本身。 首先,我們從Java 語言自身的實現機制來

學習Java分為幾階段,分別是什麽?

java hiberna 我不 參加 file類 循環 堆外 read 網絡 多年前我自學的時候是很茫然,上網問問題,總是一堆外行的人說很難啊,你需要這樣需要那樣,不然就是,一堆人說一些空話,多看多寫,買好書,我很無語,除了這些就沒有自己的一些想法嗎? 首先很多人認為學JA

突破這個階段年薪沒有50W,還好意思說是搞Java的?

我一直在強調,“程式猿DD”不僅僅有Java最前沿技術文章分享,還有很強學習的氛圍,粉絲也很活躍,最重要的,還有優質資源,今天給大家分享一波免費乾貨視訊資源,很全面,我將它起名為:“架構師成長之路” 該視訊教程總共分為四個階段來學習,逐步進階,而且還會不定期更新,我簡單介紹一下每個

突破這個階段月薪沒有50k,乾脆還是不要搞Java了?

很多同學在學Java前,常常問,學Java前景好麼?能不能找到工作啊?學Java的人那麼多,Java的就業形勢怎樣啊?本文浙江優就業的小U老師為大家集中掃盲一下。 據業內權威機構預測,2018年我國將新增上萬家IT企業,這些企業將強勢拉動IT人才的需求。而且現在80%網際網路公司基本都在使用Java,維

04-學習併發的階段並推薦學習併發的資料

併發的學習目標,其實目標是非常明確的,併發為什麼會遇到這麼多挑戰呢?無非就是它有這麼多的缺點 我們無非就是克服這些缺點之後,寫出能支撐大併發的應用就可以了。這就是我們的學習目標,當然了,對於問題的解決,需要有一定的解決問題的能力。   推薦的學習資料: 併發程式設計網

學習Java分為幾階段,分別是什麼?

第一階段: 1. JAVA語法和基礎,包括迴圈。。和類的相關內容,如實現,繼承什麼的 2. 你需要掌握幾個重點的集合,List介面的兩個子類LinkedList,ArrayList;然後是Map幾口的兩個子類HashMap,HashTable;Set介面 掌握List後學Set就容易了;掌握Collect

Linux 運維工程師學習成長路線上要經歷哪階段

之前曾看到一篇新聞,Linux之父建議大家找一份基於Linux和開源環境的工作。今天就來聊一聊我

騰訊首席架構師:Java程序員階段成長路線,少走彎路

一起 finalize ora blog 模塊 col 垃圾收集器 數據庫隔離級別 國際 有這麽一位Java大牛 他是前 Oracle 首席工程師,負責過北京Java核心類庫、國際化、分發服務等技術團隊的組建。大家都知道,Java 就是 Oracle 公司的,他對Java的

Java底層核心技術

來安 風格 生成 能夠 不同 本質 特定 pil 網絡 今天早起失敗,加上忙碌的一天加班工作,沒按計劃總結Java相關的技術,剛看到下面的文章總結的不錯,轉載一下。 Java有哪四個核心技術?首先,我們要了解一下java核心技術的重要性,它可以幫助我們舉一反三、觸類

Servlet生命周期的階段

列表 let 計數器 用戶 service 容器 回收 連接 結束 Servlet 生命周期可被定義為從創建直到毀滅的整個過程。以下是 Servlet 遵循的過程: Servlet 通過調用 init () 方法進行初始化。 init 方法被設計成只調用一次。它在第一次

Oracle startup的階段

轉移 acl pen rtu tro tar 數據庫 init 重建控制文件 shutdown->nomount->mount->open; 1、shutdown:數據庫關閉 2、nomount: 1)$ORACLE_HOME/dbs下找初始化參數文件

靈性領悟的階段-肯·威爾伯

而且 並不是 嘗試 在那 發展方向 都是 文字 發的 過去 靈性領悟的四個階段-肯·威爾伯 靈性上的修行主要分成四個階段:信仰、信心、直接的體悟和永不退轉的成就——你可以信仰神,你可以對神性有信心,你可以直接體悟到神,你也可以變成神。 一、信仰是靈修最初的

熊嘯鋒SEO系列:搜尋引擎演算法演變的階段揭祕

上一篇我分享了站群的玩法 SEO直到現在為止仍然是網路營銷領域非常重要的營銷手段之一,不管你的企業是做什麼的,或者你是個人創業,只要你學會了SEO之後,你就可以不花一塊錢,把你的關鍵詞排在搜尋引擎前面,獲得海量的精準目標客戶。 今天繼續分享搜尋引擎演算法的演變過

產品經理的階段(分享會筆記)

提筆畫流程,上馬定需求,進可穩迭代,退可跪開發。 我把產品經理分成四個階段: 1)產品執行&使用者體驗 2)產品架構&技術實現 3)產品決策&產品模型 4)產品格局&社會價值 第一階段:產品執行&使

RUP的階段

使用RUP過程開發軟體系統,軟體的生命週期分為以下幾個階段:起始階段;細化階段;構建階段;交付階段。每個階段結束於一個主要的里程碑(Major Milestones),在每個階段的結尾執行一次評估,以確定這個階段的目標是否已經滿足。如果評估結果令人滿意的話,可以允許專案進入下

2. 程式編譯的階段

0.引言 hello.c(源程式)是一條高階C語言程式,雖然它是以一種易讀的形式,讓人們容易理解。但是,它卻無法直接驅動硬體CPU直接執行。為了我們編寫的hello.c程式可以被執行,驅動硬體電路工作,hello.c程式必須經過一些列處理步驟,將源程式轉化為可

gcc編譯程式的階段(預處理-編譯-彙編-連結)

gcc的編譯流程分為四個步驟,分別為: ・ 預處理(Pre-Processing) ・ 編譯(Compiling) ・ 彙編(Assembling) ・ 連結(Linking) 下面就具體來檢視一下gcc是如何完成四個步驟的。 hello.c原始碼 #include

DHCP實驗過程階段

DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一個區域網的網路協議,使用UDP協議工作, 主要有兩個用途:給內部網路或網路服務供應商自動分配IP地址,給使用者或者內部網路管理員作為對所有計算機作中央管理的手

分析MHA的manager.log檢視failover的階段

MHA  failover5個階段: * Phase 1: Configuration Check Phase.. 檢查配置檔案,選候選slave為新的master * Phase 2: Dead Master Shutdown Phase.. 強制關閉,並執行master ip漂