It's time for your morning news break! Get caught up with the latest, greatest Java news around DZone and the web at large. Big news came in the form of the EE4J announcement as well as a couple of solid pieces comparing Kotlin to other JVM languages (mostly Java). But if you're a happy Java camper, make sure your code is performant with some simple tips and dive into how to turn the passing by value requirement in Java into a bonus.
- Kotlin Features I Miss in Java, by Simon Wirtz. After using both Kotlin and Java, here are one dev's thoughts on the Kotlin features he misses the most when working in Java.
- Run Your App as a Service on Ubuntu, by Muhammad Sarwar. Bring your JAR file to Ubuntu as a service using this example service wrapper. See how to make it work, including tips for automatic starts and logging.
- How Spring MVC Really Works, by Eugen Paraschiv. In this post, we take a look at how powerful the features included in Spring MVC can be used to great effect in a web application.
- 11 Simple Java Performance Tuning Tips, by Thorben Janssen. Want to keep your programs running performantly? Here are some steps you can take to eliminate bottlenecks, tips for caching, and other performance tuning suggestions.
- Passing by Value vs. Passing by Reference in Java, by Justin Albano. While many languages put information passing into the hands of developers, all data is passed by value in Java. See how to turn that restriction to your advantage.
By the way, if you're interested in writing for your fellow DZoners, feel free to check out our Writers' Zone, where you can also find some current hot topics and our Bounty Board, which has writing prompts coupled with prizes.
Coffee and the News
Ever since the original announcement that Oracle was planning to open source Java EE, there's been buzz about the future. Well, that buzz finally got some substance to it after Eclipse announced its proposals to replace Java EE. InfoWorld has a great write-up about the proposals and what it means for enterprise Java in the future.
Everybody Loves Kotlin
Sometimes, it's nice to sit down and read a breezy profile piece. Wired recently came out with a very nice article about Kotlin, its history, and its rise to glory. See how it beat out Scala as the next big JVM language and see why it's so popular around the world.
Farewell, @netbeans.org Mailing Lists
And as a heads up to Apache NetBeans enthusiasts, if you've been a participant on the @netbeans.org mailing lists, they're going away at the start of 2018. This announcement on JAXenter has what you need to know and how to stay involved.
Diving Deeper Into Java
- Updated Refcard: Learn Microservices in Java
- Refcard: Java Application Vulnerabilities
- Guide: Java: Development and Evolution
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: Santa Clara, California, United States
- 5-7 years proven experience in software development using object-oriented language (Java, C++, C# etc.) – a must
- Experience in designing and developing SaaS/cloud applications through full software development life cycle
- Experience in DevOps methodology and Cloud-friendly technologies will be a big plus
- Expertise with unit/integration testing, test-driven development and related modern best practices/technologies
- Experience with web servers and app servers, internals of browsers and standards compliance of different browsers (IE/FireFox/Chrome)
- Experience with server-side issues such as caching, clustering, persistence, security, SSO, state management, high scalability/availability and failover a plus
- Excellent communication skills: demonstrated ability to explain complex technical issues to both technical and non-technical audiences
- Must have strong decision-making skills; take-charge personality, and the ability to drive a plan to completion
- Experience in working with Agile development methodology is preferred.