1
我的程序有一個多線程環境,我無法控制線程的產卵,但是我使用的一些框架具有控制權。XSLT轉換:newTransformer與newTemplates相對於類加載
我發現使用newTemplates(XSLstreamsource)
是線程安全的,而newTransformer(XSLstreamsource)
不是。但是我真正想知道的是,如果這兩者之間在將實現類加載到JVM方面存在差異。
我現在面臨的問題是每調用一次(在不同的線程中)加載類,因此佔用燙髮存儲器部分的高度。
我想知道如果newTemplates
只會加載一次該類,而不是newTransformer
。或者是否有解決方案來避免每次都加載類?
謝謝Michael和Mads。那麼,我認爲這兩者在彼爾姆內存消費方面沒有任何區別?我對嗎?順便說一句,使用SAXTransformer會導致較低的Perm Gen消耗? – 2013-05-06 02:20:41
如果您關心內存,可能是因爲您正在處理大型源文檔。通常,源文檔樹將由Transformer擁有,並且假設您只對文檔進行一次轉換,則在Transformer發佈時它將被垃圾收集。使用SAXTransformer不可能有任何改變;處理器仍然會在內存中構建一棵樹。 – 2013-05-07 22:20:52