X é muito diferente do Java. Não é uma VM, camada de abstração de hardware ou qualquer coisa assim - é um protocolo de rede , atualmente na versão X11, que os programas usam para se comunicar com um servidor X11. Esses programas podem ser escritos em praticamente qualquer idioma desde que tenham as funções necessárias.
O servidor X11 geralmente é executado em sua própria máquina e executa o trabalho de exibir gráficos na tela e enviar eventos de teclado e mouse de volta aos programas. Os programas (clientes X11) conectam-se localmente usando tais métodos IPC (soquetes Unix) ou pela rede - usando TCP / IP direto (raro) ou sintonizados dentro de uma conexão SSH (a opção "X11 forwarding" no PuTTY).
O Reflection X é um servidor X11 comercial para Windows. Alternativas de código aberto incluem Cygwin / X (uma porta do Xorg), bem como Xming . Quase todos os PCs Linux ou BSD executam o Xorg como seu principal sistema gráfico.
Quando você executa o Reflection X em seu computador, ele fica ali esperando por conexões. Quando você executa jvisualvm
na máquina CentOS, o profiler se conecta ao servidor X11 (usando a mesma conexão SSH que o PuTTY está usando) e usa o protocolo X11 para abrir uma janela e desenhar dentro dela.