想成为一名Java开发人员?
jopen 10年前
Java是当前常用的3种编程语言之一。它能够用于开发Web应用和桌面应用,更重要的是它还是跨平台的--一次编写,到处运行。此外,它还易于学习。
如果你想成为一名Java开发人员,请去问问自己,你是否知道下面列出的主题。
这个列表是由 Vivek Vermani 总结,一个高级Java开发人员:
对一个核心Java开发人员,以下主题应该熟练掌握。
- OOPs Concepts
- Abstract Classes and Interfaces
- Constructors and initialization order
- File IO and Serialization
- Collections - List , Map , Set
- Access Specifiers
- Exceptions - Checked , Unchecked
- Generics
- Java Keywords - Static , Final , volatile, synchronized , transient, this super etc.
- JVM and Memory Management
- Multithreading and Synchronization
- Design Patterns
- Reflections
- Lambda Expressions
Here is a list of 200+ questions on Core Java - Java - Interview Questions and Answers - Quick Reference - One Liners.
如果你想专注于网络/分布式应用程序,需要了解下面的主题
</div> - Communication Protocols like IP, HTTP, TCP, FTP,UDP (Reading some RFCs is necessary)
- Synchronous vs Asynchronus Communication
- Sockets
- Technologies like RMI, RCP
- Message Queues
- Interface APIs - JMS, JDBC , ORM , Hibernate
如果你想工作基于Java的Web应用程序,然后下面的主题应该学习
</div> - JSP / Servlets
- Web Frameworks like Struts / Spring
- Service Oriented Architecture / Web Services - SOAP / Rest
- Web Technologies like HTML, CSS, Javascript and JQuery
- Markup Languages like XML and JSON.
- Application and Web Servers (Tomcat)
- Caching
- Web application servers (WebLogic, WebSphere)
- Some cloud service (AWS, SoftLayer, BlueMix)
- Some libraries (Java mail, log4j, Jackson JSON)
如果你想开发Java用户界面,那么下面的主题是可以学习的 -
</div> - Applets
- Frameworks like Swing, SWT, AWT
- Advanced Framewroks like JavaFX, JMF
每个Java开发者预计将要掌握的数据库知识
</div> - SQL Queries - Inner Outer Joins, Group By , Having
- Stored Procedures
- Triggers
- Cursors
- Database drivers (JDBC)
- JavaBeans
Moreover questions around Tools, Methodologies, Processes can be asked -
- Development Tools - Eclipse / RAD / IntelliJ IDEA
- Design Tools and Diagrams
- Configuration Management Tools like SVN, Clearcase etc
- Defect Management
- Build Tools like Maven, Ant etc
- Testing - Unit Testing, JUnit , Black box , White Box
- Development Methodologies - Agile / Waterfall / Iterative
- Requirement Analysis
- Release Management
- Reverse engineering -- JadClipse(A Java decompiler)
- OpenJDK source code --(Mercurial on Eclipse)
Here are few links that might help.
- The Java Tutorials
- Java revisited
- JavaWorld
- Java2s -- Many Java code snippets
- Java - Interview Questions and Answers - Quick Reference - One Liners
- Java web tutorials
- Java Concurency/Multithreading Tutorials
- Introduction to Java programming - Tutorial
- 200+ Java / J2EE Interview Questions and Answers
- Struts Framework - Interview Questions and Answers
- Spring Interview Questions FAQs Interview Questions Spring Tutorial JSF Interview Questions Hibernate Interview Questions
- WAS / WSAD / RAD - Interview Questions and Answers
- JavaScript interview questions and answers
- Interview Questions and Answers on Markup Languages - XML , JSON