Summary
This chapter was intended to help you learn how to choose the right algorithm for any given requirement and how to measure your results. It covered the concept of time complexity and included strategies for reducing time complexity. We also emphasized the importance of algorithm testing. You should now have a strong theoretical understanding of algorithm efficiencies as well as hands-on experience of creating and modifying algorithms. This experience can help ensure you get high performance out of your Java applications.
In the next chapter, Strategic Object Creation and Immutability, we will introduce strategies for object creation with the mindset of improving the overall performance of our Java applications. That chapter covers minimizing object creation, object immutability, and garbage collection.