23.07.2013 Views

Java IO.pdf - Nguyen Dang Binh

Java IO.pdf - Nguyen Dang Binh

Java IO.pdf - Nguyen Dang Binh

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Java</strong> I/O<br />

java.awt.image.renderable ParameterBlock<br />

java.beans PropertyChangeSupport, VetoableChangeSupport<br />

java.beans.beancontext BeanContextChildSupport, BeanContextSupport<br />

java.io<br />

Externalizable, File, FilePermission,<br />

FilePermissionCollection, ObjectStreamClass<br />

java.net<br />

InetAddress,<br />

SocketPermissionCollection, URL<br />

SocketPermission,<br />

java.rmi MarshalledObject<br />

java.rmi.activation<br />

ActivationDesc, ActivationGroupDesc,<br />

ActivationGroupID, ActivationID<br />

java.rmi.dgc Lease, VMID<br />

java.rmi.server ObjID, RemoteObject, UID<br />

AllPermissionCollection, BasicPermission,<br />

BasicPermissionCollection, CodeSource,<br />

GuardedObject, Identity, Key, KeyPair, Permission,<br />

java.security<br />

PermissionCollection, Permissions,<br />

PermissionsHash, SecureRandomSpi, SignedObject,<br />

UnresolvedPermission,<br />

UnresolvedPermissionCollection<br />

BreakIterator, Collator, DateFormatSymbols,<br />

java.text<br />

DecimalFormatSymbols,<br />

TextBoundaryData,<br />

WordBreakTable<br />

Format, SpecialMapping,<br />

UnicodeClassMapping,<br />

ArrayList, BitSet, Calendar, Date, EventObject,<br />

java.util<br />

HashMap, HashSet, Hashtable, LinkedList, Locale,<br />

PropertyPermissionCollection, Random, TimeZone,<br />

TreeMap, TreeSet, Vector<br />

javax.swing.table<br />

AbstractTableModel, DefaultTableCellRenderer,<br />

DefaultTableColumnModel, DefaultTableModel,<br />

TableColumn<br />

javax.swing.text<br />

AbstractDocument,<br />

SimpleAttributeSet,<br />

TabSet, TabStop<br />

EditorKit,<br />

StringContent,<br />

GapContent,<br />

StyleContext,<br />

javax.swing.tree<br />

DefaultMutableTreeNode, DefaultTreeModel,<br />

DefaultTreeSelectionModel, TreePath<br />

You can glean some general principles about what classes are and are not likely to be<br />

serializable. Exceptions, errors, and other throwable objects are always serializable. Streams,<br />

readers and writers, and most other I/O classes are not serializable. Beyond these general<br />

rules, you can look at specific packages. AWT components, containers, and events are<br />

serializable, but event adapters, image filters, and AWT classes that abstract OS-dependent<br />

features are not. java.beans classes are not serializable. Type wrapper classes are<br />

serializable except for Void ; most other java.lang classes are not. Reflection classes are not<br />

serializable. java.math classes are serializable. URLs are serializable. Socket,<br />

URLConnection, and most other java.net classes are not. Container classes are serializable<br />

(though see the next section). Compression classes are not serializable.<br />

Overall, there are five reasons why a class may not be serializable:<br />

1. It is too closely tied to native code (java.util.zip.Deflater).<br />

2. The object's state depends on the internals of the virtual machine or the runtime<br />

environment and thus may change from run to run. (java.lang.Thread ,<br />

java.io.InputStream , java.io.FileDescriptor, java.awt.PrintJob).<br />

243

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!