Retorno de um método

Galera só a título de curiosidade, onde fica armazenado o retorno de um método antes por exemplo de ser atribuído a uma variável ? [code]
class Exemplo{
float teste(){
return 10.0f;
}

public static void main( String [] x){

    float f=teste();//onde fica armazenado o retorno antes de ser atribuído a variável f?
 

}

}
[/code]

Fica tudo na memoria amigo, porém alocado de uma maneira um pouco diferente do que voce declarar uma variavel e atribuir o valor a ela…

Abraços

Não sei se estou certo, mais no caso ali… como o programa lê linha por linha, ele não está armazenado em nenhum lugar. O programa simplesmente chega no “return” e faz o link com a variável que recebe ele la no main.
Eu também já cheguei a perguntar isso pro meu professor na faculdade, quando eu estava iniciando… ficava confuso de como as coisas funcionavam em um programa. Mais rapidinho pega o jeito. :wink:

[quote=kelvinoenning]Não sei se estou certo, mais no caso ali… como o programa lê linha por linha, ele não está armazenado em nenhum lugar. O programa simplesmente chega no “return” e faz o link com a variável que recebe ele la no main.
Eu também já cheguei a perguntar isso pro meu professor na faculdade, quando eu estava iniciando… ficava confuso de como as coisas funcionavam em um programa. Mais rapidinho pega o jeito. :wink: [/quote]

Pois é, cheguei até a pensar se o retorno fica armazenado no registrador do CPU, mas não sei se teria nexo…
Vlww 8)

[quote=dntalemao][quote=kelvinoenning]Não sei se estou certo, mais no caso ali… como o programa lê linha por linha, ele não está armazenado em nenhum lugar. O programa simplesmente chega no “return” e faz o link com a variável que recebe ele la no main.
Eu também já cheguei a perguntar isso pro meu professor na faculdade, quando eu estava iniciando… ficava confuso de como as coisas funcionavam em um programa. Mais rapidinho pega o jeito. :wink: [/quote]

Pois é, cheguei até a pensar se o retorno fica armazenado no registrador do CPU, mas não sei se teria nexo…
Vlww 8) [/quote]

É… eu acho que não chega a ser armazenado, pois se pensar bem. O método é iniciado dentro do programa e já com o link em alguma variável para retorno.
Exemplo método que retorna um valor int:
int a = valor();

No caso se ele lê linha por linha e do inicio ao fim, temos como lógica que antes de ele iniciar o método e ter o return, ele já iniciou essa variável que será para armazenar o return, que no exemplo seria a variável “a”.

Eu posso estar enganado, mais vendo pela lógica, eu acho que seria assim mesmo.

[quote=dntalemao]Galera só a título de curiosidade, onde fica armazenado o retorno de um método antes por exemplo de ser atribuído a uma variável ? [code]
class Exemplo{
float teste(){
return 10.0f;
}

public static void main( String [] x){

    float f=teste();//onde fica armazenado o retorno antes de ser atribuído a variável f?
 

}

}
[/code]
[/quote]

O retorno de um método é armazenado na pilha de execução.
Essa pilha serve, entre outras coisas, para conter os parâmetros e as variáveis locais, e retornar os valores de retorno.
A pilha é incrementada ou decrementada de 8 em 8 bytes (ou seja, suficiente para caber um double ou um long, e isso fica de acordo com a maior parte das arquiteturas atuais - de 64 bits, ou então, se a arquitetura for de 32 bits, muitos dos processadores atuais trabalham internamente com 64 bits ou mais); se o elemento contiver menos bytes (como é o caso de um int, um float, um char, um short ou um byte) os outros bytes são desprezados.

Entendi, fica então junto com os endereços de retorno, valores dos parâmetros etc… tudo na pilha de chamadas.
obrigado