开发者

Java Hierarchy of Learning

I'm learning Java right now but I'm wondering if there is a "hierarchy of tree" in learning Java. Let me explain by giving an example,

So, beginner level in Java should start: Java for dummies, etc...

Intermediate level in Java should start: Ant, JDBC, Hibernate, Swing, Eclipse, etc...

Advance level... J2EE, etc..

Also, it would be nice if there is a document that shows the interconnecti开发者_运维百科on between the topics. For example, it would be preferred to learn JDBC first before Hibernate...


This is my suggested roadmap:

  • Sun Java Tutorials / Core Java series
  • Practice Design Pattern in Java and learn about the idioms most used and popular in the Java world.
  • Effective Java (anyone who has read this has come a long way in learning Java and avoiding common pitfalls)
  • Java Concurrency in Practice
  • Code Complete
  • Browse StackOverflow regularly to keep up with what other people are doing with Java :)

Somewhere when you are reading Effective Java, you can read/practice Jave EE and some frameworks among those you cited and others. I also second @Will's point about ambition, and may I add say that a spirit to do things in a "correct" way while staying pragmatic is also important.


You could do it the way sun would like you to learn through the Java Certifications.

Java Hierarchy of Learning


(source: oracle.com)


  1. First the basics. It Could be boring but there are fun books: Head First Java and indispensable books: Effective Java. If you just want to learn Java this is enough. But the fun part of Java is its interaction with the best development practices, frameworks and development tools.

  2. To have good design basis and have fun learning, I recommend the book Head First Object-Oriented Analysis & Design. Learn the basics of UML without realizing it, but more importantly, learn how to create well-designed software.

  3. Once you have the basis for programming and design basis, you need to know really how things are done in the trenches. A good book is Beginning POJOs: Lightweight Java Web Development Using Plain Old Java Objects in Spring, Hibernate, and Tapestry. Presents you which tools to use: Eclipse, Ant or Maven, CVS or Subversion, etc. What frameworks: Spring, Hibernate and how to integrate everything.

  4. If you want to deepen on the subject of persistence Spring Persistence with Hibernate is an excellent book.

  5. If you want to go to the major leagues and create your own well-designed APIs can not stop reading a recent classic: Practical API Design: Confessions of a Java™ Framework Architect.


The topic is too big.

You don't need to know anything about Swing to do Java Servlets, for example.

You need to know Java, you need to UNDERSTAND classpaths (99.99999999% of java problems are related to classpaths in some way). Then you can move on to whatever you fancy: guis, games, servers, Java EE, Spring, OSGI, J2ME...whatever.


Start a project. Be ambitious.

Your project (and your interests) will guide you to whatever topics you need to learn.

If you don't have a reason to study these topics, then what's the point?


You will need to learn and know the basic Java language by heart. This includes the core of the runtime system. This will take time and require patience and writing programs.

I can recommend the Sun Java Tutorial. Start here: http://java.sun.com/docs/books/tutorial/getStarted/index.html

If you want a book "Head First Java" is nice.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜