Learn Java

Learn Java news, information, and how-to advice

developers

Autoboxing, Unboxing, and NoSuchMethodError

The Java NoSuchMethodError sometimes arises when pre-Java 5 classes are compiled with classes that include autoboxing and unboxing syntax. Find out why and learn how to work around it in this post....


bstroustrup

Stroustrup: Why the 35-year-old C++ still dominates 'real' dev

C++ inventor details the language's latest changes and assesses the strengths and weaknesses of its competitors....

open source
Tip

How to crack an open source community

Want to contribute to an open source project? Here are the main reasons you'll struggle -- and some tips to help you persevere....

java gears

Shipilёv on writing good benchmarks -- Java vs Scala

Writing good benchmarks begins and ends with the relentless drive to understand why your system is behaving as it does. Once you've got that down, optimization naturally follows....

java union

Get real: Oracle is strengthening -- not killing -- Java

Oracle has made its share of bungles, but technologically it has put Java on a progressive track....

java snazzy

Iterating over collections in Java 8

Get an overview of Java iterators and how each version of Java handles them differently, including what you can do with the new forEach() method and Stream API features in Java 8....

marx books

Books that have most influenced my software development career

Dustin Marx names 9 books that have earned a permanent place in his bookshelf, and maybe yours....

Python bumps off Java as top learning language

Python's simpler syntax and ability to scale up for enterprise development have made it the preferred language choice for learning to code. ...

In praise of Java template engines

A Java template engine's built-in MVC architecture can cut the learning curve for a Java beginner, but more seasoned developers find plenty of reasons to use them too....

Java Q&A: The ultimate superclass, Part 3

This post completes a three-part series in which I present and answer questions about Object and its methods....

Tip

10 bad coding practices that wreck software development projects

Deadline pressure makes some of these common coding mistakes mighty tempting, but avoiding them will make your work easier in the long run....

Tip

Linus Torvalds to developers: To succeed, make it personal

In an interview with the IEEE Computer Society, the Linux founder lays out the philosophy behind his success, urging developers to "find something you're really interested in."...

Can TDD factions agree to disagree?

The #isTDDDead debate might be over but history suggests the fallout has just begun. Or at least that's what Uncle Bob says. ...

found alphabet

I don't think that software development word means what you think it means

From Agile to SLOC, Dustin Marx corrects the record about programming terminology that is commonly misused, and even misunderstood, by software developers....

project coin

Java 101: The next generation: The essential Java language features tour, Part 4

Project Coin was the Java 7 language update that emphasized small changes with a big impact. Get a primer on automatic resource management with try-with-resources, then zip through three more JDK 7 updates: switch-on-string,...

Java 8 StampedLocks vs. ReadWriteLocks and Synchronized

StampedLock, new in JDK 8, employs a set of algorithms and memory fencing features that are meant make this read-write lock faster and more robust than ever. Does it deliver on its promise?...

Microservices vs. the monolith

Similar to SOA but different enough to warrant its own name, the Microservices architectural style gets written up by Martin Fowler and James Lewis. Cliffs Notes you can count on!...

Git 2.0 features better defaults and a kinder learning curve

Improved defaults make the open source code sharing and version control system much easier to use for existing users and newbies alike....

Employers want Java skills more than anything else

IT job site Dice.com says that by a wide margin, the top search by employers is still for Java/J2EE....

Load More