Java supports "low-level" and "high-level" classes. "Low-level" classes provide maintain for socket programming:
Socket, DatagramSocket, and ServerSocket classes. "High-level" classes provide "Web programming": URL, URLEncoder, and URLConnection classes. Networking programming classes ease the programming of network applications, but do not reserve your knowledge of networking. Java networking like anything else in Java is platform-independent.