首頁>Club>
4
回覆列表
  • 1 # 代表月亮太陽伱

    java web開發需要學習的知識體系非常龐大,這不是短時間內能夠學完的。當然最開始可以先挑必要的先學,後續再慢慢補充其它知識。首先既然要做java開發,肯定是要先學習java語言基礎,在java基礎之上學習java web體系知識。因為後端開發涉及到跟資料庫打交道,所以資料庫也是避免不了的。當然有個別的大公司有專門負責前端的,不過我去過的公司貌似還沒有說搞後臺的就不用去開發前端了。。。所以,目前的形勢就是,雖然你是以後臺為主,但仍然避免不了前端開發。那麼html、js等這些前端的東西也需要學習。綜合來講,如果剛入門的話,建議先從上述幾個知識體系開始學習,也就是資料庫、java基礎、java web、html+js。最後就是市面上主流的一些框架,如spring、spring mvc、struts2、hibernate、mybatis等。這些東西學完就可以試著做web開發了

  • 2 # SleepyMonk

    java最大的優勢是網路程式設計, 還有是Android程式設計,除了掌握Java基本的語言知識,比如三大基本特性,建議讀一本Java書,比如Java程式設計思想~

    之後你可以學習高階的,例如jsp/servlet, struts, spring, springboot,這些都是web伺服器的東西。也可以學習,tcp socket套接字,這些是伺服器的東東。

    更進一步的話,就看你的Java功底和計算機基礎了,比如web,最重要的是程式碼結構還有架構,這會直接影響你的程式效率,因為一個人訪問你的伺服器和一百萬人訪問你的伺服器是不一樣的。那該如何處理呢?可以採用多個伺服器,這多個伺服器接在一個負載均衡之後~

    在網上,就得考慮你的程式的安全性,比較成熟的框架比如springboot提供了很完善的安全模組,相比而言strut就很渣……

    總之,還有很多,不過大體就這些~

  • 3 # 小小互聯科技

    想學java的小夥伴,在學習之處要先清除自己的學習目的是什麼。不管是興趣還是打算從事相關的工作,系統學習都是很有必要的。那要是從事java後端開發的工作,需要掌握什麼技術呢?

    首選基礎是重中之重,基礎對於程式設計來說就是建房子時候的地基,至關重要。需要學習變數、資料型別、運算子、控制語句、面向物件等等。在基礎學完之後還需要學習資料庫,網頁方面的技術,然後就是框架ssm部分。這個是前部分都需要了下的高階技術需要了解一些架構方面的,微服務和分散式技術,這個是目前最火的開發技術。也是企業面試必須要掌握的。在有了一定的基礎儲備之後,還需要進行專案實戰,要了解企業一線開發專案,從專案原始碼開始瞭解,深入底層。這樣瞭解了底層,在專案開發的時候就會更輕鬆自如。

  • 4 # IT人劉俊明

    Java語言是最常見的後端開發語言之一,Java語言由於自身具備構建多執行緒的能力,且體系結構比較中立,所以在大型網際網路平臺的開發中得到了廣泛的採用。

    目前要想從事Java的後端開發應該學習以下內容:

    第一,Servlet技術。Servlet技術是Java後端的重要技術之一,作為Java Web開發的核心元件,Servlet承擔了Web MVC結構中的核心作用(功能導航)。傳統的Model2結構(Servlet+JavaBean+JSP)雖然在目前已經很少使用了,但是Web開發的基本結構依然沒有改變。Servlet技術的應用涉及到Web容器、會話(HttpSession)、安全、同步、Web應用部署等相關內容。

    第二,Java操作資料庫。後端開發免不了與資料庫打交道,所以掌握Java的資料庫操作是一個基本要求。Java操作資料庫涉及到的內容有JDBC、JNDI、RMI、DAO等內容,其中使用RMI+JDBC是構建java資料庫開發的一個常見的解決方案,而JNDI則是對各種資源的定義。

    第三,Spring框架。Spring+SpringMVC+MyBatis是目前一個比較常見的後端開發方案,Spring的原理就是構建了一個“業務元件容器”,SpringMVC則是Web MVC的一個具體實現框架,而MyBatis則是一個基於DAO的實現框架。從效能的角度來說,Spring是EJB的輕量級解決方案,得到了廣大Java程式設計師的歡迎。如果有Servlet以及資料庫操作的基礎,那麼學習這幾個框架的使用是一件非常輕鬆的過程。雖然基於Spring的程式設計比較方便,但是Spring也有缺點,比如配置檔案過於繁瑣。

    第四,結合hadoop構建Java的分散式開發。Java的分散式開發是提高Java後端處理能力的重要內容,RMI是Java分散式開發比較常見的解決方案,學習起來也比較簡單。在學習完RMI之後可以進一步學習在Hadoop平臺(大資料平臺)下構建Java的分散式應用,另外Docker(雲計算常用)也是一個不錯的構建分散式開發的平臺。

    Java開發涉及到的內容比較多,需要一個系統的學習過程,建議在實際使用過程中學習,這樣效果會更好。

    如果有大資料方面的問題,或者是考研方面的問題,都可以諮詢我。

  • 5 # 小貝的STEAM教室

    Java後端應該學什麼技術?我們知道Java語言應用廣泛,而且流行度很高、企業需求也非常大,粗略計算,大概100個程式設計師裡有17-18個人都是搞Java的,Java後端對於企業的重要性不言而喻。

    隨著網際網路的快速發展,尤其是移動網際網路開始興起以後,海量的使用者呼嘯而來,一個單機部署的小小War包肯定是撐不住了,必須得做分散式。業務日趨複雜,我們不得不把某些業務放到一個機器(或叢集)上,把另外一部分業務放到另外一個機器(或叢集)上,雖然系統的計算能力,處理能力大大增強,但是這些系統之間的通訊就變成了頭疼的問題,訊息佇列(MQ),RPC框架(如Dubbo)應運而生,為了提高通訊效率,各種序列化的工具也爭先空後地問世。

    隨著使用者對前端頁面的要求越來越高,很多大型網際網路公司都實行“前後端分離”,後端的工程師只負責提供介面和資料,專注於業務邏輯的實現,前端取到資料後在瀏覽器中展示,各司其職。Java後端應該具備的技術包括以下幾大模組:

    Java基礎:Java開發介紹、Java陣列、Java面向物件、常用基礎類、集合、IO流、多執行緒、異常、網路、反射

    JavaWeb:HTML5、CSS3、JavaScript、MySQL使用、JDBC連線池、Servlet、JSP、AJAX、jQuery、Bootstrap

    Java框架:Maven、Hibernate、Spring、Spring MVC、MyBatis、WebService、SVN、Activiti

    Java + 雲資料:Linux版本、MySQL最佳化、MySQL最佳化、Nginx反向代理、Quartz 作業排程、Redis 高效能(Key-Value)資料庫、Shiro 安全(許可權)框架、Lucene&Solr全文檢索、Zookeeper 分散式系統、MyCAT 大資料叢集、Dubbo實現分散式架構、ActiveMQ 訊息佇列、ActiveMQ 訊息佇列、分散式框架原理、基於SpringMVC的整合單元測試MockMVC、SpringBoot 快速構建JavaEE專案……

  • 6 # 字母哥課堂
    java學習路線圖

    下圖描述了一個java程式設計師在成長過程中,需要逐步學習的知識。必須宣告,下圖不是本人原創,是github專案sorenduan/awesome-java-books ,原作者的專案還是要說明一下。大家可以去github上去看這個專案。但是因為原文是英文的,我謹在此向原作者表示敬意,並對英文內容進行翻譯,希望可以幫助到大家!

    圖中的

    黃色是優先,重點掌握的內容,優先順序比較高褐色是進階的內容,需要有一定工作經驗再去學習灰色的內容,有時間有精力,自己有興趣或者明確需求的可以去學習一下

    最重要的宗旨是:持續學習,Keep Learing

    路線圖中文解釋

    Prerequisites 必備基本

    Java java基礎Gradle or Maven 專案構建及管理工具SQL SQL基礎是必須要會而且要精的內容

    General Development Skills

    Learn GIT, 程式碼版本管理工具git,幾乎所有的開源世界的程式碼都是git管理的,如果不會,你就只能閉門造軍,無法吸收大神們的精髓知道HTTP及HTTPs原理,及常用的HTTP方法(GET, POST, PUT, PATCH, DELETE, OPTIONS)學會使用搜索引擎,如果有可能,儘量用google,你懂的學習一些演算法和資料結構的知識學一些基礎的許可權管理相關的設計知識常用的程式碼開發及設計原則,如:SOLID系列原則

    命令列及引數解析工具

    args4jJCommanderairline

    web框架

    Spring 這個不說了,必學必會Play Framework 一個full-stack(全棧的)Java Web的應用框架Spark 一個簡單易用的web應用框架(這裡說的不是,在大資料流式處理領域的那個spark)Jersey RESTful 框架是開源的RESTful框架nanohttpd 一個開源的http庫,只需要一個類便可輕易實現http服務

    Databases 資料庫

    Relational 關係型資料庫,這個不多說,掌握SQL ServerPostgreSQLMariaDBMySQLOracleCloud Databases 雲資料庫(說實話這兩個筆者沒用過)CosmosDBDynamoDBSearch Engines 全文檢索引擎類ElasticSearch 適用於海量資料儲存及全文檢索Solr 全文檢索引擎Sphinx 一個基於SQL的全文檢索引擎,可以結合MySQL,PostgreSQL做全文搜尋NoSQL MongoDB 文件類資料庫,較常用Redis 鍵值對記憶體資料庫,常用Apache Cassandra 分散式的Key-Value資料庫,效能較好LiteDB 輕量級的Serverless 文件資料庫LiteDBRavenDB CouchDB 一個開源的面向文件的資料庫管理系統

    ORMs ORM框架類(筆者在這裡加上一個Mybatis,國內用的多)

    Hibernate(JPA) 即使不用也要學,思想EbeanBelleORM

    Caching 快取資料儲存

    CaffeineEHCacheCache2kDistributed Cache 分散式快取Java-Redis 這種最常用Java-MemcachedInfinispan

    Logging 日誌

    Log Frameworks 日誌框架(筆者在這裡加上logback)ZapTinyLoglog4j、log4j2 常用Log Management System 日誌管理系統Sentry.ioLoggly.comTracer

    Real-Time Communication 實時通訊

    Socket.IOatmospherewebbit

    API Clients API客戶端

    REST REST介面-JSON格式,基於HTTP協議okhttpretrofitGraphQL 一種為你的 API 而生的查詢語言

    Good to Know 最好要會

    Beanvalidation 通常用於引數校驗bouncycastlegson JSON資料處理工具Apache Shiro 許可權管理JJWT 介面訪問token授權RxJava 一套非同步程式設計的 API

    Testing 測試相關

    Unit, Behavior, Integration, Load TestingJUnit 最常用CitrusFrameworkGatlingTsungMockito 模擬測試,常用TruthAssertj cucumber-jvmcukeshoverfly-javarest-assuredjbehaveE2E Testing 端到端測試Selenium 常用

    Task Scheduling 定時任務管理

    AuroraelasticjobSundialcron-utils

    MicroServices 微服務

    Message-Broker 訊息中介軟體RabbitMQ 常用Apache Kafka 常用ActiveMQ 常用Azure Service BusMessage-Bus 訊息匯流排mbassadorrmqFrameworks 框架Apollo 分散式配置中心lagom-frameworkmicronauteureka 服務註冊中心 helidonarmeriaRPC 遠端介面呼叫(序列化、反序列化)Protocol BuffersgRPC-Javathrift

    Java-Patterns java設計模式

    雖然這張路線圖,已經相對完整,但是相對於國內一些公司的要求還有很多可以補充的地方。如果想成為架構師,可能要學會

    linux 不會的話,開源分散式軟體,你安裝不上,你怎麼學?docker & devops 持續整合、運維最佳化等spring cloud 和國內常用的 dubbo,負載均衡haproxy、nginx等甚至你還要去學前端知識,css、html自不必說。目前國內最流行的vue。

    總之一句話:Keep Learing,持續學習。筆者一直覺得程式設計師的投入與回報是不成正比的,我覺得沒有一個行業有程式設計師需要的知識更新速度快,目前還沒發現。也許有些人不認可,但是入這行時間久了就會明白!所以不要忘了你為什麼出發?如果單純是因為錢,而不是因為熱愛,在適當的時間需要轉向或回頭!

  • 中秋節和大豐收的關聯?
  • 小米枸杞粥怎麼做?