Skip to Content
Beautiful Architecture
book

Beautiful Architecture

by Diomidis Spinellis, Georgios Gousios
January 2009
Beginner
430 pages
15h 34m
English
O'Reilly Media, Inc.
Content preview from Beautiful Architecture

Java Performance Tips

The First Rule of Optimization: Don’t do it.

The Second Rule of Optimization (for experts only): Don’t do it yet.

Michael A. Jackson

Like all performance tips, the following are guidelines and not rules. Code that is well designed and cleanly coded is almost always infinitely preferable to optimized code. Invoke these guidelines only when either a positive effect will be seen on the design or that last drop of performance is really necessary.

Tip #1: Object creation is bad

Excessive object instantiation (especially of short-lived objects) will cause poor performance. This is because object churn causes frequent young generation garbage collections, and young generation garbage-collection algorithms are mostly of the “stop-the-world” type.

Tip #2: Static is good

If a method can be made static, then make it so. Static methods are not virtual, and so are not dispatched dynamically. Advanced VMs can inline such methods much more easily and readily than instance methods.

Tip #3: Table switch good, lookup switch bad

Switch statements whose labels are a reasonably compact set are faster than those whose values are more disparate. This is because Java has two bytecodes for switches: tableswitch and lookupswitch. Table switches are performed using an indirect call, with the switch value providing the offset into a function table. Lookup switches are much slower because they perform a map lookup to find a matching value:function pair.

Tip #4: Small methods are good methods ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Architectural Patterns

Architectural Patterns

Anupama Murali, Pethuru Raj, Harihara Subramanian J, Pethuru Raj Chelliah
Beautiful Code

Beautiful Code

Andy Oram, Greg Wilson
Model-Based System Architecture, 2nd Edition

Model-Based System Architecture, 2nd Edition

Tim Weilkiens, Jesko G. Lamm, Stephan Roth, Markus Walker

Publisher Resources

ISBN: 9780596155780Errata Page