Learning Steps for Java Developer

Java Core

This section lists basic parts of Java environment which you should know when you write educational command-line programs and additional software is not required/available.

Java Advanced

This section contains common parts required to know in more advanced Java programming.

  • Common Libraries
  • Generics
  • Reflection - Java's form of RTTI
  • Exceptions
  • Design patterns
  • Programming paradigms
  • CDI
  • Database programming: JDBC, Hibernate, other ORMs
  • Best practises (defensive programming, Effective Java etc.)
  • Building: by JDK, by IDE, Ant, Ivy, Maven, Gradle
  • Class loaders
  • Resources
  • Annotations
  • Internationalization
  • Parallel computing
    • Multi-threading
    • Grid computing
    • GPU computing
  • Quality Assurance
    • Debugging
    • Memory debugging
    • Profiling
    • Unit testing
    • Static code analysis
  • Logging
  • Decompilation
  • Code obfuscation
  • Software patching
  • CI
  • Code documentation

Java for GUI

  • Swing
  • JavaFX
  • other: AWT, SWT
  • designers (Netbeans, Eclipse WindowBuilder)

Java for Web

This section contains parts useful to know when programming web applications.

  • Web interface frameworks
  • Web servers

Java for Enterprise (incl. JEE)

This part contains information on software solutions related to Java enterprise solutions.

  • JEE API: EJB, Servlets, JSP, JSF, JDBC, XML, RMI, JMX, JMS
  • Containers
  • EJB
  • BPEL

Java for mobile

  • Android

Java Expert

Topics for senior Java developer who wants to understand & avoid language & it's environment pitfals.

Optional topics

  • Scientific programming

Share

follow