Morning Java: Writing Better Java (Before It Dies)
What's going on in the world of Java? Here's a look at some clean coding standards, considerations of what will kill Java, and news from JavaOne.
Join the DZone community and get the full member experience.Join For Free
Sometimes, themes just jump out at you. Our five most popular posts from the past month have all been about writing better, cleaner code and overcoming the inherent weaknesses in the Java language (nothing is perfect after all). There's also a great look at the future of Java and what it will take to dethrone it from its lofty position.
And as for the rest of the news, well... JavaOne was this week. There's been an abundance of news about Java 9, Java EE 8, and Spring 5, so be sure to get caught up!
It's (Java) 9 O'clock
- Lambdas and Clean Code, by Nicolas Frankel.
- Code Smells: If Statements, by Trisha Gee.
- 4 More Techniques for Writing Better Java, by Justin Albano.
- What Will Kill Java? By Esteban Herrera.
- Understanding, Accepting, and Leveraging Optional in Java, by Eugen Paraschiv.
Coffee and the News
The Future of Java
Well, a lot of news has come out of JavaOne (as one would expect, of course). This breakdown of the future of Java compiles the relevant information from the various speeches, keynotes, and presentations for easy consumption.
The Future of Java EE
Wait, didn't I just write that title? Oh, EE, right. At JavaOne, there was a lot of crystallization about what's happening with Java EE and its open sourcing process. Here's a recap of what to expect and how Oracle will handle related aspects like Glassfish. (Also, congratulations on Java EE 8's release!)
Reacting to Spring 5
Spring 5 has hit GA! Take a look at the announcement, which links to all of the changes and added support. There are also some handy tutorials for migrating to Spring Framework 5 and this great overview of the various Reactive support Spring fans can expect. Enjoy!
Diving Deeper Into Java
Experience: Could you answer most of these questions?
- When would you make a variable volatile?
- How do you decide whether to use a HashMap or a TreeMap?
- How do you decide whether to use a CopyOnWriteArrayList or a Collections.synchronizedList(ArrayList)?
- When would you use mergesort over quicksort?
- When might recursion cause stack overflows?
- Is Math.abs(Random.nextInt()) always positive?
- What are the pros/cons of async vs. blocking I/O?
- What unit tests would you write for Arrays.binarySearch?
Location: Bangalore Urban, Karnataka, India
- Demonstrate solid knowledge of Java
- Exposure and understanding of C, C++, C# or XOJO would be advantageous
- Deep understanding of client-server development models and RMI
- Willingness to present own ideas to help us solve problems
- Solid command of spoken and written English
Opinions expressed by DZone contributors are their own.