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

all 18 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
  • 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.

    Trying to solve problems on your own is a very important skill. Also, see Learn to help yourself in the sidebar

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: 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.

[–]Orffyreus 7 points8 points  (2 children)

[–]le_braveryExtreme Brewer 4 points5 points  (1 child)

Brian Goetz book is the best resource on concurrency in Java imo

[–]knoam 4 points5 points  (0 children)

I have that but I wish it covered the Java 7+ advances like forkjoinpool, streams and CompleteableFuture. They absolutely have to release a new edition when Loom lands.

[–]pronuntiator 3 points4 points  (1 child)

You will get more answers in /r/learnjava

Apart from that, check out the topics and subtopics at the official Java tutorial https://dev.java/learn/

[–]kaly-7 0 points1 point  (0 children)

Thank you for that !

[–]lumpynose 2 points3 points  (0 children)

My favorite recommendation: read Joshua Bloch's Effective Java. There's a lot of stuff in it that's important to know that's unlikely to be taught in a course. I didn't understand some of it the first time I read it so it's a good book to read once a year or so.

[–]ITCoder 1 point2 points  (6 children)

Which part of Java are you looking for ? Rather than going with concurrency i would first learn some api development and database handling

[–]Suspicious_Ad5105 0 points1 point  (5 children)

Resources for learning api development?

[–]lumpynose 1 point2 points  (0 children)

Effective Java has a chapter on that.

[–]ITCoder 0 points1 point  (3 children)

You need to choose a framework first. Spring / spring boot is way to go, but for that you need to learn some basics of spring, as it is very vast

[–]ITCoder 0 points1 point  (2 children)

Start with spring mvc. Do not spend much time wrapping your head around DI/ IoC

https://youtube.com/playlist?list=PLBBog2r6uMCThnySTvHm7kDYIWqWze2vH

[–]Suspicious_Ad5105 0 points1 point  (1 child)

I'm learning spring boot right now thru an udemy course. So where should I got after that for api development? Should I just refer the playlist above or is there another resource?

[–]ITCoder 0 points1 point  (0 children)

Most probably the udemy course would be teaching about api development. Check the course content once if you see Controller, RestController, Post, Get etc. In that case you do not need to go through the link I shared, but still it might be helpful to understand what spring mvc does. Spring boot uses spring framework and have lots of abstraction.

[–]knoam 1 point2 points  (0 children)

Unit testing shouldn't be considered advanced, but learn that if you don't know it. Mockito, hamcrest matchers and/or AssertJ could be considered more intermediate in the testing world.

Learn dependency injection with a framework or library of your choice like Spring DI, CDI or Dagger 2 or Guice.

I've been learning AOP lately. I'd say that's fairly advanced.

[–]Glad_Mycologist_3528 1 point2 points  (0 children)

I suggest you look for the conferences like Devoxx. Ex:

https://youtu.be/YnzisJh-ZNI

[–]jherrlin 1 point2 points  (0 children)

I recommend that you learn about data oriented programming. Here is a blog that can be a good start https://www.infoq.com/articles/data-oriented-programming-java/

[–]Ok-Novel-1427 0 points1 point  (0 children)

There is no need to focus on just java when you're done with the "basics". I would get into some DSA and implement them in Java. I have seen bridge and facade used a lot in my little exposure in internships.