Which interface must be implemented by a class to make its objects serializable?
ACloneable
BSerializable
CComparable
DIterable
Correct Answer:
B. Serializable
EXPLANATION
The Serializable interface is a marker interface that indicates a class can be serialized. It's found in java.io package and requires no methods to be implemented.
Which class in Java is used to read primitive data types from a binary stream?
ADataInputStream
BBufferedInputStream
CFileInputStream
DObjectInputStream
Correct Answer:
A. DataInputStream
EXPLANATION
DataInputStream is specifically designed to read primitive data types (int, float, double, etc.) from a binary stream using methods like readInt(), readFloat(), etc.
For developing a high-performance file copying utility handling files up to 10GB, which approach is optimal?
AUse FileInputStream/FileOutputStream with 1KB buffer
BUse BufferedInputStream/BufferedOutputStream with large buffer size
CUse FileChannel.transferTo() or NIO channels with direct buffers
DUse ObjectInputStream for binary data
Correct Answer:
C. Use FileChannel.transferTo() or NIO channels with direct buffers
EXPLANATION
FileChannel.transferTo() uses OS-level optimizations for file copying, and NIO channels with direct buffers are most efficient for large file transfers.
Which serialization approach maintains backward compatibility better?
AUpdating serialVersionUID each time the class changes
BNever using serialVersionUID
CKeeping serialVersionUID constant and managing version compatibility in readObject()
DUsing random serialVersionUID values
Correct Answer:
C. Keeping serialVersionUID constant and managing version compatibility in readObject()
EXPLANATION
Maintaining a constant serialVersionUID and implementing version-aware readObject() methods allows deserializing objects from different class versions.