Por favor, coloque as suas dúvidas e seus comentários sobre este tutorial aqui.
Sinta-se livre para fazer qualquer tipo de pergunta, desta maneira você estará nos ajudando e aos outros usuários!
Achei muito legal, e simples, esse jeito de criar um objeto de cache.
Ainda pode ser aperfeicoado colocando o tempo maximo que um objeto pode ficar no cache e, tambem como opcional, o maximo de megas que devem ser guardados em cache.
Infelizmente Java nao tem nenhuma funcao .sizeof e o metodo convencional de descobrir o tamanho de um objeto eh, no minimo, um tanto quanto ruim. Entao fica um pouco dificil esse maximo de megas, se alguem tiver alguma solucao razoavel/boa, me de uma avisada.
Guilherme Silveira
Paulo_Silveira
Realmente seria uma boa idéia o cache expirar por tempo.
Porém ai, o removeEldestElement() não se encaixa direito, porque ele apenas remove o último, e só funciona usando uma das duas daquelas ordenações.
Se alguém estiver a fim de fazer um tutorial de um Cache que elimine por tempo, era legal. Tipo, ele tenta dar um get(), e se o tempo expirou o MAX_TIME, ele retorna null e remove o elemento do Map.
Guilherme_Silveira
Eu tenho ja umas classes assim, soh que eh copyrighted neh… inutil, mas blz, da pra basea…
O MAX_TIME nao pode ser constante, tem q ser setavel (com synchronized, claro)
Nao soh o get mas o metodo hasGot ou qq coisa do genero, que checa se uma url ja esta no cache (url pra um objeto, nao pra um site na internet, isso eh uma uri?) deve tambem fazer essa verificacao
E o metodo removeEldelst continuaria o mesmo. Mas precisa tambem de um removeRandom e remove(especifico).