Socket communication in Java enables communication between two endpoints over a network. There are two main types of sockets: TCP sockets and UDP sockets. Let's explain both types with examples: TCP Socket Communication: 1. **Server Side**: - The server creates a `ServerSocket` object to listen for incoming connections on a specific port. - When a client connects, the server accepts the connection and creates a `Socket` object to communicate with the client. - The server reads from and writes to the socket's input and output streams to communicate with the client. import java.io.*; import java.net.*; public class TCPServer { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(12345); System.out.println("Server started. Waiting for client..."); Socket clientSocket = serverSocket.accept(); ...
The Comparable and Comparator interfaces in Java are both used for sorting objects, but they serve different purposes and provide different mechanisms for comparison. Comparable Interface: 1. Purpose: - The Comparable interface is used to define the natural ordering of objects. It enables objects of a class to be compared to one another based on a predefined criterion. - Objects that implement Comparable can be sorted automatically based on their natural ordering. 2. Method: - The Comparable interface contains a single method, `compareTo(Object obj)`, which compares the current object with another object of the same type. - The `compareTo` method returns a negative integer, zero, or a positive integer depending on whether the current object is less than, equal to, or greater than the specified object. 3. Usage: - Comparable is typically implemented by the class of the objects being sorted. - It defines t...