When a thread acquires a lock for a synchronized method, it ________ the entry of other threads for all synchronized methods.

  • blocks
  • ignores
  • permits
  • suspends
When a thread acquires a lock for a synchronized method, it blocks the entry of other threads for all synchronized methods in the same object or class. This means that while one thread is inside a synchronized method, other threads attempting to enter any synchronized method of the same object or class will be blocked until the lock is released by the executing thread. This ensures exclusive access to synchronized methods, preventing data corruption in multi-threaded scenarios.

The method ________ of the RandomAccessFile class sets the file-pointer offset.

  • moveFilePointer()
  • seek()
  • setFilePointer()
  • setPointerOffset()
The method seek() of the RandomAccessFile class in Java is used to set the file-pointer offset to a specified location within the file. It allows you to navigate within the file and start reading or writing data from that position.

What happens if a superclass is not serializable but its subclass is, and we serialize an object of the subclass?

  • Only the subclass fields will be serialized.
  • Serialization will fail.
  • Serialization will proceed without errors.
  • The superclass fields will be serialized, but not the subclass fields.
If a superclass is not serializable but its subclass is, attempting to serialize an object of the subclass will result in a java.io.NotSerializableException. This happens because the superclass needs to be serializable for the serialization process to work correctly. The other options are incorrect, as they imply successful serialization without issues.

What is the purpose of using URL Encoding in Java?

  • To encrypt URLs for secure communication
  • To ensure special characters are transmitted properly
  • To optimize URL routing for faster navigation
  • To shorten URLs for better performance
URL Encoding in Java is used to ensure that special characters, such as spaces or symbols, are properly transmitted in URLs. It replaces reserved characters with escape sequences to prevent issues in URL handling and parsing. The other options do not accurately describe the purpose of URL Encoding.

How can one ensure that a particular section of code does not have concurrent access by multiple threads?

  • Use ReentrantLock from java.util.concurrent package.
  • Use Thread.sleep() to create delays.
  • Use synchronized keyword on the method.
  • Use volatile keyword for variables.
To ensure that a particular section of code does not have concurrent access by multiple threads, you can use the ReentrantLock class from the java.util.concurrent package. This allows you to create a lock that multiple threads can use to synchronize access to a critical section of code. Unlike synchronized methods, it provides more fine-grained control over locking.

How does the wait() method differ from the sleep() method when working with threads?

  • wait() and sleep() are interchangeable; there is no difference.
  • wait() and sleep() have no impact on thread execution.
  • wait() is used for inter-thread communication and releases the lock, while sleep() pauses the thread and retains the lock.
  • wait() is used for pausing the thread and retains the lock, while sleep() is used for inter-thread communication and releases the lock.
In Java, the wait() method is used for inter-thread communication and is typically used with synchronization mechanisms like synchronized blocks. It releases the lock and allows other threads to execute, whereas sleep() pauses the thread but retains the lock, making it unsuitable for inter-thread communication.

The operator ______ is used to invert the value of a boolean expression.

  • !
  • &&
  • +
  • ==
In Java, the ! (logical NOT) operator is used to invert or negate the value of a boolean expression. It changes true to false and vice versa, making it a fundamental operator for boolean logic in Java.

The InputStream and OutputStream classes are part of the ________ package.

  • java.io
  • java.lang
  • java.streams
  • java.util
The InputStream and OutputStream classes are part of the java.io package in Java. These classes are used for reading and writing data in a byte-oriented manner, making them essential for I/O operations.

When a thread tries to access a synchronized block of code in an object, it must first obtain the ________ on the object.

  • Lock
  • Monitor
  • Semaphore
  • Semaphore
When a thread tries to access a synchronized block in Java, it must first obtain the "Lock" on the object. This ensures that only one thread can execute the synchronized code block at a time, preventing race conditions.

The ________ method of URL class provides the port number of the URL.

  • fetchPortNumber()
  • getPort()
  • obtainPort()
  • retrievePort()
The correct answer is getPort(). In Java, the URL class provides the getPort() method, which allows you to obtain the port number of a URL. This is useful when working with network-related tasks where you need to know the port associated with a particular URL.