首頁>Club>
如題,想將來從事Java開發的工作,我需要去學習什麼呢?
12
回覆列表
  • 1 # 智慧科技電力

    作為一名Java工程師該具備以下幾種實用技能:

    基礎階段:

    1)夯實的java基礎:

    根據企業用人的需求,只有具備堅實的java基礎功底的程式設計師才能快速掌握新的技術。需要在核心演算法、面向物件應用、資料結合及集合框架、反射、輸入輸出、多執行緒、異常處理等方面進行深入學習。

    2)熟悉Linux作業系統

    Linux是當今用作廣泛的伺服器作業系統。合格的java高階工程師必須具備熟練地Linux操作技巧。

    3)深入學習資料庫技術

    網際網路公司對Java應用離不開資料庫技術。任何一個大中型應用,資料庫設計的好壞、資料庫訪問的效率直接決定了該專案的成敗。當前資料庫最主流的技術有Oracle和MySQL兩種,除了能熟練應用資料庫體系結構和SQL語句之外,還要掌握資料庫設計、SQL語句最佳化方面。

    4)系統的Web前端技術

    隨著網際網路技術由Web2.0向Web3.0邁進,Web前端技術,包括HTML、CSS特別是java script語言越來越被企業重視。很多企業為此設定“Web前端工程師”崗位,所以作為一名合格的java高階工程師要不斷學習包括java script在內的Java知識還有其相關的Ajax、JQuery框架、Ext-JS框架。

    進階階段:

    5)企業及框架

    Java是元件和框架的世界,所有的java程式設計師都應當瞭解java框架。

    6)專門的企業級開發及部署環境

    企業在開發、測試、部署實際專案時需要有特定的軟體環境,但是很多技術人員往往不太重視這個,所以在工作中會出現很多問題和失誤甚至被淘汰。因此,作為java工程師對Linux高階命令集指令碼程式設計、遠端登入、Art、單元測試技術、Maven構建技術、SVN應用技術等要有所瞭解。

    7)規範的企業開發流程及文件

    軟體開發是團隊合作,因此企業開發流程和文件規範尤為重要。這也是區分“草根程式設計師”和“正規程式設計師”的重要指標之一。開發專案專案無論大小都應該按照企業開發的流程進行(需求分析、系統設計、編碼實現、單元測試、系統測試、部署上線)。

  • 2 # 文小飛

    如果是0基礎的話需要另說了,需要去培訓機構的,自學的壓力大,靜不下心而且沒有現成的專案,所以如果想學的話,可以參考黑馬,北大青鳥等等。

    那麼要當JAVA工程師,需要掌握以下技能

    1.java 基礎

    不用說精通,至少是常用的要熟練。必須熟悉JDK帶的一些常用命令及其常用選項,命令至少需要熟悉:appletviewer、HtmlConverter、jar、 java、javac、javadoc、javap、javaw、native2ascii、serialver。

    2. 各種工具的使用

    必須至少熟練使用一種IDE的開發工具,例如Eclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator或者Workshop,包括進行工程管理、常用選項的設定、外掛的安裝配置以及進行除錯

    3.j2ee框架

    用java來做WEB應用,少不了使用j2ee框架,目前主要使用的有1)struts 2)spring 3) hibernate 4)ibatis 5)spirngMvc 等等的其他一些相似的框架,還有經常會用到的快取框架例如memcached ,ehcache,oscache等。

    4. 資料庫基礎

    資料庫當下主要還是關係型資料庫,產品有oracle mysql sqlserver db2,需要掌握基本使用,和根據業務邏輯設計表,索引,檢視,儲存過程,函式等。

    5.設計模式

    知道常用設計模式的優缺點·能畫出常用設計模式的UML圖,知道並且能夠在適當的時候用來解決問題就可以了。

    6. 應用伺服器

    web應用需要部署到應用伺服器上,常用的產品有tomcat,jboss, apache,resin 等等,還有用來提升效能的反向代理伺服器如nginx等,需要掌握如何部署專案,基本除錯,調優。  

    7.Linux系統

    如果編碼通常在windows環境下,可是生產環境卻通常是在Linux下,需要掌握的是shell指令碼,各種軟體的安裝,部署。

    8. 資料結構演算法

    程式設計=資料結構 + 演算法,平常的工作中用到的不是很多。

    9. 多執行緒

    在面試中多執行緒的和執行緒池是比較被容易問到的,比如:怎麼實現多執行緒,Thread和Runnable的區別和聯絡、多次start一個執行緒會怎麼樣、執行緒有哪些狀態執行緒池有幾種?這幾種執行緒池之間有什麼區別和聯絡?執行緒池的實現原理是怎麼樣的?這些問題能熟悉更好。

  • 3 # 去說

    Java基礎1、List 和 Set 的區別2、HashSet 是如何保證不重複的3、HashMap 是執行緒安全的嗎,為什麼不是執行緒安全的(最好畫圖說明多執行緒環境下不安全)?4、HashMap 的擴容過程5、HashMap 1.7 與 1.8 的 區別,說明 1.8 做了哪些最佳化,如何最佳化的?6、final finally finalize7、強引用 、軟引用、 弱引用、虛引用8、Java反射9、Arrays.sort 實現原理和 Collection 實現原理10、LinkedHashMap的應用11、cloneable介面實現原理12、異常分類以及處理機制13、wait和sleep的區別14、陣列在記憶體中如何分配Java 併發1、synchronized 的實現原理以及鎖最佳化?2、volatile 的實現原理?3、Java 的訊號燈?4、synchronized 在靜態方法和普通方法的區別?5、怎麼實現所有執行緒在等待某個事件的發生才會去執行?6、CAS?CAS 有什麼缺陷,如何解決?7、synchronized 和 lock 有什麼區別?8、Hashtable 是怎麼加鎖的 ?9、HashMap 的併發問題?10、ConcurrenHashMap 介紹?1.8 中為什麼要用紅黑樹?11、AQS12、如何檢測死鎖?怎麼預防死鎖?13、Java 記憶體模型?14、如何保證多執行緒下 i++ 結果正確?15、執行緒池的種類,區別和使用場景?16、分析執行緒池的實現原理和執行緒的排程過程?17、執行緒池如何調優,最大數目如何確認?18、ThreadLocal原理,用的時候需要注意什麼?19、CountDownLatch 和 CyclicBarrier 的用法,以及相互之間的差別?20、LockSupport工具21、Condition介面及其實現原理22、Fork/Join框架的理解23、分段鎖的原理,鎖力度減小的思考24、八種阻塞佇列以及各個阻塞佇列的特性Spring1、BeanFactory 和 FactoryBean?2、Spring IOC 的理解,其初始化過程?3、BeanFactory 和 ApplicationContext?4、Spring Bean 的生命週期,如何被管理的?5、Spring Bean 的載入過程是怎樣的?6、如果要你實現Spring AOP,請問怎麼實現?7、如果要你實現Spring IOC,你會注意哪些問題?8、Spring 是如何管理事務的,事務管理機制?9、Spring 的不同事務傳播行為有哪些,幹什麼用的?10、Spring 中用到了那些設計模式?11、Spring MVC 的工作原理?12、Spring 迴圈注入的原理?13、Spring AOP的理解,各個術語,他們是怎麼相互工作的?14、Spring 如何保證 Controller 併發的安全?Netty1、BIO、NIO和AIO2、Netty 的各大元件3、Netty的執行緒模型4、TCP 粘包/拆包的原因及解決方法5、瞭解哪幾種序列化協議?包括使用場景和如何去選擇6、Netty的零複製實現7、Netty的高效能表現在哪些方面分散式相關1、Dubbo的底層實現原理和機制2、描述一個服務從釋出到被消費的詳細過程3、分散式系統怎麼做服務治理4、介面的冪等性的概念5、訊息中介軟體如何解決訊息丟失問題6、Dubbo的服務請求失敗怎麼處理7、重連機制會不會造成錯誤8、對分散式事務的理解9、如何實現負載均衡,有哪些演算法可以實現?10、Zookeeper的用途,選舉的原理是什麼?11、資料的垂直拆分水平拆分。12、zookeeper原理和適用場景13、zookeeper watch機制14、redis/zk節點宕機如何處理15、分散式叢集下如何做到唯一序列號16、如何做一個分散式鎖17、用過哪些MQ,怎麼用的,和其他mq比較有什麼優缺點,MQ的連線是執行緒安全的嗎18、MQ系統的資料如何保證不丟失19、列舉出你能想到的資料庫分庫分表策略;分庫分表後,如何解決全表查詢的問題20、zookeeper的選舉策略21、全域性ID資料庫1、mysql分頁有什麼最佳化2、悲觀鎖、樂觀鎖3、組合索引,最左原則4、mysql 的表鎖、行鎖5、mysql 效能最佳化6、mysql的索引分類:B+,hash;什麼情況用什麼索引7、事務的特性和隔離級別快取1、Redis用過哪些資料資料,以及Redis底層怎麼實現2、Redis快取穿透,快取雪崩3、如何使用Redis來實現分散式鎖4、Redis的併發競爭問題如何解決5、Redis持久化的幾種方式,優缺點是什麼,怎麼實現的6、Redis的快取失效策略7、Redis叢集,高可用,原理8、Redis快取分片9、Redis的資料淘汰策略JVM1、詳細jvm記憶體模型2、講講什麼情況下回出現記憶體溢位,記憶體洩漏?3、說說Java執行緒棧4、JVM 年輕代到年老代的晉升過程的判斷條件是什麼呢?5、JVM 出現 fullGC 很頻繁,怎麼去線上排查問題?6、類載入為什麼要使用雙親委派模式,有沒有什麼場景是打破了這個模式?7、類的例項化順序8、JVM垃圾回收機制,何時觸發MinorGC等操作9、JVM 中一次完整的 GC 流程(從 ygc 到 fgc)是怎樣的10、各種回收器,各自優缺點,重點CMS、G111、各種回收演算法12、OOM錯誤,stackoverflow錯誤,permgen space錯誤1、具有1-5工作經驗的,面對目前流行的技術不知從何下手,需要突破技術瓶頸的。2、在公司待久了,過得很安逸,但跳槽時面試碰壁。需要在短時間內進修、跳槽拿高薪的。3、如果沒有工作經驗,但基礎非常紮實,對java工作機制,常用設計思想,常用java開發框架掌握熟練的。4、覺得自己很牛B,一般需求都能搞定。但是所學的知識點沒有系統化,很難在技術領域繼續突破的。

  • 中秋節和大豐收的關聯?
  • 泰迪犬的價格會受到什麼因素的影響?