Input/Output (I/O) is one of the fundamental aspects of computing that you
have to deal with at some point during the application's development phase.
Dealing with I/O presents its own challenges because I/O access is still
slow. For example, reading or writing data from or to a disk involves a
choreography of electronic, mechanical, and computer engineering disciplines,
making the task slow in comparison to, say, reading or writing from random
access memory over a high-speed bus.
To minimize the impact of working with slow I/O mediums and to maximize
throughput and performance, software designers have devised a variety of
strategies. These strategies include, but are not limited to, vectored I/O
(scatter/gather) and multiplexing I/O. These strategies can be found in use... (more)
The 5.0 release of JDK introduced a slew of new features. A powerful
technique that resulted from the JSR-175 recommendation is the Program
Annotation Facility. It can annotate code in a standard way and automate the
generation of source code or configuration files, helping cut down on
boilerplate code.
At the moment, the closest thing to annotating source and generating support
file/co... (more)