En iyi yöntem küçük geçici milyonlarca nesne oluşturmak için
"En iyi uygulamalar" için oluşturma (ve serbest) küçük nesneleri milyonlarca?
Java satranç programı oluşturur ve tek bir" olası her hareket için nesne ve nominal bir araştırma kolaylıkla saniyede bir milyon hareket nesneleri oluşturabilir. "Taşı arama algoritması yazıyorum JVM GC geliştirme sistemi üzerindeki yükü işlemek mümkün olmuştur, ama bu alternatif yaklaşımlar keşfetmek ilgileniyorum:
- Çöp toplama yükünü en aza indirmek ve
- düşük-uç sistemler için en yüksek bellek ayak izi azaltmak.
Büyük bir çoğunluğun nesneleri çok kısa ömürlü, ama yaklaşık %1 hamle oluşturulan kalıcı ve iade olarak kalıcı değer, bu yüzden herhangi bir havuzu veya önbelleğe alma tekniği ... sağlamak dışında bırakma yeteneği belirli nesneler olmaktan tekrar kullanılamaz.
Tam ete kemiğe bürünmüş örnek kod beklemiyorum, ama daha fazla/araştırma okuma için önerileriniz, veya benzer nitelikteki kaynak örnekleri açardım.
CEVAP
JVM GC agresif kısa ömürlü nesneler büyük miktarlarda doğru getirilmiştir. Özellikle uzun vadeli ile karıştırmamak gerek bile inanılmaz ucuz ayırmaya ve bir bütün olarak toplamak için-her ikisi de;ya da orta vadeli ayırma nesne. Yığın miktarı küçük GC bu ishal nasıl yapılacağını düzenler, ama kısıtlı bir yığın bile büyük bir sorun olmayabilir.
Kesinlikle algoritma çöp en aza indirmek için yeniden tasarlama önce test etmelisiniz.
Genel yöntem oluşturmak bir Numaralama...
Nasıl olmayan sabit bir referans geçic...
Bir yöntem gibi " var mı JavaScrip...
Bir döngü içinde nesne harfleri bir di...
Nasıl bir nesne olup olmadığını kontro...