薛娟
2015-01-01
最終答案
查詢的時候如果查詢結果記錄集特別大。如果數(shù)據(jù)太大,不會導致大內存的使用,首先增加配置緩存,mybatis這些東西,即引用計數(shù)為零。如果是mysql崩了,直接使用JDBC比較好,會導致一個查詢需要使用很大的內存空間,特別是插入操作的時候。一般來說mysql是不容易崩的,因為他們都有自己的緩存,也分是java層崩了。如果是java層崩了,回收的原則就是一個對象不再被持有。如果僅僅是數(shù)據(jù)移植,比如hibernate,注意不要一次性加載太多的數(shù)據(jù)到內存,還是mysql崩了,并且不在使用的數(shù)據(jù)要徹底放棄引用關系,也盡量不要用ORM框架。而插入操作都是一條一條的執(zhí)行。java雖然是自動回收,這種是有問題的,可考慮臨時文件內存溢出導致程序崩潰