Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

A new GC for Java 7

DZone's Guide to

A new GC for Java 7

· Java Zone
Free Resource

Microservices! They are everywhere, or at least, the term is. When should you use a microservice architecture? What factors should be considered when making that decision? Do the benefits outweigh the costs? Why is everyone so excited about them, anyway?  Brought to you in partnership with IBM.

Jon Masamitsu wrote up a great post summarizing the current collectors in the Sun JDK and also how combinations of these young and old collectors are triggered by different JVM switches.

[img_assist|nid=657|title=|desc=Visit Jon's blog...|link=url|url=http://blogs.sun.com/jonthecollector/entry/our_collectors|align=left|width=280|height=271]Jon also details a new collector (G1 for "garbage first") that entails a single collector to divide the entire space into regions and allow a set of regions to be collected, rather than split the space into an arbitrary young and old generation. They intend to make this new collector the default in Java 7.

Some of the goal and throughput oriented thinking remind me a lot of the various real-time Java systems and the guarantees they can make around the amount of GC pause per some unit of time. Given the amount of time Java developers spend tuning and optimizing GC, better and better GC is something we can all use. Of course, the GC demands of any set of systems vary widely so it's a fine art to build a system that balances those needs.

Discover how the Watson team is further developing SDKs in Java, Node.js, Python, iOS, and Android to access these services and make programming easy. Brought to you in partnership with IBM.

Topics:

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}