更新時間:2019-08-09 11:29:10 來源:動力節點 瀏覽2780次
目前,Java語言開發的就業前景相當明朗“錢”途一片大好,畢竟互聯網企業對Java開發人才需求很旺盛。Java開發人才的薪資要比其他編程人才高出一大截,所以有很多朋友就都想來從事Java開發。那么學習Java需要什么基礎?
其實有一定的編程語言基礎,當然會讓你學習Java變的更為容易,如果你是零基礎,學起來可能會有一些困難,但只要有一定的邏輯思維,學習起來也不是很難。因為Java的核心思維就是面向對象的概念,只要你能理解了這部分知識,其他就不是問題了。
今天小編就來和大家分享Java程序員高手之路上的必備基礎知識:
面向對象的知識:
Java是一個面向對象的開發語言,因此熟悉面向對象對學習Java很有必要,您要了解:什么是對象,什么是類;什么是封裝,什么是多態,什么是繼承;什么是抽象類,什么是接口。了解了概念后,您還需要這些概念是如何體現的,如類和對象有什么區別?類是如何封裝的?
Java語法的知識:
如果您有C++等面向對象語言的開發經驗,您只需簡單的翻看一下介紹Java的相關書籍就可以了。如果您是新手,沒有關系,您下些工夫,好好研究一本Java初級教程之類的書就可以了。
JSP和HTML的知識:
做Java程序員都少不了和JSP以及HTML打交道。因此,想成為Java程序員就不可避免的要熟悉JSP和HTML,您最好能知道JSP的幾個內置對象,如Session,Request,Reponse,以及常用的JSP標簽,如include,userBean等。如果您再熟悉一下JS和CSS就更好了,那會使您制作的頁面更友好。
學習Java,可以參考小編前些天發過的學習路線,該學習路線對從零基礎小白到Java初級開發工程師,Java高級開發工程師,后面的Java大神級開發工程師都有一個明確清晰的指導。
Java基礎
Java是一門純粹的面向對象的編程語言,所以除了基礎語法之外,必須得弄懂它的oop特性:封裝、繼承、多態。此外還有泛型、反射的特性,很多框架的技術都依賴它,比如Spring核心的Ioc和AOP,都用到了反射,而且Java自身的動態代理也是利用反射實現的。此外還有Java一些標準庫也是非常常見,比如集合、I/O、并發,幾乎在Web開發中無處不在,也是面試經常會被問到的,所以在自學Java后端之前,不妨先打好這些基礎,另外還有Java8的一些新特性,也要重點關注,比如Lambda表達式、集合的Stream流操作、全新的DateAPI等等,關于新特性,我也寫了幾篇關于這方面的博客,請自行找吧,就不貼出來了。
關于書籍推薦,我是不建議初學者一開始就拿著「Java編程思想」啃的,因為當初我就是那個當天下午決定自學Java,晚上就抱著這本書啃的人,說實話,我當時真的不懂它在說啥,因為我沒有一點的面向對象語言編程的基礎,而這本書又寫得太博大精深了,在當時的我來說,完全是天書,但是我認為它仍然是Java界的圣經,每讀一次都有所收獲。我在這里推薦你們一開始先看「Java核心技術」,這本書講得比較通俗易懂,初學者比較能接受。
數據庫
關于sql方面:SQL教程、MySQL教程
我是了解了一些基礎語法之后,就直接跟著視頻的老師做一些表操作實戰練習了,比如單表查詢、多表查詢等。我建議學sql切勿眼高手低,需多加練習,不要只看懂了就行,因為工作中寫得一手簡練的sql是非常重要的。在這里我說下我在項目一直秉承著sql語句是能避免多表查詢就避免多表查詢,能夠分開多條語句就分開多條語句,因為這里涉及到多表查詢性能和數據庫擴展的問題。
關于JDBC方面:JDBC教程、JDBC獲取連接對象源碼分析
你需要弄懂JDBCAPI的用法,其實它只是一組規范接口,所有數據庫驅動只要實現了JDBC,那么我們就可以通過標準的API調用相應的驅動,完全不用知道驅動是怎么實現的,這就是面向接口編程的好處。而且對于JDBC我是直接看視頻去理解的,跟著視頻做了一個基于ApacheDbutils工具做了一個具有事務性的小工具,我特意用思維導圖總結了一下:
Web基礎
曾經開源中國創始人紅薯寫了一篇文章「初學JavaWeb開發,請遠離各種框架,從Servlet開發」,我覺得他說的太對了,在如今Java開發中,很多開發者只知道怎么使用框架,但根本不懂Web的一些知識點,其實框架很多,但都基本是一個套路,所以在你學習任何框架前,請把Web基礎打好,把Web基礎打好了,看框架真的是如魚得水。
關于Http協議,這篇文章就寫得很清楚:Http協議
關于Web基礎這方面數據推薦,我當時是看的是「Tomcat與JavaWeb開發技術詳解」,很詳細地講解了整個JavaWeb開發的技術知識點,但現在看來,我覺得里面講的有一些技術確實有點老舊了,不過可以了解一下JavaWeb開發的歷史也是不錯的。所以在Web基礎這方面我都是看某客的崔老師講的「超全面JavaWeb視頻教程」,講得很詳細很生動,還有實戰項目!
關于JSP,你只要了解它其實就是一個Servlet就行了,關于它的一些標簽用法,我認為可以直接忽略,因為現在互聯網幾乎沒哪間公司還用JSP,除了一些老舊的項目。現在都是流行前后端分離,單頁應用,后端只做API接口的時代了,所以時間寶貴,把這些時間重點放在Servlet規范上面吧。
關于Tomcat,它是一個Web容器,我們寫的后端項目都要部署到Web容器才能運行,它其實是一個遵循Http,通過Socket通信與客戶端進行交互的服務端程序:Tomcat結構及處理請求過程
Web主流框架
JavaWeb框架多如牛毛,等你有一定經驗了,你也可以寫一個Web框架,網上很多說Spring、Struts2、Hibernate是Java三架馬車,我只想說,那是很久遠的事情了,我嚴重不推薦Struts2、Hibernate,相信我,一開始只需要上手Spring、SpringMVC、Mybatis就可以了,特別是Spring框架,其實Spring家族的框架都是很不錯的。
但是提醒一點就是,千萬不要沉迷于各種框架不能自拔,以會多種用法而沾沾自喜,導致知其然而不知其所以然。
Spring其核心思想就是IOC和AOP:
談談對SpringIOC的理解
Spring面向切面編程
SpringMVC它的思想是全部請求統一用一個Servlet去做請求轉發與控制,這個Servlet叫DispatcherServlet:
SpringMVC初始化過程
SpringMVC處理請求過程
Mybatis它可實現動態拼裝sql,避免了幾乎所有的JDBC代碼和手動設置參數以及獲取結果集:
mybatis入門教程
Mybatis深入淺出系列
Web框架進階
使用了SSM框架后,你會覺得框架也不過這么回事,如果你對Spring有過大概了解,你也會產生想寫一個「山寨版」Spring的心思了,一個輕量級Web框架主要具備以下功能:
可讀取用戶自定義配置文件,并以此來初始化框架;
具備Bean容器,管理項目的類的對象生命周期;
具備依賴注入,降低類之間的耦合性;
具備AOP功能,使項目可進行橫向編程,可不改變原有代碼的情況增加業務邏輯;
具備MVC框架模式。
其實除了SSM之外,Web框架可謂是百家齊放,其中以Spring全家桶最為耀眼,在這里我極力推薦兩個Spring家族框架:SpringBoot和SpringCloud。
SpringBoot彌補了Spring配置上的缺點,再也不用為繁雜的xml費勁精力了,堪稱是Java后端開發的顛覆者,推薦書籍「JavaEE開發的顛覆者:SpringBoot實戰」
SpringBoot構建web項目
SpringBoot自動化配置源碼分析
自定義SpringBootStarter
spring-boot-starter-tutorial
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習