Oi,
Estou fazendo meu primeiro sistema para a Web com Java. Li um livro sobre JSP, servlets e JavaBeans, mas tenho sobre tudo isso apenas uma noção superficial. Estou tentando colocar isso em prática. Fiz um sistema em que vc fornece o nome de uma pasta no servidor, e ele mostra, em ordem, todas as imagens JPG encontradas naquela pasta.
O núcleo do sistema é um servlet que, dado um nome de arquivo, lê a imagem e a devolve para o browser. O servlet pode devolver a imagem no tamanho original ou diminuida numa proporção especificada como parametro. Tudo isso foi montado com pesquisa na Internet, pois realmente não conheço Java o suficiente para isso. No futuro, quem sabe.
O sistema está funcionando, mas com um pequeno problema. Com determinadas imagens, certamente com as maiores e também com outras, talvez mais complexas, o servlet estoura a memória heap. Para a mesma imagem, se eu peço Zoom de 25% ou de 50%, ele devolve a imagem, mas se eu peço Zoom de 75%, a memória estoura. Não sei bem o que é o heap, mas essa é a mensagem que o Tomcat retorna:
O que eu puder verificar foi o seguinte:
- estou usando Linux Kurumin 6.0 num Pentium III 550 Mhz e 256 Mbytes RAM. O ambiente Java é o JDK 1.5.0_06. O servidor é o Tomcat 5.5.9, versão incorporada ao NetBeans 5.0.
- a memória usada pelo servlet, quando estoura, não é toda a memória do sistema. Ele está usando apenas cerca de (contando toda a memória em uso naquele momento, no sistema como um todo) 160 ou 165 Megas. Estão “sobrando” ainda uns 90 Megas de memória RAM, sem contar a memória virtual do Linux.
Daí a minha pergunta: tem como aumentar o uso da memória, de modo a alocar mais espaço para o servlet?
Agradeço qualquer dica.
Hel_all