色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

想自學下JAVA開發

老白2年前13瀏覽0評論

想自學下JAVA開發?

Java 后端需要學的東西很多,但是很多人不知道從哪學起。我來告訴你 Java 后端主流技術,讓你不再迷茫,作為一個老碼農,一些經驗分享給你

Java 基礎

Java 是一門純粹的面向對象的編程語言,所以除了基礎語法之外,必須得弄懂它的 oop 特性:封裝、繼承、多態。此外還有泛型、反射的特性,很多框架的技術都依賴它,比如 Spring 核心的 Ioc 和 AOP,都用到了反射,而且 Java 自身的動態代理也是利用反射實現的。此外還有 Java 一些標準庫也是非常常見,比如集合、I/O、并發,幾乎在 Web 開發中無處不在,也是面試經常會被問到的,所以在自學 Java 后端之前,不妨先打好這些基礎,另外還有 Java8 的一些新特性,也要重點關注,比如 Lambda 表達式、集合的 Stream 流操作、全新的 Date API 等等

關于書籍推薦,我是不建議初學者一開始就拿著「Java 編程思想」啃的。說實話,我當時真的不懂它在說啥,因為我沒有一點的面向對象語言編程的基礎,而這本書又寫得太博大精深了,在當時的我來說,完全是天書,但是我認為它仍然是 Java 界的圣經,每讀一次都有所收獲。我在這里推薦你們一開始先看「Java 核心技術」,這本書講得比較通俗易懂,初學者比較能接受。

數據庫

關于 sql 方面:SQL 教程、MySQL 教程

我是了解了一些基礎語法之后,就直接跟著做一些表操作實戰練習了,比如單表查詢、多表查詢等。我建議學 sql 切勿眼高手低,需多加練習,不要只看懂了就行,因為工作中寫得一手簡練的 sql 是非常重要的。在這里我說下我在項目一直秉承著 sql 語句是能避免多表查詢就避免多表查詢,能夠分開多條語句就分開多條語句,因為這里涉及到多表查詢性能和數據庫擴展的問題。

關于 JDBC 方面:JDBC 教程、 JDBC 獲取連接對象源碼分析

你需要弄懂 JDBC API 的用法,其實它只是一組規范接口,所有數據庫驅動只要實現了 JDBC,那么我們就可以通過標準的 API 調用相應的驅動,完全不用知道驅動是怎么實現的,這就是面向接口編程的好處。

Web 基礎

曾經開源中國創始人紅薯寫了一篇文章「初學 Java Web 開發,請遠離各種框架,從 Servlet 開發」,我覺得他說的太對了,在如今 Java 開發中,很多開發者只知道怎么使用框架,但根本不懂 Web 的一些知識點,其實框架很多,但都基本是一個套路,所以在你學習任何框架前,請把 Web 基礎打好,把 Web 基礎打好了,看框架真的是如魚得水。

關于 Http 協議,這篇文章就寫得很清楚:Http協議

關于 Web 基礎這方面數據推薦,我當時是看的是「Tomcat 與 Java Web 開發技術詳解」,很詳細地講解了整個 Java Web 開發的技術知識點,但現在看來,我覺得里面講的有一些技術確實有點老舊了,不過可以了解一下 Java Web 開發的歷史也是不錯的。所以在 Web 基礎這方面我都是看某客的崔老師講的「超全面 Java Web 視頻教程」,講得很詳細很生動,還有實戰項目!

關于 JSP,你只要了解它其實就是一個 Servlet 就行了,關于它的一些標簽用法,我認為可以直接忽略,因為現在互聯網幾乎沒哪間公司還用 JSP,除了一些老舊的項目。現在都是流行前后端分離,單頁應用,后端只做 API 接口的時代了,所以時間寶貴,把這些時間重點放在 Servlet 規范上面吧。

關于 Tomcat,它是一個 Web 容器,我們寫的后端項目都要部署到Web容器才能運行,它其實是一個遵循 Http,通過 Socket 通信與客戶端進行交互的服務端程序

Web 主流框架

Java Web 框架多如牛毛,等你有一定經驗了,你也可以寫一個 Web 框架,網上很多說 Spring、Struts2、Hibernate 是 Java 三架馬車,我只想說,那是很久遠的事情了,我嚴重不推薦 Struts2、Hibernate,相信我,一開始只需要上手 Spring、SpringMVC、Mybatis 就可以了,特別是 Spring 框架,其實 Spring 家族的框架都是很不錯的。

但是提醒一點就是,千萬不要沉迷于各種框架不能自拔,以會多種用法而沾沾自喜,導致知其然而不知其所以然。

Spring其核心思想就是 IOC 和 AOP:

談談對 Spring IOC 的理解

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 后端開發的顛覆者,推薦書籍「Java EE 開發的顛覆者:SpringBoot實戰」

SpringBoot 構建 web 項目

SpringBoot 自動化配置源碼

SpringCloud 是一個微服務架構,能夠將項目按照業務分成一個個微服務,每個微服務都可獨立部署,服務之間互相協調。當一個項目越來越大時,隨之而來的是越來越難以維護,此時將項目拆分成若干個微服務、單獨維護、單獨部署,也可以降低項目不同業務間的耦合度。推薦書籍「Spring Cloud 與 Docker 微服務架構實戰」,這本書將 Docker 與微服務完美地結合在一起,堪稱完美!

其它技術

Redis:一個高性能的 key-value 數據庫,當有并發量很高的請求時,將數據緩存在 Redis 中,將提高服務器的響應性能,大大減輕數據庫的壓力。

redis 中文官網

redis 教程

Git:世界上最先進的分布式版本控制系統,建議所有初學者從命令行開始使用 Git!

Git 官網

最全 Git 教程

Git 的一些常用命令

Maven:一個用于構建項目的工具,將項目間的依賴通過 xml 完美地組織到一起,可通過編譯插件將項目編譯成字節碼文件。還有類似的 Gradle 也是不錯的選擇。

maven 的 pom.xml 文件詳解

Linux:至少要求常用的命令會用,能夠在 linux 環境下部署項目。

Linux 命令大全

最全的 SSH 連接遠程終端教程

Docker:簡直是項目部署神器啊,來不及解釋了,看我 Docker 系列博客,開啟 Docker 之旅吧!推薦書籍「Docker 技術入門與實戰」,中國首部 Docker 著作!

Docker實戰一定要好好練習!

java 輕量級 web,想自學下JAVA開發