02.26 萬能的頭條,一個沒有工作經驗的Java程序員需要掌握多少技術?

是以前大不同


本人不是java工程師,如果是剛畢業,公司更看重的是基礎,而且java後續的發展有很多方向,看你具體以後從事什麼了,建議你可以儘快工作,在工作中學習或者瀏覽一些開源項目,看看項目裡面有應用到什麼技術。


莊裡小趙


我們就是一個技術團隊,後端語言就是Java 的。每年我們會招聘一些實習生、應屆生。他們的技術其實都沒有到達投產的地步,進了公司也是分一些邊角料的活幹幹(不是歧視,而是有難度的活也幹不了,先鍛鍊一下工作習慣),在這個過程中最重要的不是技術,而是基礎知識、基本素質。只要平時在學校裡不混的,主修科目都能完成的基礎知識就夠了。剩下的全看工作態度了,這個態度就是責任心、學習能力和溝通能力,這三點至關重要,甚至決定了職業生涯的發展趨勢。所以,如果你是一個新人,技術實力薄弱是正常的,大部分人都這樣,但是工作態度與敬畏之心是各自的軟實力,在我們公司最後幹得好的,加薪快的基本都是工作責任心強的,學習溝通能力好的,做好全面兩樣技術的提升就是水到渠成的事情。


豎排科技創始人


Java技術棧總體來講是比較深的。

基礎:

Java語言,如果是新學,最好是從Java8開始。

Spring,MyBatis,JSON,SpringMVC,SpringBoot等常見框架。

Maven,Svn,Git構建及管理相關工具。

Linux服務器基礎操作。

Nginx。

MySql,Redis,MongoDb。

中級

基礎項中的技術的基礎原理,概念需要更深入的瞭解。同時還會遇到更多以下知識點:

JVM,JUC(多線程),Dubbo,SpringCloud,負載均衡,分佈式。

中級主要是需要比基礎多出更多的內功,以及對分佈式、多線程需要有多更更深的理解。同時具備較強的解決未知問題的能力,尤其是在各種技術的性能角度。

高級

NIO,NETTY,Docker,Elasticsearch,以及大數據相關的一系列的技術。


上面提到的只是比較常見的一些,如果深入的某一個細分領域,會有非常多的框架、技術原理、概念的出現。

其實研發最需要的就是解決各種難題的能力,無論是從一個業務邏輯,還是到系統架構怎樣設計更合理,能夠解決實際技術問題的人,就會更具備優勢。


科技談彈譚


按照Java從業人員的職位晉升來說,Java程序成長路線大致如下

Java程序員

JavaEE初級軟件工程師

JavaEE中級軟件工程師

JavaEE高級軟件工程師

Java架構師

按照職業發展方向,大致如下

第一條職業發展路線(技術專精): 初級Java開發---中級--高級---項目主管--Java項目經理---網站架構師

第二條職業發展路線(技術轉產品):初級Java開發---中級--產品策劃--產品經理---產品總監

Java初級程序員應該具備的技術

Java基本語法

Java面向對象編程

反射、泛型、註解符、自動裝箱和拆箱、枚舉

IO、多線程、實體類

集合類、正則表達式

XML和屬性文件

多線程

網絡套接字

算法分析與設計

JavaEE初級軟件工程師

JSF框架開發技術,配置文件(頁面導航、後臺Bean)、JSF組件庫(JSF EL語言、HTML標籤、事件處理、)、JSF核心庫(格式轉換、輸入驗證、國際化)

Javaweb核心開發技術

開發環境(Eclipse、Linux)

三大組件(JSP、JavaBean、Servlet)

擴展技術(EL、JSTL、Taglib)

網頁開發技術,HTML、XML、CSS、JavaScript、AJAX

數據庫設計技術,MySql、Oracle(這兩個數據庫能夠掌握就可以了,畢竟Java開發用得最多就是這兩個)

Web服務器(Tomcat/Jetty/Resin/JBossWeb)

JavaEE中級軟件工程師

多深入一下對Spring框架的應用

多深入一下對Spring MVC框架的應用

掌握好MyBatis這種輕量級ORM框架

工作流

搜索引擎

緩存引擎

設計模式

JavaEE高級軟件工程師

任務調度

身份認證

報表服務

系統測試

集群

負載平衡

故障轉移

JavaWeb分佈式開發技術

JTA(Java事物管理)

JNDI(Java命名和目錄服務)

JavaMail(Java郵件服務)

JMS(java信息服務)

WebService(web服務)

JCA(java連接體系)

JMS(java管理體系)

Java架構師

面向雲架構(COA)

COA、SaaS、網格計算、集群計算、分佈式計算、雲計算

面向資源架構(ROA)

ROA、RESI

面向web服務架構(SOA)

WebService、SOA、SCA、ESB、OSGI、EAI

Java設計模式

創建式模式:抽象工廠/建造者/工廠方法/原型/單例

構造型模式:適配器/橋接/組合/裝飾/外觀/享元/代理

行為型模式:責任鏈/命令/解釋器/迭代子/中介者/備忘錄/觀察者/狀態/策略/模板方法/訪問者

Java與UML建模

對象圖、用例圖、組件圖、部署圖、序列圖、交互圖、活動圖、正向工程與逆向工程


深挖君


java最好學移動端的,flex佈局架構先學好,然後學vue這個現在基本上都是前端開發工程師必須,再說現在很多企業都要求全棧,雖然說不現實,但多一樣技術的話,應該比較好的,增強自己的競爭力,HB集成開發環境先學好,把工具練熟。



齒輪動力劇場秀


對Java程序員來說,技術就相當於薪資,你的技術越高,薪資也就隨之增加。

就目前畢業的學生來講,主要有以下就業方向:

前端開發、Java後端開發、Java遊戲開發、Java桌面程序設計,以及其他與Java語言編程相關的工作,

也可進入電信、銀行、醫療、郵箱、物流、保險專業軟件開發公司等從事軟件設計和開發工作。

具體學習的Java課程有:

階段一的Java基礎。

一、基礎知識:

1、JVM、JRE和JDK的區別:

JVM(Java Virtual Machine):java虛擬機,用於保證java的跨平臺的特性。

java語言是跨平臺,jvm不是跨平臺的。

JRE(Java Runtime Environment):java的運行環境,包括jvm+java的核心類庫。\t

JDK(Java Development Kit):java的開發工具,包括jre+開發工具

2、環境變量path和classpath的作用是什麼?

(1)path是配置Windows可執行文件的搜索路徑,即擴展名為.exe的程序文件所在的目錄,

用於指定DOS窗口命令的路徑。

(2)Classpath是配置class文件所在的目錄,用於指定類搜索路徑,JVM就是通過它來尋找該類的class類文件的。\t

3、變量有什麼用?為什麼要定義變量?什麼時候用?

答:變量的作用:用來存儲數據。

為什麼要定義變量:用來不斷的存放同一類型的常量,並可以重複使用

4、&和&&的區別?

答:(1)&&會出現短路,如果可以通過第一個表達式判斷出整個表達式的結果,則不繼續後面表達式的運算;

只能操作boolean類型數據;

(2)&不會出現短路,將整個表達式都運算。既可以操作boolean數據還可以操作數。

5、標示符命名規則:

由數字(0-9),大小寫英文字母,以及_和$組成。

不能以數字開頭。

不能使用關鍵字來自定義命名。

6、數據類型:

(1)基本數據類型(4類8種):

整數類型:byte、short、int、long

浮點數類型:float、double

字符類型:char

布爾類型:boolean(ture false)

(2)引用數據類型:

接口

數組

7、類型轉換

8、java語言的三種技術架構

9、java的跨平臺性

10、有符號數據的表示法(次重點)

11、函數

12、重載

13、數組

14、內存結構:

二、面向對象

1、面向對象思想:

2、類和對象:

3:成員變量和局部變量的區別(重點)

4、匿名對象

5、封裝:

6、關鍵字private:封裝在代碼中的體現

7、構造方法:

8、構造代碼塊:

9、this關鍵字

10、Person p = new Person();在內存中做了哪些事情。

11、static關鍵字

12、製作API(次重點)

13、單例設計模式

三、多線程:

四、集合框架

五、IO流

1、IO流概述

(1)用來處理設備(硬盤,控制檯,內存)間的數據。

(2)java中對數據的操作都是通過流的方式。

(3)java用於操作流的類都在io包中。

(4)按照流操作的數據的類型不同:分為字節流和字符流。字符流是為了方便中文的操作而來的。\t

(5)按照流的流向不同分為:輸入流,輸出流

階段二是JavaWeb的學習。Web前端開發基礎和框架、Servlet和JSP在Web後端的應用、Web後端開發相關專題、MVC和分層架構以及項目開發流程及CASE工具的使用等。

階段三是 Java框架。框架是程序中另一種存儲數據的方式,比直接使用數組來存儲更加的靈活,在項目中應用十分廣泛。同時,框架整合開發(SSH/SSS)、RESTful架構和移動端接口設計、第三方接口和在線支付功能、網站安全和Spring Security應用實戰、複雜用戶交互處理和Spring Web Flow的應用、MyBatis的應用和SSM整合,我們將深入研究其中涉及到的數據結構和算法,對學生的技術深度有了一個質的提升。

階段四是Java+雲數據。億級併發架構演進、Linux基礎、搭建tomcat環境以及大數據開發雲計算等高級Java教程,是Java技術的高端知識。其中穿插項目實戰演練,企業真實項目供學生應用學習,進行知識體系的“二次學習”。

現在人工智能、大數據是一個趨勢,在學習Java之後,如果能再學習一些相關的技術,會增加你的就業優勢!


程序猿之奇異世界


如果是零基礎學習java ,可以先自學一些基礎知識,給你推薦一個網站、兩本書。

How2J 的 Java教程:

https://how2j.cn

「Java 核心技術」,「Effective Java中文版」

學習Java編程和學習任何其實知識都一樣。

知識點+練習+總結

看知識點,看實例,做練習。這個過程中是以練帶學的過程。不要死記硬背知識點,把知識點用起來,才能記得住、記得準、記得牢。

當你積累了一定的基礎知識後,再深入學習。

深入學習的具體途徑和方法可參考如下:

一:底層源碼分析

學習Java技術體系,設計模式,流行的框架與組件

· 常見的設計模式,編碼必備

· Spring5,做應用必不可少的最新框架

· MyBatis,玩數據庫必不可少的組件

二:工程化與工具

工欲善其事必先利其器,不管是小白,還是資深開發,玩Java技術體系,選擇好的工具,提升開發效率和團隊協作效率,是必不可少的:

· Maven,項目管理

· Jenkins,持續集成

· Sonar,代碼質量管理

· Git,版本管理

三:分佈式架構

高併發,高可用,海量數據,沒有分佈式的架構知識肯定是玩不轉的:

· 分佈式架構原理

· 分佈式架構策略

· 分佈式中間件

· 分佈式架構實戰

四:微服務架構

業務越來越複雜,服務分層,微服務架構是架構升級的必由之路,Java技術體系,和微服務相關的技術有哪些呢?

· 微服務框架

· Spring Cloud

· Docker與虛擬化

· 微服務架構

五:性能優化

任何脫離細節的ppt架構師都是耍流氓,向上能運籌帷幄,向下能解決一線性能問題,Java技術體系,需要了解:

· 性能指標體系

· JVM調優

· Web調優

· DB調優

現在的技術更新很快,但基礎很重要。如果真的想學好JAVA,建議把基礎知識學透,然後再學高階的東西。

以上的個人建議,希望能給你幫助。


碼家花園


兩種情況

1.老系統 需要掌握 jsp jquery springMVC mybatis mysql postgreSql oracle redis 定時任務 存儲過程

2.新系統 springboot springcloud MQ java8 mybatis spring security spring data redis 數據庫


方小遠記事


行業從業者建議:

1.基礎的數據庫技術。以及起碼有一門自己可以基本操作的數據庫,像Oracle、MySql或者sql server等這些市場上的軟件公司、互聯網公司在使用的數據庫

2.Java的基礎編程知識,這一方面可能學習的時候感覺會有點紙上談兵的感覺,但是工作中其實會一直用到。沒有好的基礎就算找到了工作也很難堅持下去。這方面你可以多看點Java方面進階的書。《thinking in java》、《Effective Java》這些Java界的四大名著空餘的時候多讀一下,給自己打牢編程基礎

3.學會看eclipse或者IDEA上報錯的信息,異常的信息。個人覺得這一點對實習生還是很需要學習的方面。空指針可能是哪方面導致的,還有類似於ClassNotFound啊等等一些編程常見的異常在工作中都是“一生相伴”的老朋友。

4.學習java編程中常用的框架技術。SSH也好SSM也好都是為了編程結構層次更明確更便於管理維護的框架,擁有好的框架技術對編程具有很深遠的影響

5.養成良好的編程習慣。類名方法名別用拼音,數據庫字段別用拼音,實在不會英文先百度有道。存文件的文件夾不要用中文,這些基本的編程習慣也是工作中需要的。一般公司都有會有一些自己獨特的編程風格,有良好的編程習慣進入就可以更快的熟悉公司的編程風格。


禾令奇


彆著急,慢慢來

1、需要掌握那些技術,是根據當前公司的需要,當前項目的需要而來的,你會基礎就行,會什麼先做什麼,不會什麼學什麼,程序員是活到老學到老。

2、小公司從前端到後端,從售前到售後全部到要會,從需求到開發再到維護都要會,從框架到數據庫再到邏輯再到頁面全都要會。

3、大公司,分工要細緻寫,框架專職做,數據庫專職做,後臺專職做,頁面專職做。單前提是你要先進去。


分享到:


相關文章: