To access or modify the private fields in a class, you should use ________ methods.
- accessor
- constructor
- mutator
- public
To access or modify private fields in a class, you should use "mutator" methods, also known as setter methods. These methods are designed to set or modify the private field values, maintaining control over access.
The method overriding is also known as ________ time polymorphism.
- compile-time
- dynamic
- runtime
- static
Method overriding is a form of polymorphism that occurs at runtime, making it dynamic polymorphism. It allows the actual method to be determined at runtime based on the object's type, which is why it's also known as runtime polymorphism.
In a class instance, synchronized blocks can be used to avoid locking the entire method and only lock ________.
- the class instance
- the instance itself
- the method
- the thread
In Java, synchronized blocks allow you to lock specific portions of a method rather than locking the entire method. By using synchronized blocks, you can choose what specific data or code you want to protect from concurrent access by specifying the object that should serve as the lock, commonly referred to as "the method's ________."
The method ________ is used to execute SQL for DDL statements using JDBC.
- executeDDL()
- executeQuery()
- executeStatement()
- executeUpdate()
In JDBC, the method executeUpdate() is used to execute SQL statements that perform Data Definition Language (DDL) operations, such as creating, altering, or dropping database objects. It returns an integer representing the number of rows affected by the statement. executeQuery() is used for retrieving data, not DDL statements.
If a class has multiple constructors, it can be said to have constructor ________.
- chaining
- overloading
- overriding
- polymorphism
When a class has multiple constructors with different parameter lists, it is said to have constructor overloading. Constructor overloading allows you to create multiple constructors in the same class, each with a different set of parameters. This is a form of method overloading specific to constructors. Constructor overriding is not a valid term in Java.
When using PrintWriter, the method ________ can be used to flush the stream and check its error state.
- checkError()
- close()
- flush()
- write()
In PrintWriter, the method checkError() can be used to flush the stream and check its error state. This method is handy when you want to make sure that all data is written and no errors occurred.
Imagine you are developing a gaming application where the player's state needs to be saved and restored effectively. How would you manage the serialization of objects in a way that the player's progress, including scores and levels, is efficiently stored and retrieved?
- Serialize the entire game state, including scores and levels, into a single object for easy storage and retrieval.
- Implement a custom serialization process that selectively serializes only the necessary player progress data, reducing storage and transmission overhead.
- Use a database management system to store and retrieve player progress data, eliminating the need for custom serialization.
- Compress the serialized data before storage and transmission to reduce the data size and optimize efficiency.
In a gaming application, efficient serialization of player progress is essential. Option 2 is the correct choice because it allows for selective serialization, reducing overhead by serializing only the necessary data. Option 1 may result in unnecessary data serialization. Option 3 is a valid approach but involves a different technology (DBMS). Option 4 focuses on data size optimization but doesn't address the serialization process itself.
In Java, constructors have the same name as the _______.
- Class
- Method
- Package
- Variable
In Java, constructors have the same name as the class in which they are defined. This naming convention allows you to identify and use the constructor associated with a particular class.
A variable declared as double d = 10.3; occupies ________ bytes of memory.
- 16
- 2
- 4
- 8
In Java, a variable of type "double" occupies 8 bytes of memory. The "double" data type is a 64-bit floating-point type that can hold both integer and fractional values. It requires 8 bytes to store its precision and range, making it suitable for storing large and decimal numbers with high precision.
Envisage a situation where you are developing a high-throughput application where multiple threads are reading and writing to a data structure. Which collection would you select to store data and why?
- ArrayList
- ConcurrentHashMap
- HashSet
- LinkedList
In this scenario, a ConcurrentHashMap is the preferred choice. It's designed for concurrent access by multiple threads, making it suitable for high-throughput applications. Unlike ArrayList, LinkedList, and HashSet, it provides thread-safety without sacrificing performance. It achieves this through a mechanism that allows multiple threads to read concurrently while providing efficient locking for write operations.