Optimization of code is for me one of the most fun parts of development, at the same time it tends to be one of the most fleeting. The reason is that if you take care to ensure that your design is optimal for the problem scope encountered during the application life time, you reduce the need in a general sense for optimizations that require design changes. This minimizes a class of optimizations that tend to be the most costly to repair, which is a good thing. Still though, you are likely to need several rounds of optimization that involves the elements that are not directly made more efficient even when you have selected the optimal overall design, these elements show up in the minutia of the actual code, inside the classes and methods. The Java language has various gotchas that can affect code and reduce performance even while the code itself looks fine. Circular object references can pop up and despite judicious attempts by the automatic garbage collector , memory leaks will result...
A chronicle of the things I find interesting or deeply important. Exploring generally 4 pillars of intense research. Dynamic Cognition (what every one else calls AI), Self Healing Infrastructures (how to build technological Utopia), Autonomous work routing and Action Oriented Workflow (sending work to the worker) and Supermortality (how to live...to arbitrarily long life spans by ending the disease of aging to death.)