Java是當今世界三大程式設計語言之一。它可被用來開發Web應用和桌面應用,而且它是跨平台的 - 一次編譯,多處運作(write once, run everywhere)。而且,Java上手十分簡單。如果你想要成為一名合格的Java開發者,你需要看看自己是否知道一下内容。
下面的清單是由一個進階Java開發者Vivek Vermani總結的。
對于一個核心Java開發者來說,他最好應了解以下内容。
(1) 面向對象(OOP)的概念
(2) 抽象類(abstract class)和接口(interface)
(3) 構造函數(constructor)和初始化順序
(4) 檔案輸入/輸出(IO)和序列化(serialization)
(5) 集合(collection) - List、Map、Set
(6) 通路修飾符(access specifier)
(7) 異常(exception) - 檢測(checked)、未檢測(unchecked)
(8) 泛型(generic)
(9) Java保留字 - static、final、volatile、synchronized、transient、this、super等
(10) JVM和記憶體管理
(11) 多線程(multithreading)及同步(synchronized)
(12) 設計模式(design pattern)
(13) 反射(reflection)
(14) Lambda表達式
《Java面試問題及答案-快速浏覽》中包含200多個有關Java核心技術的問題。
如果你想關注網絡(network) / 分布式(distributed)應用,你需要了解:
(1) 通信協定,如IP、HTTP、TCP、FTP、UDP,閱讀相關RFC文檔是很有必要的
(2) 異步(synchronous)通信 vs 同步(asynchronous)通信
(3) socket
(4) 諸如遠端方法調用(RMI,Remote Method Invocation)、RCP等技術
(5) 消息隊列(message queue)
(6) 接口API,如JMS、JDBC、ORM、Hibernate
如果需要開發基于Java的Web應用,則要學習以下内容:
(1) JSP / Servlets
(2) Web架構,如Struts、Spring
(3) 面向服務的架構(Service Oriented Architecture)/ Web服務,如SOAP、Rest
(4) HTML、CSS、Javascript、JQuery等技術
(5) 标記(Markup)語言,如XML、JSON
(6) 應用伺服器和Web伺服器,如Tomcat
(7) 緩存(caching)
(8) Web應用伺服器,如WebLogic、WebSphere
(9) 雲服務,如AWS、SoftLayer、BlueMix
(10) 類庫,如Java mail、log4j、Jackson JSON
如果需要進行Java UI相關開發,那麼要了解的内容有
(1) Applet
(2) 諸如Swing、SWT、AWT等架構
(3) 進階架構,如JavaFX、JMF
作為一個Java開發者,了解一些資料庫的知識也是很有必要的。
(1) SQL查詢 - 内聯接(inner join)、外聯接(outer join)、分組(group by)、having
(2) 存儲過程(stored procedure)
(3) 觸發器(trigger)
(4) 遊标(cursor)
(5) 資料庫驅動,如JDBC
(6) JavaBean
此外,還需要了解有關開發工具、方法論、開發流程等一系列内容。
(1) 開發工具,如Eclipse、RAD、IntelliJ IDEA
(2) 設計工具和圖表
(3) 配置管理工具,如SVN、Clearcase等
(4) 糾錯(defect)管理
(5) Build工具,如Maven、Ant等
(6) 測試 - 單元測試(unit testing)、JUnit、黑盒(black box)、白盒(white box)
(7) 開發方法論 - 靈活開發(agile)、瀑布流(waterfall)、疊代(iterative)
(8) 需求分析(requirement analysis)
(9) 釋出(release)管理
(10) 逆向工程(reverse engineering) - JadClipse(一種Java反編譯器)
(11) Open JDK源代碼 - Mercurial on Eclipse
下面的連結對你的學習可能會有所幫助
(1) The Java Tutorials
(2) Java revisited
(3) JavaWorld
(4) Java2s - Many Java code snippets
(5) Java - Interview Questions and Answers - Quick Reference - One Liners
(6) Java web tutorials
(7) Java Concurrency / Multithreading Turtorials
(8) Introduction to Java programming
(9) 200+ Java / J2EE Interview Questions and Answers
(10) Struts Framework - Interview Questions and Answers
(11) Spring Interview Questions FAQs Interview Questions Spring Tutorial JSF Interview Questions Hibernate Interview Questions
(12) WAS / WSAD / RAD - Interview Questions and Answers
(13) JavaScript Interview questions and answers
(14) Interview Questions and Answers on Markup Languate - XML, JSON
原文位址:Want to be a Java developer ?