What are the best resources for programmers to learn Java at an advanced level?
-
I was asked this recently and realized I don't what resources to recommend in 2014 to an experienced programmer who wants to know the Java ecosystem well. What are the best, current books or articles for people who want to use Java but already are good engineers? Many standard introductions to Java are also teaching programming, so are not a good overview, nor do they get to more advanced topics. And the classics ('s Effective Java and Brian Goetz's Concurrency in Practice) are aging. Example topics: Language semantics, memory model, Java 8 streams and lambdas, concurrency, including collections and parallel streams improved in Java 7 and 8, Java performance, garbage collectors, JMX, logging, current web frameworks, Guava (which has become essential, at least in my opinion).
-
Answer:
Recommend Parallel Universe's 3-part series: http://blog.paralleluniverse.co/2014/05/01/modern-java/ Here's the closing two paragraphs of the first part that contains an overview of what you're going to find: Weâve seen how with the changes made in Java 8, along with modern tools and libraries, Java bears little resemblance to the Java of old. While the language still shines in large applications, the language and ecosystem now nicely compete with newer âsimpleâ languages, which are less mature, less tested, less platform-independent, have much smaller ecosystems and almost always poorer performance than Java. We have learned how the modern Java programmer writes code, but we have hardly begun to unleash the full power of Java and the JVM. In particular, we are yet to see Javaâs awesome monitoring and profiling tools, or its new, lean, web microframeworks. We will visit those topics in the upcoming blog posts. In case you want to get a head start, in http://blog.paralleluniverse.co/2014/05/08/modern-java-pt2/ we will be discussing modern Java packaging (with https://github.com/puniverse/capsule, which is a little like npm, only much cooler), monitoring and management (with http://visualvm.java.net/, http://docs.oracle.com/javase/tutorial/jmx/, http://www.jolokia.org/ and http://metrics.codahale.com/), profiling (with http://docs.oracle.com/javase/8/docs/technotes/guides/jfr/, http://docs.oracle.com/javase/8/docs/technotes/guides/jmc/, and https://www.jboss.org/byteman.html), and benchmarking (with http://openjdk.java.net/projects/code-tools/jmh/). In http://blog.paralleluniverse.co/2014/05/15/modern-java-pt3/, we will discuss writing lightweight, scalable HTTP services with http://dropwizard.io/ and http://docs.paralleluniverse.co/comsat/, http://blog.paralleluniverse.co/2014/01/28/web-actors-1/, and dependency injection with JSR-330. Also, don't miss the extensive comments on Hacker News about this series that will take you deeper down the modern Java path.
Stormy Shippy at Quora Visit the source
Other answers
HM. The release notes and accompanying articles that go with a major release of Java usually cover the new features pretty well. Anyone who hasn't read Josh Bloch's Effective Java should. Similarly the new edition of Java Platform Performance will give you a lot of insight into the internals of Java processing. Beyond that, probably the latest edition of The Java Virtual Machine. Overall anything in the From The Source series has traditionally been very good for that particualr subsystem (eg RMI, Paralell Processing and so forth.) For J2EE and related stacks on top of Java, I don't have any good references off the top of my head, sorry.
Jeff Kesselman
I think below tutorials would give you a head start: https://docs.oracle.com/javase/tutorial/reallybigindex.html - Oracle Java tutorials that will cover almost all the topics of core java. However the tutorials even cover the advance Java topics such as JAXB/JAXP, Socket Direct Protocol, JNDI, custom networking etc. https://apexapps.oracle.com/pls/apex/f?p=44785%3A2%3A0%3A%3A%3A2%3AP2_GROUP_ID%3A1007 - If you are looking for some specific topics you can refer to Oracle By Example. Another good initiative by Oracle to teach some advance java. http://docs.oracle.com/javafx/2/get_started/jfxpub-get_started.htm - Oracle's tutorial on Java FX, if you want to create some desktop applications. https://docs.oracle.com/javaee/7/tutorial/ - Another official oracle tutorials on JavaEE 7. The tutorial will cover all the basics of Java EE architecture. https://spring.io/guides - Official spring guide that will get you started on spring. However I would recommend to buy a book if you are looking to start on spring. https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/tutorial.html / https://docs.oracle.com/cd/E13224_01/wlw/docs103/guide/ormworkbench/hibernate-tutorial/tutHibernate1.html - Hibernate tutorials on Jboss and oracle site. The tutorial will give you a head start. https://javabrains.io/ - This is a good tutorial that will cover Java EE, spring and web services. These tutorials are also available on yoututbe. Apart from these you can keep an eye on https://www.coursera.org/, https://www.edx.org/,https://www.udemy.com/ and other sites like these. These sites sometime host few free advance java tutorials. http://www.tutorialspoint.com/index.htm - Another good site that will get you started on the basics of advance java concepts. All the above mentioned tutorials are good but I would recommend you to invest in the books. From my personal experience I found books to be really help full when you are trying to learn any new technology.Hope that helps.Happy learning.
Gaurav Gaur
I found Fowler's Patterns for Enterprise Applications Architecture pretty good reading material. http://www.amazon.com/Patterns-Enterprise-Application-Architecture-Martin/dp/0321127420
William Emmanuel Yu
I am just going to list some skills and technologies that I think you should either know, or be able to pick up in a reasonable period of time. Some are probably not really advanced, but I will start with the basics, and work up from there. Will probably miss a lot. As always in programming, knowing the material is only half the journey, you also need to be able to use it correctly and be able to implement non-trivial features and designs. Not really concerned with books, even the best book will only give you an introduction. You have to program with it for a few years to really know it. Language basics: packages, container framework, AWT, extend vs implement, generics, exceptions, threading, reflection. Eclipse IDE obfuscation and decompiling Using a class loader Spring, Struts, Ant MVC XML, JSON J2EE and J2SE JSP, servlets Database, SQL, JDBC JNLP, Java Web Start I think if you listed experience with most of these items on your resume and could defend your understanding and ability to use the technologies in an interview, most people would consider you to be a senior developer.
Sean Leary
If you want to learn advanced Java, many institute like Janbask which provide you best real time training from experienced trainer. If you are looking free of cost Online Java Training you have to follow some company conditions. Janbask will provide you http://www.janbask.net/online-java-training/ assistance to get a job in good companies.
Mark Steve
Related Q & A:
- What is the best way to make UI for an Isometric game in Java?Best solution by Game Development
- what are the best advanced android development books?Best solution by Quora
- What are the best resources to learn Java?Best solution by Stack Overflow
- What are the best resources to learn about web crawling and scraping?Best solution by Quora
- What is the best multi level marketing program?Best solution by Yahoo! Answers
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.