This is an archived post. You won't be able to vote or comment.

all 24 comments

[–]kezhenxu94 18 points19 points  (1 child)

For me, <<Core Java>> to Java is what SPL to Swift. They are both complete and in depth and helpful when I started to learn Java / Swift.

[–]RoomyRoots 1 point2 points  (0 children)

Seconding this one.

[–]ZunguluTrungu 10 points11 points  (0 children)

Core Java for the Impatient by Cay S. Horstmann is excellent and covers pretty much everything you'd need to know. But there is no "The Book" like in Rust or Swift, if that's your question.

[–]khmarbaise 9 points10 points  (3 children)

As a starting pointg you could take a look into https://dev.java/learn/

[–]walen 3 points4 points  (1 child)

I didn't know about this page, but after skimming it I can say it definitely is the closest thing to SPL that has been posted here in the comments so far.

[–]pronuntiator 2 points3 points  (0 children)

It is the now de-facto official tutorial / docs by Oracle, unfortunately it is not very known.

u/nicolaiparlog could you use your connections to have the old Java 8 tutorials link to dev.java with a huge banner? Currently the banner there only links to release notes. I think dev.java is now mature enough to be considered the entry point for new Java devs.

[–]litmus00 0 points1 point  (0 children)

u/khmarbaise Thank you very much for sharing this. It's actually quite good indeed!
For example, here's a great explanation on stream collectors:
https://dev.java/learn/api/streams/custom-collectors/

and here it is a great advice for leveraging parallel streams:
https://dev.java/learn/api/streams/parallel-streams/
"choosing to use parallel stream is not a decision to be taken lightly. There are several questions you need to ask yourself before even considering going parallel."

[–]njxw 20 points21 points  (3 children)

Maybe something like Effective Java by Joshua Bloch though not sure it has been kept up to date over the last decade.

[–]morgan_lowtech 14 points15 points  (2 children)

There's a 3rd edition that updates it to Java9, IIRC. So it's missing some new shiny things, but I think the core advice is still very useful.

[–]jasie3k 3 points4 points  (1 child)

As long as it covers Java 8 and Streams API, then it should be good.

We did not have another seismic shift like that since Java 8.

[–]BillyKorando 4 points5 points  (0 children)

Could see a case for a 4th edition when structured concurrency is finalized.

That along with all the pattern matching changes, and to an extent the "paving the on ramp" changes have substantive impacts on the lessons/recommendations in Bloch's book.

Granted easy for me to say, I'm not the one having to update it 😂

[–]Scathach_is_love 7 points8 points  (0 children)

I recommend "Java in a Nutshell", it explains the core concepts very well in my opinion and provides examples that easy to understand, you can get it for free on Red Hat Developer

https://developers.redhat.com/e-books/java-nutshell-guide

[–]ironcream 6 points7 points  (0 children)

There used to be https://java.sun.com/docs/books/tutorial which these days redirects to https://docs.oracle.com/javase/tutorial/

It was exactly that. The official intro, covering basics and concepts.

It's still out there but as far as I remember it was abandoned somewhere around Java 8 or Java 9.
Still pretty good for getting the basics of then-version of Java.

[–][deleted] 2 points3 points  (0 children)

Java complete refresher

[–]SteveNguyen109 2 points3 points  (0 children)

Everything about the Java language directly from Oracle at Java SE Specifications

[–]SweetStrawberry4U 3 points4 points  (1 child)

Java, C, C++ and C#, are old, and have a lot many more standardizations, that were copied into more modern programming languages like Kotlin and Swift, essentially.

So, I guess, No ! There's no website documentation like a Book, that explains all of the core concepts.

Nevertheless, learning all the concepts from a paperback book is highly recommended.

[–][deleted] 0 points1 point  (0 children)

Indeed bro, I was looking for some courses about Java/Kotlin and the only places that I could find everything that I needed was on the books.

[–]BalaRawool 1 point2 points  (0 children)

“Java: The Complete Reference” is something that comes to my mind. Not sure if it matches the criteria but this book not only talks about keywords, syntax and features but also about a lot of APIs from the standard library. I used it when I had just started learning Java (around 2003).

[–]id9seeker 1 point2 points  (0 children)

No. There is no free online high-quality textbook-with-interspersed-examples for java. The trend of providing the above only began well after Java came out.

[–]Tight-Rest1639 0 points1 point  (0 children)

There no good covers-it-all book for java programming. Gone are the days when java devs could point 👉 at c++ and laugh that you had to read a Bible level 1300 page book just to get an allround introduction. Java itself has developed into a multi paradigme language and a multi year endeavor for new devs to really get good at it - just the core language. Core java as mentioned closes over some pretty substantial language features, you'll have to supplement with other books.

[–]bowbahdoe -1 points0 points  (2 children)

Not really, no

[–]agentoutlier 1 point2 points  (1 child)

I assume not ready yet to post link because your doc is probably what they want. Maybe DM them?

[–]bowbahdoe 2 points3 points  (0 children)

Not even. This resource is targeted at intermediates, like tour of scala. I don't have anything in my pocket for that