Which index of a multi-dimensional array represents the row index in Java?

  • First index
  • It depends on the array's dimensions.
  • Second index
  • Third index
In Java, for a multi-dimensional array, the first index represents the row index. For a 2D array, it represents the row number, and for a 3D array, it represents the depth along the first dimension. The other indices represent the columns (2nd index), and if applicable, additional dimensions.

________ is an interface in JDBC, which can be used to move a cursor in the result set in both directions.

  • PreparedStatement
  • ResultSet
  • ResultSetMetaData
  • Statement
The ResultSet interface in JDBC is used to retrieve data from a database query result. It allows you to move a cursor in the result set in both directions, forward and backward, and retrieve data from the current row. This is especially useful when you need to navigate and process the result set efficiently.

How would you handle a situation where a task submitted to ExecutorService is stuck or running for too long?

  • There is no way to handle a stuck task in Java; it must be manually terminated by killing the JVM process.
  • You can cancel the task using the cancel method of the Future object returned when submitting the task.
  • You can increase the task timeout setting to give it more time to complete.
  • You can use the ExecutorService.shutdownNow() method to forcefully terminate all running tasks and shut down the service.
When a task is stuck or running for too long, you can handle it by canceling the task using the cancel method of the Future object returned when submitting the task. This allows graceful termination of the task without affecting the entire application. Other options, like forcefully shutting down the ExecutorService or modifying the task's timeout settings, may have unintended consequences.

Envision a situation where thread safety is a priority in your application. How can Lambda expressions be designed to minimize synchronization issues or shared mutability?

  • By avoiding Lambda expressions altogether and relying on traditional synchronized methods for thread safety.
  • By using Lambda expressions within synchronized blocks to ensure that critical sections of code are protected against concurrent access.
  • By using nested Lambda expressions that share mutable variables across threads.
  • By using volatile variables and Lock objects within Lambda expressions to manage thread safety.
Lambda expressions can be designed to promote thread safety by using synchronized blocks or other synchronization mechanisms within the Lambda body. This ensures that critical sections of code are protected from concurrent access, reducing synchronization issues and potential race conditions. It's crucial to be cautious when using shared mutable variables within Lambda expressions to avoid thread safety problems.

What is the key difference between the poll() and remove() methods when used with a Queue in Java?

  • poll() returns null if the queue is empty, while remove() throws an exception.
  • poll() removes and returns the head of the queue if it's not empty, while remove() removes and returns the head but throws an exception if the queue is empty.
  • poll() removes and returns the head of the queue if it's not empty, while remove() returns null if the queue is empty.
  • poll() and remove() have the same behavior when used with a Queue.
In Java, the poll() method is used to retrieve and remove the head of a queue. If the queue is empty, it returns null. On the other hand, the remove() method also removes the head of the queue but throws a NoSuchElementException if the queue is empty. So, option (b) is the correct answer, with the explanation that the key difference is in the handling of empty queues.

The keyword ________ is used within a constructor to call another constructor in the same class.

  • constructor()
  • extend()
  • super()
  • this()
In Java, the this() keyword is used within a constructor to call another constructor in the same class. This is called constructor chaining and allows you to reuse code logic among constructors in a class. The super() keyword is used to call a constructor of the superclass. The other options are not valid for constructor invocation.

Can a constructor return a value in Java?

  • Yes, a constructor can return a value, which is the default value of the class's primary data type.
  • No, constructors cannot return values in Java.
  • A constructor can return values, but only if it has the same name as the class.
  • A constructor can return values, but they must be of type 'void.'
b) is correct. Constructors in Java cannot return values, and their return type is always 'void.' a), c), and d) are incorrect statements.

To execute a batch of commands, we use the ________ method.

  • execute()
  • executeBatch()
  • executeQuery()
  • executeUpdate()
In JDBC, the executeBatch() method is used to execute a batch of SQL commands in a single call to the database. This can be more efficient than executing each command individually, especially when you need to perform multiple operations in a single batch, such as inserts, updates, or deletes.

If a and b are boolean expressions, then a & b is true only if ______.

  • a or b
  • both a and b
  • either a or b
  • neither a nor b
In Java, the '&' operator is a bitwise AND operator. To perform a logical AND operation on boolean expressions, you should use '&&' instead. It returns true if both 'a' and 'b' are true.

The method ________ is used to send HTTP GET request without parameters.

  • doGet()
  • executeGET()
  • get()
  • sendGET()
In Java, to send an HTTP GET request without parameters, you typically use the sendGET() method. This method is commonly used in HTTP client libraries to initiate a GET request to a specified URL. The other options are not standard methods for this purpose.

What will be the initial capacity of a HashSet when no size is defined during its creation?

  • 0
  • 10
  • 16
  • It will result in an error
When you create a HashSet in Java without specifying its initial capacity, it defaults to an initial capacity of 16. The capacity dynamically increases as needed when elements are added to the HashSet.

What will be the output of the following code snippet: public int add(int a, long b) { return a + b; } and public long add(int a, int b) { return a + b; }?

  • Compilation Error: Ambiguous method call.
  • Compilation Error: Duplicate method add with the same parameter types.
  • Compilation Error: Mismatched return types.
  • The code will run without errors, and the output will be the sum of a and b.
The code will result in a compilation error because both methods have the same name and the same parameter types (int and long). Java does not allow you to overload methods based solely on the return type. Overloaded methods must have different parameter lists. Overloading based on return types would lead to ambiguity.