Consumo de memória/liberação de objetos em memória
6 respostas
saviobarr
Olá,
Estou fazendo uma requisição Http que busca dados no banco, popula um objeto, retorna para Action, e a Action coloca num request.setAttribute para ser exibido na página. O problema é que mesmo depois da resposta da requisição, o objeto recuperado continua em memória. Podem me ajudar?
Seta a variável que aponta para o tal objeto para null.
Se ninguém referenciar um objeto, eventualmente ele será destruído pelo garbage collector.
saviobarr
pablosaraiva:
Seta a variável que aponta para o tal objeto para null.
Se ninguém referenciar um objeto, eventualmente ele será destruído pelo garbage collector.
Se eu setar pra null, os dados não serão exibidos pro usuário… o que preciso que após o response esse objeto seja liberado. o GC não tá fazendo isso legal… to analisando no JProfiler, e o objeto continua lá após a resposta para o usuário, e sempre que é feita nova requisição, mais instâncias são criadas, sem que as instâncias da requisição anterior tenham morrido, ou seja: a cada requisição aumenta o número de instâncias do mesmo objeto, até que chega num momento em que isso derruba o servidor.
[]´s
Sávio
J
juliocbq
saviobarr:
pablosaraiva:
Seta a variável que aponta para o tal objeto para null.
Se ninguém referenciar um objeto, eventualmente ele será destruído pelo garbage collector.
Se eu setar pra null, os dados não serão exibidos pro usuário… o que preciso que após o response esse objeto seja liberado. o GC não tá fazendo isso legal… to analisando no JProfiler, e o objeto continua lá após a resposta para o usuário, e sempre que é feita nova requisição, mais instâncias são criadas, sem que as instâncias da requisição anterior tenham morrido, ou seja: a cada requisição aumenta o número de instâncias do mesmo objeto, até que chega num momento em que isso derruba o servidor.
[]´s
Sávio
O que o pablosaraiva quis dizer, é para você setar a variável para null após o response.
saviobarr
juliocbq:
saviobarr:
pablosaraiva:
Seta a variável que aponta para o tal objeto para null.
Se ninguém referenciar um objeto, eventualmente ele será destruído pelo garbage collector.
Se eu setar pra null, os dados não serão exibidos pro usuário… o que preciso que após o response esse objeto seja liberado. o GC não tá fazendo isso legal… to analisando no JProfiler, e o objeto continua lá após a resposta para o usuário, e sempre que é feita nova requisição, mais instâncias são criadas, sem que as instâncias da requisição anterior tenham morrido, ou seja: a cada requisição aumenta o número de instâncias do mesmo objeto, até que chega num momento em que isso derruba o servidor.
[]´s
Sávio
O que o pablosaraiva quis dizer, é para você setar a variável para null após o response.
Eu não posso fazer nada depois do return…
Seria algo do tipo
Provavelmente algum lugar do código ainda está mantendo referência a esses objetos sem deixar eles serem coletados.
J
juliocbq
saviobarr:
juliocbq:
saviobarr:
pablosaraiva:
Seta a variável que aponta para o tal objeto para null.
Se ninguém referenciar um objeto, eventualmente ele será destruído pelo garbage collector.
Se eu setar pra null, os dados não serão exibidos pro usuário… o que preciso que após o response esse objeto seja liberado. o GC não tá fazendo isso legal… to analisando no JProfiler, e o objeto continua lá após a resposta para o usuário, e sempre que é feita nova requisição, mais instâncias são criadas, sem que as instâncias da requisição anterior tenham morrido, ou seja: a cada requisição aumenta o número de instâncias do mesmo objeto, até que chega num momento em que isso derruba o servidor.
[]´s
Sávio
O que o pablosaraiva quis dizer, é para você setar a variável para null após o response.
Eu não posso fazer nada depois do return…
Seria algo do tipo