How to learn in the most effective and efficient way.

thank you

Dani AI

Generated

A compact, practical roadmap that combines what others here have already suggested: pick a small, real goal and learn only what you need to reach it, then iterate. Several replies point this same idea — pushed hands‑on use, urged real projects, and reminded that community work usually expects contributors to be productive. Start by setting up a modern JDK (use a current LTS), a friendly IDE, and a simple version control workflow so you can build, run and track changes immediately.

A focused learning sequence you can follow:

  1. Environment: install an LTS JDK and an IDE (Community editions are fine). Learn how to compile, run and debug from the IDE and the command line.
  2. Core syntax and OOP: types, control flow, classes, inheritance, interfaces, exceptions and basic unit tests.
  3. Collections and generics, file I/O, and small algorithms. Build three tiny projects (CLI calculator, a file‑backed to‑do list, and a basic HTTP fetcher) to exercise those areas.
  4. Tooling: add Git, write JUnit tests, and learn a build tool (Maven or Gradle). Use the debugger and read API docs for classes you use.
  5. Next: lambdas/streams, concurrency basics, and one larger project or a beginner‑friendly open‑source issue when ready.

Pitfalls and tips: avoid outdated or unchecked tutorials; cross‑check tricky points against the official Java docs. Write tests early and learn to debug — that beats blind copying. Follow ’s advice about open source: start by learning independently, then look for projects labeled for beginners. Ignore spam and stick to asking specific, reproducible questions when you need help.

Recommended Answers

All 8 Replies

by using it...

Work through Head First Java (2nd edition) to start with and give you a decent background to work on.
After that, read (and try to understand) the language specification.

I had a decent start with The Complete Reference: Java 2 by Herbert Schildt... But somewhere, Herb has some misconceptions. (As quoted by someone over here in one of my previous threads. Probably it was jwenting).. That apart, it is a good starting point, especially if you are having a transition from C++ to Java. It emphasizes on all the similiarities and dissimiliarities between the two.

A moderator of this forum has made a really good sticky for this exact purpose: link.

Look into it and feel free to ask any specific questions.

Black Box

forget about Herb Schildt's book, it's full of serious errors.

Practice coding as much as you can, work in some real life java project.

Hmm, that's actually good advice, but if by that he meant an open source product that's meant to be used (so not just for the entertainment of coding), than you should make sure you have something to offer to that community.

As a beginner, you'll be more of a pain to them than you'll be a gain... A project like that is great for learning, that is true, but the community will appreciate it more when you can give something meaningful back to them too.

However, this *can* be your goal. If you work hard enough you'll soon be able to be a part of some community and make a difference. Good luck on your trip. :)

Black Box

Hi Please visit this page <<<spam removed>>>. This tutorial website is useful for the beginners.

no it's not. It's a terrible site. And spamming is not allowed here.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.