Sistem testinde yeni bir dağıtımdan sonra, servletlerimizden biri her zamankinden çok daha fazla vuruldu ve belleklerin tırmanmaya başladığını ve weblogic'in sonunda öleceğini fark ettik. Stajyerim, çok gururlandım, bellek sızıntısının kaynağını keşfettim. Bir istek halinde gelseJAXBContext.newInstance bellek sızıntısı
, bu hat çağrılan: Nedense
JAXBContext jc = JAXBContext.newInstance(“ruby.oracle_servlet.schemas”);
, nesne çöp toplandı geçmez. Statik hale getirdiğimizde ve başlattığımız yere taşındıktan sonra bellek sızıntımız kayboldu.
Geliştiricilerinden bir diğeri, bağımsız bir java uygulamasında bir süre bu çizgiyi koydu ve hafızanın yukarı ve yukarı doğru kaydığını gördü.
Bu nesnenin neden çöp toplanmamasına dair herhangi bir fikri var mı?
Teşekkür
Bağlantı güncelleme: http://jaxb.java.net/guide/Performance_and_thread_safety.html –
@ThangPham - Sağolun, sağladığınız yeni bağlantı ile benim cevap güncelledik. –
Bu, JAXB for Java 7 sürümü ile ilgili bilinen bir sorun mu? Verdiğiniz çözüm hala geçerli olsa da, bunun hala aktif olarak izlenmesi gereken bir şey olup olmadığını bilmek iyi olur. –