回覆列表
  • 1 # IT人劉俊明

    要回答這個問題首先要了解Java開發都用在哪些領域,只有清楚了Java語言的應用領域才知道需要掌握哪些技術。

    目前Java開發主要應用在Web開發領域,以及大資料、移動網際網路開發等領域。作為目前使用範圍最廣泛的開發語言之一,Java的適用範圍還是比較廣泛的,很多工具類軟體也使用Java進行開發,比如Oracle的很多產品就是使用Java開發的。

    Java與資料庫

    先看一下Web開發都涉及到哪些技術,我們看一下基於Java的三層開發體系結構。

    這個結構是基於MVC的Model2模式,其中使用Servlet作為控制端,使用JSP作為檢視端,使用JavaBean作為模型端。其中與模型端(Model)關聯的就是資料庫,所以對資料庫的操作是Java程式設計師不可避免的一個重要的開發環節。

    Java操作資料庫的API是JDBC,透過JDBC提供的類和介面完成對資料庫的各種操作,最為常見的操作就是向資料庫傳送sql語句並在容器中執行。

    當然還需要使用DAO對資料操作進行面向物件轉換,簡單的說就是把面向物件的Java操作對映到面向關係的資料庫系統中。

    所以說,掌握資料庫的使用是Java程式設計師的基本要求。雖然大部分團隊都會配備DBA,但是深入學習一下資料庫對Java程式設計師來說還是很有必要的,如何最佳化查詢語句就是個重要的內容。推薦深入學習一下Mysql和Oracle資料庫,這兩個資料庫在Java開發中應用比較廣泛。

    Java與Linux系統

    目前大部分Web伺服器都採用了Linux系列作業系統,Linux作業系統在安全性的表現上要明顯好於Windows和Unix,所以目前大量的Web伺服器都採用了Linux,比如CentOS、Ubuntu、Red Hat等。

    上圖中的Web Container通常都部署在Linux伺服器中。也有一部分開發人員直接在Linux系統下進行Web開發,所以掌握Linux的使用對Web開發來說還是很有必要的。

    做為Web開發的Java程式設計師來說,也可以使用Windows平臺進行開發,所以從開發的角度來說並沒有必要深入學習Linux系統。

    但是如果使用Java從事大資料開發,則另當別論了。目前大資料平臺幾乎都搭建在Linux系統上,此時對Java開發人員來說掌握Linux系統是十分必要的。

    Java與前端

    作為Java程式設計師來說通常做的都是後端開發的工作,對前端的要求並沒有那麼高,通常開發團隊都會配備專業的前端開發人員。但是很多Java程式設計師都有過開發前端的經歷,因為很多驗證性實驗需要自己完成,所以掌握一定的前端開發知識還是很有必要的。

    很多做Android開發的Java程式設計師都對HTML5比較熟悉,因為很多手機端開發需要使用HTML5來呈現,所以對開發Android的Java程式設計師來說,掌握前端開發還是很有必要的。

    總之,作為Java程式設計師來說,掌握資料庫、Linux都是很有必要的,前端開發可以根據實際情況一邊使用一邊學習通常就夠用了。

    我從事Java開發也有10多年的時間了,如果大家有關於Java方面的問題可以跟我交流。

  • 2 # 小鳥攻城獅

    路過。為什麼java程式設計師要深入前端?

    java不是javascript。java語言,本身屬於後端服務語言,個人建議沒有必要去深入前端。只要懂就可以,沒必要深入

    除非你要做全棧工程師。

    但吾生有崖,學無涯!個人建議你偏向於後者

    你是java程式設計師,更多的學習後端服務吧。資料庫,linux

    最好的方式就是看招聘網站的需求

    百度的:

    阿里的:

    騰訊:

    除非你要做全棧工程師。否則,別深入前端了,瞭解就可以。後端無止盡,夠學的了

  • 3 # 會點程式碼的大叔

    工作背景

    為了避免誤人子弟,在講建議之前,我還是先說說我的工作背景。

    我一直從事企業級應用的開發,也就是我做的系統都是公司內部的員工在使用,而不是面向網際網路使用者。

    開發環境都在windows,測試和生產環境都是Linux,我會做專案的釋出和調優的工作。

    我們大多數專案,都沒有做分庫分表,也就是單庫;會用到Redis和MongoDB。

    所以我認為需要深入學習的:資料庫>linux>前端。

    不要無目的地追求技術的廣度

    我發現很多程式設計師在工作的前幾年,很愛做一件事兒,包括我自己:什麼技術都想學,但什麼都沒有深入地學。

    我在第一家單位工作的時候,週末就喜歡去西單圖書大廈看書買書(別笑,那時候網際網路購物沒那麼發達),我買過的書有:Deliph、MFC、PhotoShop、C++;前端方面的有CSS、JavaScript、H5、JQuery、DWR...也算“博覽群書”了,但是現在還記得的,已經寥寥無幾。

    我們常說要追求技術的廣度,其實也不是毫無目的;我一個做Java的去買Deliph方面的書,不是說Deliph不好,只是對我本身的工作提升有限。

    資料庫>linux>前端

    資料庫:資料庫一定要深入的學習,包括關係型資料庫和非關係型資料庫。其中關係型資料庫,我用過Oracle、DB2、Mysql,基本上在開發這個層面上,每一種資料庫用的都很溜,一些底層的知識也有接觸;對於非關係型資料庫,我主要研究Redis和MongDB,這兩個都是現在的主流技術。

    linux:在使用層面上沒有問題,至少環境的釋出、日常運維、效能監控方面的命令都很熟悉;而且都是從實際工作出發去學習,需要什麼就學什麼,時間長了也就熟練了。

    前端:我已經放棄很久了,現在我們專案普遍採用前後端分離的框架,老系統前端都用JQuery,新專案都會用bootstrap、vue,而且新專案一般都會有專業的前端進行開發。

    這是我自己的一些看法,大家可以參考,不過還是要根據自己的實際情況出發;比如我就想研究一下Linux核心,或者我想開發一款產品,需要研究一下前端技術。

  • 4 # 優效程式設計師

    java程式設計師深入學習的話建議還是java架構或者大資料吧 前端不建議

    java架構師和大資料工資要比前端高,對於自己的話也是一個提升

  • 5 # 牛旦IT課堂

    作為Java程式設計師,應該深入哪方面的學習?其實這跟應不應該沒啥關係,而是看你的發展規劃或未來定位。

    如果認為就是做個一般程式設計師,再搞搞其它副業,也未嘗不可,程式設計師可作為職業養活自己甚或家庭,有可以搞點或發展個人愛好。

    如果認定了在IT技術領域發展,那就可以進行程式設計師進階貯備,包括提升技術能力等級,通曉架構,然後是大資料人工智慧等。

    這過程你資料庫、作業系統(如Linux)肯定要掌握的,如果不做管理員,能熟練應用就可以了。關鍵還是技術與解決問題的能力。

    其實,在技術上,你要能深耕一塊,又能有一定的適應力,就夠你玩的了。

    就說這些吧。

  • 6 # 殘缺的孤獨

    1、我不認為一個Java程式設計師需要花費精力去深入學習前端。現在多是前後端分離,術業有專攻,專業的事交給專業的人去做。

    2、Java程式設計師屬於後端開發,而圍繞後端開發的東西太多了。比如JVM的底層原理,各種常用框架的原理,微服務框架,快取,調優等。這些東西都搞明白了,我認為已經很牛逼了。

    3、資料庫是Java開發中必不可少的一環,sql語句大家都會寫,關鍵是誰寫的效率高,面對大量資料、併發等情況下,你寫的sql語句還能瞬間執行完嗎?如何對sql進行最佳化,只要提高了執行效率,你就很厲害。而這需要對資料庫的執行的整個過程原理需要深入研究。當然了現在的資料庫還涉及到nosql以及各種快取。

    4、後端程式設計師肯定會和linux伺服器打交道,無論是專案的部署還是線上問題的排查或者線上調優等,都離不開linux。但對於非專業的運維人員來說,做到一般的命令會熟練使用就可以了。

    5、一個人的精力是有限的,不排除很牛逼的全棧工程師。對於一般的開發者來說,能做到一點深入研究並有成功結果,都已經很厲害了。

  • 7 # 流浪的雪夭

    java程式通常執行在後端,前端沒必要學,而且java特色就是虛擬機器,遮蔽作業系統,你學不學linux都無所謂。。

    資料庫倒是可以研究一下。。

  • 8 # 讓程式設計改變世界

    我是一名計算機專業的學生,目前從事java的開發,就這個問題而言,我覺得很多人會傾向於深入學習資料庫,linix,當然我也不例外,因為現在的開發都是前端後端分離,對於前端的東西,你只需要瞭解一些就可以了,而沒有深入學習的必要,而現在又有一個稱謂叫全棧工程師,意思是前端後端都會,但是一個人沒有那麼多精力去深入學習那麼多東西,你看上去似乎都會,其實你都沒有深入。

    對於後端人員,深入學習資料庫和linux是很有必要的,這會影響到你以後是否能成功向DBA,運維轉型,程式設計師遲早要轉型的,如果你深入學習了資料庫,將轉型為DBA應該不成問題,深入學習linux,將來轉為運維人員是很有希望的。

    總的來說,後端人員還是應該深入學習資料庫和linux系統,前端的東西對以後的提升幫助沒有那麼大。

  • 9 # 一個存在感小透明

    優秀的程式設計師應該全部都掌握,因為全棧工程師才是最搶手的,把一個人用出多個人的感覺,才是資本主義的最高價值觀。

    但是如果一定要在前端,資料庫與Linux中做選擇的話,我的排序是資料庫>LINUX>前端。

    我們倒著說,為什麼把前端放在最後。

    前後端分離

    當前後端分離的大趨勢下,前後端的耦合越來越弱,以我目前工作的平臺服務來說,前後端僅僅透過api介面通訊,這就意味著,作為Java開發工程師的我,只需要負責提供一個穩定的API介面就夠了,我無須過問前端工程師如何渲染前端頁面,這是PM和FE應該操心的事情。因此,如果我不想往全棧發展的話,根本不用理會前端。

    Linux

    還是以我目前工作的平臺舉例,我們的Tomcat佈置在Linux環境中。

    最最基本的,我們至少要知道如何打包上傳,部署並啟動伺服器,redis,es,MySQL,切換Nginx等等。進階一點,我們需要學會如何利用Linux強大的grep命令去篩選日誌,排查問題。而如果遇到了突發情況,比如Tomcat掛掉,頻繁發生OOM或者其他重啟無法解決的問題,而且從程式碼上也分析不出來問題所在,就要學會用dump,top等等語句來分析現場,定位問題。這種能力雖然不是每天都要用,但是一旦用到,就會派上大用處,不誇張,那時候的你就是同事眼中的超級英雄。

    資料庫

    此處不侷限於MySQL,也包括了ElasticSearch等所有資料持久層。

    上面說到Linux的酷炫使用並非每天都會遇到,但是資料持久層如果出現問題,那麼將會猶如禿子頭上的蝨子一樣顯著。繼續舉例,我們曾經工作的平臺,最初資料持久層用的是MySQL,但是隨著資料量的增大,其反應速度越來越慢,導致頻頻收到使用者的反饋,極大影響了使用者體驗與產品口碑。

    後來,我們想到的辦法是首先引入MySQL主從架構,緩解對單MySQL節點的訪問壓力,其次引入了ES做資料持久層,利用了ES對大資料的快速查詢能力,最終解決了這個問題。

    從以上我說的例子中,我想大家應該就能感受到詳細瞭解資料庫相關知識,對提高JAVA工程的效能有更大的幫助,因此我的建議是大家將更多的精力花在瞭解資料持久層上。

  • 10 # 軟體開發與運維

    1、阿里巴巴JAVA開發手冊

    這是阿里內部經驗濃縮整合的一本JAVA開發規範。書中給出了範例的正確應用方式和錯誤應用方式,可以幫我我們更好的寫出相對規範的JAVA程式碼。

    你不需要完全遵從書中的範例,根據自己實際情況,有選擇的運用。

    2、像計算機科學家一樣思考Java

    3、JAVA8新特性

    4、JAVA9新特性

    5、重構-改善既有程式碼的設計

    6、精通Spring4.x

    7、Linux系統管理與服務配置

    8、高效能MySQL

    9、HTTP權威指南

  • 11 # IT少女

    java往前端學習的話,就是全棧發開了,但是我覺得沒有往深的學習工資高。

    java的架構師工資還是很可觀的,年薪都是30w-60w這樣居多,所以我覺得你往深的學習會比較好。

    java學習資料庫>linux>前端

    首建議資料庫,次建議Linux,末建議前端。

  • 中秋節和大豐收的關聯?
  • Iphone8耳機插入後聲音還是外放,充電正常耳機沒壞,為何不能切換?