java – O que significa uma variável conter um valor?

Havendo diferença entre as linguagens ou entre tipos de variáveis, estou perguntando para um caso simples, envolvendo variáveis inteiras em C (por exemplo, de tipo int). Se quiser falar no contexto do Java com seus tipos primitivos, também interessa.

E havendo duplicada pode fechar sem problemas, acho interessante esta ficar registrada do jeito que foi elaborada.

O que significa uma variável conter um valor?

No código fazemos int x = 2; (ou, mais precisamente, declaramos int x; e atribuímos x = 2;), porém a variável em si não é o que ela vale. Ou é?

Para quem tem uma noção incompleta de como funciona debaixo dos panos isso faz uma confusão danada na cabeça.

Tentando elaborar: a variável desaparece no código compilado. E se variável já é uma indireção, juntando o conceito de ponteiro (para não falar em referência) fica mais confuso ainda. Uma variável simples de tipo inteiro é o valor ou ela tem o valor? O valor é uma coisa e a variável é outra? Se são diferentes, o fato de fazer atribuição usando = (ou := no bom e velho Pascal) deixa as coisas confusas.

Espero ter perguntado com clareza suficiente para entender a dúvida.