Sorry, but I think that some of your suggestions are not very reasonable. Examples:
- "You should [..] upgrade older applications to use the concurrency, NIO, and logging APIs whenever possible."
So you are suggesting changing old, perfectly running application to the new concurrency utils and NIO without any hard fact that the current implementation is to slow? And even more important: the new implementation would be substantial better?
- "If the system runs lengthy full GC very frequently, you probably have a memory leak somewhere in your application."
No, that would more probably mean that allocate too much unneeded objects. A memory leak could be indicated, if the heap usage directly after a Full GC is going constantly up
- "Most Java EE application servers have not completely evolved their code base to take advantage of JDK 5.0 APIs, especially the concurrent utility libraries. In this case, it is crucial to choose an open source application server [..] where you can make changes to the server code."
You are really sure, that you want to suggest that average developers should begin to build the new concurrency classes into the application server of their choice?