java.nio

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » 6.0 JDK Modules » j2me » java.nio 
java.nio
Defines buffers, which are containers for data, and provides an overview of the other NIO packages.

JSR 239 defines an NIO buffer building block comprising portions of the Buffer, ByteBuffer, ShortBuffer, IntBuffer, and FloatBuffer classes as well as the support classes BufferUnderflowException, BufferUnderflowException, and the interface java.lang.Comparable.

JSR 239 provides only basic buffer functionality, and does not address mapped buffers, charsets, channels, or selectors. The intent of including this NIO buffer building block is to store data to be passed to the native OpenGL ES engine on the native heap.

Although special VM support is not assumed, VM implementors are encouraged to provide acceleration for these classes by making use of VM intrinsics or similar techniques.

Disposal of indirect buffers is handled in the normal way by the garbage collector. However, direct buffers involve allocation of memory on the native heap, which is outside the scope of the garbage collector. This memory may still be in use by native code even though the buffer is no longer referenced by application code. In this case, the garbage collector will collect the Java object representing the buffer, but the buffer contents will continue to occupy memory in the native heap. The implementation must ensure that this memory is properly deallocated when it is no longer referenced by native code. The implementation may create a cleanup thread for this purpose.

The central abstractions of the NIO APIs are:

  • Buffers, which are containers for data;

  • Charsets and their associated decoders and encoders,
    which translate between bytes and Unicode characters;

  • Channels of various types, which represent connections
    to entities capable of performing I/O operations; and

  • Selectors and selection keys, which together with
    selectable channels define a multiplexed, non-blocking
    I/O
     facility.

The java.nio package defines the buffer classes, which are used throughout the NIO APIs. The charset API is defined in the {@link java.nio.charset} package, and the channel and selector APIs are defined in the {@link java.nio.channels} package. Each of these subpackages has its own service-provider (SPI) subpackage, the contents of which can be used to extend the platform's default implementations or to construct alternative implementations.

Buffers

Description

{@link java.nio.Buffer} Position, limit, and capacity;
clear, flip, rewind, and mark/reset
  {@link java.nio.ByteBuffer} Get/put, compact, views; allocate, wrap
    {@link java.nio.MappedByteBuffer}   A byte buffer mapped to a file
  {@link java.nio.CharBuffer} Get/put, compact; allocate, wrap
  {@link java.nio.DoubleBuffer}     ' '
  {@link java.nio.FloatBuffer}     ' '
  {@link java.nio.IntBuffer}     ' '
  {@link java.nio.LongBuffer}     ' '
  {@link java.nio.ShortBuffer}     ' '
{@link java.nio.ByteOrder} Typesafe enumeration for byte orders

A buffer is a container for a fixed amount of data of a specific primitive type. In addition to its content a buffer has a position, which is the index of the next element to be read or written, and a limit, which is the index of the first element that should not be read or written. The base {@link java.nio.Buffer} class defines these properties as well as methods for clearing, flipping, and rewinding, for marking the current position, and for resetting the position to the previous mark.

There is a buffer class for each non-boolean primitive type. Each class defines a family of get and put methods for moving data out of and in to a buffer, methods for compacting, duplicating, and slicing a buffer, and static methods for allocating a new buffer as well as for wrapping an existing array into a buffer.

Byte buffers are distinguished in that they can be used as the sources and targets of I/O operations. They also support several features not found in the other buffer classes:

  • A byte buffer can be allocated as a direct buffer, in which case the Java virtual machine will make a best effort to perform native I/O operations directly upon it.

  • A byte buffer can be created by {@link java.nio.channels.FileChannel#map mapping} a region of a file directly into memory, in which case a few additional file-related operations defined in the {@link java.nio.MappedByteBuffer} class are available.

  • A byte buffer provides access to its content as either a heterogenous or homogeneous sequence of binary data of any non-boolean primitive type, in either big-endian or little-endian byte order.

Unless otherwise noted, passing a null argument to a constructor or method in any class or interface in this package will cause a {@link java.lang.NullPointerException NullPointerException} to be thrown. @since 1.4 @version 1.13, 02/10/11

Java Source File NameTypeComment
Buffer.javaClass

A container for data of a specific primitive type.

This class is provided as part of the JSR 239 NIO Buffer building block.

BufferOverflowException.javaClass Unchecked exception thrown when a relative put operation reaches the target buffer's limit.

This class is provided as part of the JSR 239 NIO Buffer building block.

BufferUnderflowException.javaClass Unchecked exception thrown when a relative get operation reaches the source buffer's limit.

This class is provided as part of the JSR 239 NIO Buffer building block.

ByteBuffer.javaClass A byte buffer.

This class is provided as part of the JSR 239 NIO Buffer building block.

ByteBufferImpl.javaClass A Buffer storing byte data.
FloatBuffer.javaClass A float buffer.

This class is provided as part of the JSR 239 NIO Buffer building block.

FloatBufferImpl.javaClass A Buffer storing float data.
IntBuffer.javaClass An int buffer.

This class is provided as part of the JSR 239 NIO Buffer building block.

IntBufferImpl.javaClass A Buffer storing int data.
ShortBuffer.javaClass A short buffer.

This class is provided as part of the JSR 239 NIO Buffer building block.

ShortBufferImpl.javaClass A Buffer storing short data.
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.