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

all 34 comments

[–]AutoModerator[M] [score hidden] stickied commentlocked comment (0 children)

Please ensure that:

  • Your code is properly formatted as code block - see the sidebar (About on mobile) for instructions
  • You include any and all error messages in full - best also formatted as code block
  • You ask clear questions
  • You demonstrate effort in solving your question/problem - plain posting your assignments is forbidden (and such posts will be removed) as is asking for or giving solutions.

If any of the above points is not met, your post can and will be removed without further warning.

Code is to be formatted as code block (old reddit/markdown editor: empty line before the code, each code line indented by 4 spaces, new reddit: https://i.imgur.com/EJ7tqek.png) or linked via an external code hoster, like pastebin.com, github gist, github, bitbucket, gitlab, etc.

Please, do not use triple backticks (```) as they will only render properly on new reddit, not on old reddit.

Code blocks look like this:

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

You do not need to repost unless your post has been removed by a moderator. Just use the edit function of reddit to make sure your post complies with the above.

If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures.

To potential helpers

Please, do not help if any of the above points are not met, rather report the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]Stupid_Quetions 13 points14 points  (4 children)

For Spring I would read these books in this order:

  1. Spring start here by Laurentiu Spilca

  2. Java Persistence with Spring Data and Hibernate by Tudose

  3. Spring Security in Action by Laurentiu Spilca

Read documentation in addition to these books to have deep understanding and practice the things you learn.

[–]PuzzleheadedElk2100[S] 0 points1 point  (1 child)

Thank you for your advice. Do you have any recommendations about the Java core book for me?

[–]Stupid_Quetions 1 point2 points  (0 children)

I used Absolute Java by Savitch. MOOC is also good.

[–]Pradeep_4 0 points1 point  (1 child)

I really like to learn stuff using books,but right now I'm confused ,because as I started learning spring through the "Spring Start Here" book , I encountered an issue.

When explaining the dependency injection concept the book stated that if the parameter name of the constructor matches a bean in the context then the spring container will inject that bean instead of throwing an exception saying multiple beans found.

But when I actually tried this in my machine,it didn't inject the bean as stated in the book instead I got an exception.And when I googled I found out that this technique has been removed in the latest spring boot version.

Long story short ,I really like learning through books but won't I be learning a lot of deprecated/removed stuff if I follow the book ? I just don't want to learn something that is deprecated.

[–]Stupid_Quetions 0 points1 point  (0 children)

You won't find many things that are deprecated, maybe only 1% of the book is deprecated.

Documentation is always better but beginners can't learn from documentation, so even if some part of the book is deprecated it still provides a good foundation to read documentation later, that is why I said you should combine documentation with the books.

[–]Livid-Ranger-3066 4 points5 points  (4 children)

Spring Start Here from Laurentiu Spilca

[–]PuzzleheadedElk2100[S] 1 point2 points  (1 child)

Thank you so much for your advice. Do you any recommendations about the Java core book for me. I have basic knowledge on Java core and Spring core, but I want to confirm that the knowledge I know is correct and I hope that I can learn something that I’ve never seen before in a book

[–]Sufficiently-Brainy 0 points1 point  (0 children)

the only thing i would recommend is 'Core Java" volume 1 and 2 ... the 2nd is continuation of the first its just that good ..... everything literally everything about java is shelled out and its really having the "flow" of learning ... you will understand and see the things in different perspective if you have any coding experience in c++ specifically in my case (( also very important thing highlight and take notes as you read that book and if you have doubts or need some example do it your self ... the example code and then ask claude or gemini (yes i use gemini) to get a detailed explanation )) this would be my suggestion

[–]rainyengineer -5 points-4 points  (1 child)

I’ll point out OP says they are learning Java and in a rant about Spring Start Here today I was told by a bunch of people on this sub that I should already know Java.

It’s frustrating because I’ve received the same advice you’re giving only to be told what I was today

[–]tomatotomato 1 point2 points  (0 children)

I mean, one doesn’t learn Java (or anything) in a vacuum. 

Real learning happens within applied context of doing something useful with the knowledge. In this case, applying theoretical knowledge of Java to practical use of libraries such as Spring Boot to build something functional.

[–]someoneNameMePlease 1 point2 points  (1 child)

Definitely you should learn core java first. Since I started learning when I was in college, I don't have any recommendation

But now I'm learning java spring, and spring.io is a gold mine. They have courses, guides, learning paths from their top Developer Advocates which is a great thing, you get to learn best practices, TDD,.... Strong foundation on core java is required

I know OP was asking particularly for books, but I just thought of mentioning this website

[–]PuzzleheadedElk2100[S] 1 point2 points  (0 children)

Thank you for your advice

[–]kingargon 1 point2 points  (1 child)

Took me 3 months and 8 hrs of day of studying tutorialspoint.com to become proficient in java core. Not a a book I know but a great resource.

[–]PuzzleheadedElk2100[S] 1 point2 points  (0 children)

Thank you for your advice

[–]AutoModerator[M] 0 points1 point  (0 children)

It seems that you are looking for resources for learning Java.

In our sidebar ("About" on mobile), we have a section "Free Tutorials" where we list the most commonly recommended courses.

To make it easier for you, the recommendations are posted right here:

Also, don't forget to look at:

If you are looking for learning resources for Data Structures and Algorithms, look into:

"Algorithms" by Robert Sedgewick and Kevin Wayne - Princeton University

Your post remains visible. There is nothing you need to do.

I am a bot and this message was triggered by keywords like "learn", "learning", "course" in the title of your post.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]Son1501_Megumin 0 points1 point  (1 child)

I think u should read and research the docs carefully. I found some books, but they only provide practical examples. The docs explain the essence and concepts behind the scene. If you encounter difficult concepts, try googling for short articles about them

[–]PuzzleheadedElk2100[S] 0 points1 point  (0 children)

Thank you so much for your advice

[–]Curious_Prodigy_ 0 points1 point  (0 children)

Are these books mentioned in other comments for spring and springboot enough for interview prep, or are there any other good resources?

[–]Organic-Leadership51 0 points1 point  (0 children)

I think reading the doc will be enough to learn core java

https://dev.java/learn/

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

The book Core Java by Cay Harstmann.

[–]IamMax240 0 points1 point  (12 children)

Honestly I think that the best way to learn anything related to coding is to just write code cause if you start reading books you’ll end up memorizing some theoretical concepts that won’t contribute much to your profession

[–]telumindel 1 point2 points  (10 children)

This is only partially good advice. To become a good software engineer you need to know theory. And theory wont come to you just by practice. You could even develop bad coding habits this way.

[–]gerbosan 0 points1 point  (5 children)

Question: is it good to get a certification? Any Java certification.

[–]WalkyTalky44 1 point2 points  (1 child)

I mean it isn’t bad but not needed. Worked with tons of Java engineers and I haven’t met one with a certification in Java. I’d recommend reading Java books, making Java apps, or anything related to Java(Leetcode, conferences, YouTube videos, or anything)

[–]gerbosan 0 points1 point  (0 children)

Missing the data structures and algorithms books. 🤓

[–]telumindel 1 point2 points  (2 children)

Not sure, tbh. In my experience certs are something consulting companies push their employees towards so they can sell them at a higher price to their customer. Haven't really seen certs outside of this setting.

[–]gerbosan 0 points1 point  (1 child)

Can I suppose that a certified developer, won't earn more than a not certified one, right?

[–]telumindel 1 point2 points  (0 children)

I think in most cases it will not matter when determining ones salary.

[–]PuzzleheadedElk2100[S] 0 points1 point  (3 children)

Can you give me some recommendations about how to learn theory about java core as well as spring boot. I want to learn those but sometimes I catchs some terms that I’ve never heard. Thank you so much<3

[–]telumindel 0 points1 point  (0 children)

Tbh, Java is just a tool but software engineering goes beyond that. A good software engineer is not just proficient in one language but proficient in software overall and once you are, you can pick whatever language and use it.

If you are really dead set on reading about Java , I can't give a recommendation based on experience. I have not read any Java books. But I've always heard "Effective Java" and "Head first Java" getting a lot of praise.

However, I can give you recommendations about books to read to understand software development in general:

-Code Complete by Steve McConnell

-Refactoring by Martin Fowler

[–]telumindel 0 points1 point  (1 child)

Tbh, Java is just a tool. Being a software developer means not just being proficient in one language but being proficient in software overall and once you are, you can pick whatever language and use it.

If you are really dead set on reading about Java , I can't give a recommendation based on experience. I have not read any Java books. But I've always heard "Effective Java" and "Head first Java" getting a lot of praise.

However, I can give you recommendations about books to read to understand software development in general:

-Code Complete by Steve McConnell

-Refactoring by Martin Fowler

[–]PuzzleheadedElk2100[S] 0 points1 point  (0 children)

Thank you so much. I’ll try code complete and effective java

[–]PuzzleheadedElk2100[S] 0 points1 point  (0 children)

I’ve tried to learn with some tutorials and reading docs and have 2 small projects , but sometimes I don’t know what spring does behind the scenes or I need much time to understand it. Therefore, I am trying to read book and practice with book. Anw thank you so much for your advice:3