Java networking allows connecting computing devices to share resources using sockets and protocols. Key concepts include IP addresses, port numbers, MAC addresses, connection-oriented vs connection-less protocols, and sockets. Java provides the Socket, ServerSocket, DatagramSocket, and DatagramPacket classes for networking. An example client-server program demonstrates a client sending a message to a server using sockets. The URL class represents web addresses and contains information like the protocol, server, port, and file name.