...
Do Not Use Direct Buffers for Short Lived, Infrequently Used Objects
The new IO I/O classes (NIO) in java.nio
allow the creation and use of direct buffers. These buffers tremendously increase throughput for repeated IO I/O activities. However, their creation and reclamation is more expensive than the creation and reclamation for heap-based non-direct buffers because direct buffers are managed using OS-specific native code. This added management cost makes direct buffers a poor choice for single-use or infrequently used cases. Direct buffers are also not subject to Java's garbage collector, which can cause memory leaks. Frequent allocation of large direct buffers can cause an OutOfMemoryError
.
...
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="539c70d328d64ae0-b4cfbe53-40f7497e-ab12975d-a30b580c8c6e5258452f54c6"><ac:plain-text-body><![CDATA[ | [[MITRE 2009 | AA. Bibliography#MITRE 09]] | [CWE-405 | http://cwe.mitre.org/data/definitions/405.html] "Asymmetric Resource Consumption (Amplification)" | ]]></ac:plain-text-body></ac:structured-macro> |
...
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="9e9a222b26269a2d-cb560698-413b46ff-bbec80d4-a4971874fefbd9495a5fd27b"><ac:plain-text-body><![CDATA[ | [[API 2006 | AA. Bibliography#API 06]] | Class | ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="261a640a59bf8da7-5a2f1a53-4ef94100-af7d8e04-44daa3c278b25f8175feae2d"><ac:plain-text-body><![CDATA[ | [[Bloch 2008 | AA. Bibliography#Bloch 08]] | Item 6: "Eliminate obsolete object references" | ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="044cd5eed1091a8f-27b88e33-4b984377-94d4af25-744eb6c6893628e4b1da1891"><ac:plain-text-body><![CDATA[ | [[Coomes 2007 | AA. Bibliography#Coomes 07]] | Garbage Collection Concepts and Programming Tips | ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="e01db610367341d0-6e70cb12-48c0400a-bf7a8ef6-0ec53cb284e8b0e66d05b19f"><ac:plain-text-body><![CDATA[ | [[Goetz 2004 | AA. Bibliography#Goetz 04]] | Java theory and practice: Garbage collection and performance | ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="a36a653da558e850-9a5df551-4fe54538-a985b200-e1f686b86ed2d6361882f4bc"><ac:plain-text-body><![CDATA[ | [[Lo 2005 | AA. Bibliography#Lo 05]] | Security Issues in Garbage Collection | ]]></ac:plain-text-body></ac:structured-macro> |
...