Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Recently, I've really been getting into programming. I've always loved it, but now it's all I think about. 24 hours a day, 7 days a week. And now that I'm working a lot and about to graduate and get a full time job, I'm looking to sharpen those skills.

Lately, all of my programming has been in Java and Javascript. I've nearly mastered the quirks of Javascript, but I'm still "new" to Java. I've written a lot of code, but I don't know the ins and outs. (For instance, I just discovered the try with resources statement.)

TL;DR - I'm looking for some articles to hone my Java skills and really know the ins and outs of the language. Anything from refactoring tips to advanced security guides to performance optimizations. Where can I go to become a better Java programmer. (Besides my IDE. I spend enough time there. :p )

share|improve this question

closed as not a real question by Robert Harvey, Oleksi, gnat, jwenting, Giorgio Mar 19 '13 at 9:18

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

Have you considered reading a book? Real programmers read books and find cool programming articles using Google. –  Robert Harvey Mar 19 '13 at 3:39
I've read plenty of books. On Java, Ruby, C, Javascript, etc. For the most part, they suck. They're repetitive and attempt to cover too much material, much of which I already know. Plus, I'm not paying $30+ for a book when the material is free online. And I have searched Google. I'm asking here to find what I didn't find before. It's hard searching through 11.8 million results alone. –  GJK Mar 19 '13 at 3:53
You're going to have to get through the site guidelines first. How to Ask says that you should tell us what you found and why it didn't meet your needs, and the faq says that this question might not even be on-topic. We're here to discuss programming topics, not help you with your searches or build lists of things. –  Robert Harvey Mar 19 '13 at 3:55
I read the FAQ first. This post (I thought) fell into somewhat of a gray area. But considering there are hundreds of posts like this on every StackExchange site, I figured I would be OK. –  GJK Mar 19 '13 at 4:01
That, in part, is why we are so aggressive about closing questions on Stack Exchange, they are bad examples, and encourage others to post more like them. But we can't possibly get them all, which is why you see so many still open. You can help by pointing them out so that we can get them closed and deleted. –  Robert Harvey Mar 19 '13 at 5:17

1 Answer 1

Here are some topics that I'd suggest exploring.

Advanced language features

Useful libraries

  • JUnit and Mockito for testing
  • Guice, for managing dependencies
  • Guava, which provides extra collections and other utilities
  • Hibernate, for working with relational databases
  • Swing, for building desktop applications
  • Java 2D, mainly useful for 2D games
  • lwjgl, for 3D games
  • For web development, a common approach is to use Tomcat as a web server and JSP for templates. I would also look into JAX-RS and Netty.

Best practices



If you don't mind paying a bit of money, these two books stand out as the most esteemed:

share|improve this answer
Good combination of resources. –  Sam Mar 19 '13 at 5:32

Not the answer you're looking for? Browse other questions tagged or ask your own question.