Özel depolama kullanımı

SDK ' nın başarılı bir kuruluşundan sonra en sık rastlanan tek hata sınıfı, özel depolamanın yetersiz olması ile ilgilidir.

Bellek Kullanımını Anlamakonusunda ayrıntılı olarak anlatıldığı gibi LE, bellek elde etmek için malloc () gibi C çalıştırma zamanı kitaplık çağrılarını kullanan JVM gibi C/C++ programları için anahtar 8, Alt Havuz 2 'den depolama sağlar. LE HEAP, bir süreç adres alanında çalışan ve saklama alanı isteğinde bulunan tüm C/C++ programları için edinilen alanları ifade eder.

Bu alan, Java nesnelerinin örneklerinin Çöp Toplaması tarafından ayrıldığı ve yönetildiği Java™ öbeğinin ayrılması için kullanılır. Bu alan, işlemler sırasında JVM ' nin yaptığı temel ayırmalar için de kullanılır. Örneğin, JIT derleyicisi yöntemlerin derlenmesi ve derlenmiş kodun saklanması için çalışma alanlarını alır.

JVM ' nin bitişik olması için Java yığın boyutu üst sınırını önceden ayırması gerektiğinden, toplam özel alan gereksinimi, -Xmx seçeneği tarafından ayarlanan Java yığın boyutu üst sınırının yanı sıra temeldeki ayırmalar için bir ödenek de olmalıdır. (Kullanımda olan -Xmx seçeneği de içinde olmak üzere çeşitli seçeneklerin değerlerini göstermek için java -verbose:sizes -version komutunu kullanabilirsiniz.) Toplam 140 MB özel alan, yığın boyutu üst sınırı 64 MB olan bir JVM eşgörünümü için makul bir gereksinimdir.

Özel alan bir sistem parametresi ya da kullanıcı çıkışıyla sınırlandıysa, özel depolama alanı elde edilememiştir. Bu hatalar, başlatma sırasında OutOfMemoryErrors ya da Kural Dışı Durumlar, kitaplıkları yükleme başarısızlıkları ya da alt bileşen kullanıma hazırlama işlemi tamamlanamadı olarak gösterilir.