Hola......
Los sockets son basicamente formas en las que podemos interconectar 2 (o mas) programas mediante el uso de la internet. En java se utilizan para poder crear conexiones utilizando basicamente una IP/hostname y un puerto para establecer la conexión.
te comparto esta URL donde te muestra un pequeño ejemplo de un sockets:
https://www.programarya.com/Cursos/Java-Avanzado/Sockets