首頁>Club>
46
回覆列表
  • 1 # 熱愛自由生活的小馬

    以過來人角度和你聊聊,Java只要你想學,到找工作很輕鬆。至於要達到你的期望薪資還要看你自己的努力。

    說下學習路線,實戰是最好的經驗,最好的就是能對於java基礎這塊多多學習,在學習一下現在主流的框架,就可以去找工作勝任一些初級工作。

  • 2 # 人聞科技

    如何自學 Java 後端,還有些是想從別的方向想轉過來,但都不太瞭解 Java 後端究竟需要學什麼,究竟要從哪裡學起,哪些是主流的 Java 後端技術等等,導致想學,但又很迷茫,不知從何下手。我就以過來人的經歷,不一定都對,但都是我根據自己的經歷總結出來的,供你們的參考。

    Java 基礎

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

    關於書籍推薦,我是不建議初學者一開始就拿著「Java 程式設計思想」啃的,因為當初我就是那個當天下午決定自學 Java,晚上就抱著這本書啃的人,說實話,我當時真的不懂它在說啥,因為我沒有一點的面嚮物件語言程式設計的基礎,而這本書又寫得太博大精深了,在當時的我來說,完全是天書,但是我認為它仍然是 Java 界的聖經,每讀一次都有所收穫。我在這裡推薦你們一開始先看「Java 核心技術」,這本書講得比較通俗易懂,初學者比較能接受。

    資料庫

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

    我是瞭解了一些基礎語法之後,就直接跟著影片的老師做一些表操作實戰練習了,比如單表查詢、多表查詢等。我建議學 sql 切勿眼高手低,需多加練習,不要只看懂了就行,因為工作中寫得一手簡練的 sql 是非常重要的。在這裡我說下我在專案一直秉承著 sql 語句是能避免多表查詢就避免多表查詢,能夠分開多條語句就分開多條語句,因為這裡涉及到多表查詢效能和資料庫擴充套件的問題。

    關於 JDBC 方面:JDBC 教程、 JDBC 獲取連線物件原始碼分析

    你需要弄懂 JDBC API 的用法,其實它只是一組規範介面,所有資料庫驅動只要實現了 JDBC,那麼我們就可以透過標準的 API 呼叫相應的驅動,完全不用知道驅動是怎麼實現的,這就是面向介面程式設計的好處。而且對於 JDBC 我是直接看影片去理解的,跟著影片做了一個基於 Apache Dbutils 工具做了一個具有事務性的小工具,我特意用思維導圖總結了一下:

    database

    jdbc-utils原始碼地址:jdbc-utils

    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 通訊與客戶端進行互動的服務端程式:Tomcat結構及處理請求過程

    Web 主流框架

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

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

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

    談談對 Spring IOC 的理解

    Spring 面向切面程式設計

    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 自動化配置原始碼分析

    自定義 SpringBoot Starter

    spring-boot-starter-tutorial

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

    Spring Cloud 中文官網

    史上最簡單的 Spring Cloud 教程

    我寫的有關於 Spring Cloud 的部落格:

    SpringCloud微服務架構之服務註冊與發現

    SpringCloud微服務架構之服務消費者

    SpringCloud微服務架構之斷路器

    SpringCloud微服務架構之服務閘道器

    其它技術

    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 實戰(一)

    Docker 實戰(二)

    Docker 實戰(三)

    docker-deploy-tutorial

    開發工具

    工欲善其事,必先利其器,以下是我推薦的一些開發工具:

    Intellij IDEA:Java 開發最好的 IDE,這個是公認的,我一開始是用 Eclipse 的,後來用了 Intellij IDEA,才發現 Eclipse 就是一坨屎,所以我以過來人勸你們不要使用 Eclipse,直接 Intellij IDEA!

    IntelliJ IDEA 使用教程

    Iterm2:macOS 最好用的終端!

    Iterm2 使用指南

    Chrome:人生苦短,請用 Chrome,來不及解釋了,快上車!

    Postman:很好用的一個介面除錯工具。

    Postman 官網

  • 3 # 閱微人知

    Java分為JavaSE和JavaEE;JavaSE是基礎,JavaEE是面向企業級軟體的,所以需要先學習JavaSE,等到基本熟練Java語言及其思想,就可以開始學習JavaEE了。JavaSE學起來比較簡單,JavaEE學起來相對來說較難一點。

    如果是零基礎建議您去培訓班學習,培訓班會帶領學員進行系統性的學習,比較適合零基礎的人。在培訓班的學習路線也基本上是先學習JavaSE,再學習JavaEE。JavaEE是一個生態,其中包括很多元件,比如:Spring、MyBatis等,這些元件學習起來還是有點難度。培訓班的話推薦黑馬程式設計師,我有同學去過,效果還不錯,還有種上學的感覺,好像還可以試聽,推薦可以諮詢一下。(宣告:不是在宣傳黑馬,黑馬都不知道我的存在)

  • 4 # 千鋒頭號粉絲

    對於零基礎想要學習Java的人而言,在學習前一定有有明確的規劃和學習路線,因為Java學習路線就相當於學習思路,需要從基礎階段開始學習,並對接下來要學習的知識進行一步步深入的規劃,只有這樣,初學者在學習Java的時候才能在打好基礎的前提下進一步提升專業技能。那麼,零基礎學習Java的學習路線是什麼樣的呢?

    第一階段:Java 基礎以及 Web 開發基礎—小程式專案階段,讓學員可掌握Java 基本面向物件知識、Java 常用集合的使用、JDBC 與 MySQL 基礎、HTML/CSS/JavaScript 前端基礎技術、 Servlet 編寫服務端程式等,同時熟練使用 IDEA 開發工具,能實現簡單的小程式;

    第二階段Java 高階基礎 SSM 前端框架 程式碼管理 持續整合,是進階階段,讓學員可以深入理解 Java 面向物件相關知識點,可以勝任Java 初級軟體工程師、Web 初級前端開發工程師、初級 BI 工程師等崗位。

    第三階段微服務與分散式解決方案,讓學員掌握Linux、Docker、Vue、SpringBoot、Shiro、分散式事務的使用等,可以熟練使用Docker 完成專案部署,勝任Java 中級開發工程師等崗位;

    以上就是給大家分享的Java學習路線,其實,對於初學者而言,除了要在學習過程中打牢基礎之外,實戰專案經驗的積累也非常重要,畢竟我們學習Java的目的就是為了學成後能更好的就業,而想要成為符合企業需求的Java開發工程師,那麼,專案實戰經驗必不可少。

    在學習期間可以接觸如 Redis ElasticSearch 的 Java API 的選型、分散式事務技術:TCC-Transaction/TX-LCN、OAuth 協議第三方認證、JWT 令牌校驗使用者許可權、Netty 實現億級流量的網路通訊、分散式任務 Elastic-Job、等企業應用最廣泛、代表未來發展方向的技術,讓學員畢業之後可以無縫對接真實工作需求。

  • 5 # 小翠你明明

    Java學習路線,一般就是基礎入門,深化提高,資料庫,網頁,Javaee,ssm,等等都要學習的,0基礎的話還是建議先學好基礎,可以參考百戰程式設計師Java300集,很適合入門學習,百戰程式設計師官網也有很詳細的學習路線,可以參考

  • 6 # 阿說到九號687687

    首先,零基礎的人,千萬不要害怕,不要覺得沒基礎就學得很吃力,學不會等等。排除雜念,一心學習java。學習java並不是一件困難的事情,難的是排除雜念。

    這樣想吧:你在大學裡修的專業課,你對它懂得多嗎?能做到知無不言嗎?所謂有基礎也只是比你早接觸了一些入門的知識。所以放鬆心態努力學習。

    在我們調整好狀態之後,首先要找入門的書籍和影片,瞭解自己即將闖進的行業,瞭解一下到底自己在前幾年錯過了什麼。這對於初學者來說並不難,比如去優就業的職業規劃課程,介紹了入門知識,和你自身需要學習什麼東西。

    當然了想要學好java,需要時間的積累,腳踏實地才是正道。

    入門相對是簡單的,目的就是讓你可以大概瞭解到java,如果感覺入門比較困難,要麼放棄,要麼找一個合適的培訓機構去學習吧。

  • 7 # 嘩啦啦的花花

    Java語言是目前IT行業內最為流行的程式語言之一,應用範圍廣且自身生態健全,憑藉穩定的效能表現和較強的擴充套件性,Java語言是不少大型網際網路平臺的常規解決方案之一。目前Java主要的應用領域包括Web開發、大資料開發、Android開發和各種後端服務開發,另外Java在多媒體、物聯網和人工智慧領域也有所應用。從就業的角度來說,目前學習Java是個不錯的選擇。

  • 中秋節和大豐收的關聯?
  • Cf現在還是公平競技嗎?