Es el operador binario XOR al igual que otros operadores tambien binarios como son el &,||, ! que seria el and, or y not respectivamente, estos trabajan a nivel de bit osea de unos y ceros.
Para mas informacion puedes mirarte esta informacion:
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Java/Operadores_de_bitshttps://es.wikipedia.org/wiki/Disyunci%C3%B3n_exclusivaPD:tambien estan los operadores << y >> que son operadores de dezplazamiento de bits, existen otros operadores como son el rotr y el rotl pero no estan disponibles en java pero se puede implementar con ayudar de los operadores antes mecionandos.
Para conocer sobre estos ultimos puede revisar el siguiente enlace.
https://en.wikipedia.org/wiki/Circular_shift