Which of the following is synchronized?
- ArrayList
- Hashtable
- LinkedList
- StringBuilder
The Hashtable class in Java is synchronized, which means it is thread-safe. This ensures that multiple threads can safely access and modify the Hashtable concurrently without causing data corruption. ArrayList and LinkedList are not synchronized, making them suitable for single-threaded operations by default. StringBuilder is also not synchronized and is used for efficient string manipulation in a single thread.
Which of the following is true regarding the flow of control in a try-catch-finally statement?
- The catch block is executed before finally.
- The catch block is optional.
- The code inside try is optional.
- The finally block is executed before try.
In a try-catch-finally statement in Java, the flow of control is such that the try block is executed first. If an exception occurs within the try block, control is transferred to the appropriate catch block (if matching). Finally block is executed after try (whether an exception occurred or not), making it suitable for cleanup code.
In a switch case, the ________ keyword is used to specify the code that should be executed if no case matches.
- default
- defaultcase
- else
- fallback
In a switch case in Java, the default keyword is used to specify the code that should be executed if none of the case labels match the switch expression. It acts as a fallback or default option when no other case matches the switch expression.
Which Java method is used to establish a connection to a specified URL?
- URLConnect()
- connectToURL()
- establishConnection()
- openConnection()
To establish a connection to a specified URL in Java, you use the openConnection() method provided by the URL class. This method returns a URLConnection object, which can be used to interact with the resource located at the URL.
What will be the output of the following code snippet: System.out.println("Java".concat("Programming"))?
- Compilation Error
- Java Programming
- JavaProgramming
- ProgrammingJava
The concat() method in Java combines two strings, and in this case, it appends "Programming" to "Java," resulting in "JavaProgramming." Therefore, the correct output is "JavaProgramming."
What is the primary purpose of using synchronized methods in Java?
- To ensure that a method is only accessible within the same package.
- To make a method private and inaccessible.
- To optimize the execution speed of a method.
- To prevent multiple threads from accessing and modifying shared resources simultaneously.
Synchronized methods in Java are used primarily to prevent multiple threads from accessing and modifying shared resources simultaneously, ensuring thread safety. This is crucial in multithreading scenarios where multiple threads may otherwise interfere with each other when accessing shared data.
What is the worst-case time complexity of the Quick Sort algorithm?
- O(log n)
- O(n log n)
- O(n)
- O(n^2)
The worst-case time complexity of the Quick Sort algorithm is O(n^2). However, on average, it has a time complexity of O(n log n), making it a very efficient sorting algorithm for large datasets. The worst-case scenario occurs when the pivot chosen is always the smallest or largest element, resulting in unbalanced partitions.
In a Java program, you can't use an object until it has been _______.
- assigned
- declared
- imported
- initialized
In a Java program, you can't use an object until it has been initialized. This means that an object must go through its constructor to set its initial state before you can use its methods or access its fields. Declaring or importing an object is not sufficient; it must be properly initialized.
What is the primary benefit of using Lambda expressions in Java?
- They allow you to declare variables with multiple data types.
- They enable you to create global variables.
- They improve the performance of the Java program.
- They provide a shorter syntax for writing methods.
Lambda expressions in Java primarily offer a more concise and expressive way to write methods, especially for implementing functional interfaces. This concise syntax reduces boilerplate code, making the codebase more readable and maintainable. This is a key feature of Java's functional programming capabilities.
Which method is used to obtain the result from a Future object?
- fetchResult()
- get()
- getResult()
- obtainResult()
The get() method is used to obtain the result from a Future object in Java. This method is called on a Future instance, and it blocks until the result is available if it's not already computed. It returns the result of the computation or throws an exception if the computation encountered an error.