2013-07-12 20 views
7

Temelde bir Weblogic yöneticisiyim ve Weblogic örneğimde çok basit bir Java kodunu (savaş/kulak dosyası) dağıtarak bellek durumunun simülasyonunu yapmak istiyorum.Örnek bellek durumu taklit etmek için Java kodu

Java kodlaması hakkında çok az bilgim var, bu yüzden birisi bana kolayca savaş ve dağıtım olarak paketleyebileceğim örnek bir kod sağlayabilir mi?

+2

bellek? Yığın? Stack? Şu ana kadar çalışabilecek ne düşündün? – m0skit0

+1

Web sunucusunu gülünç derecede düşük bir maksimum yığın boyutuyla başlatın. ;) – fge

+2

, bunun birçok vardiyaya sahip olduğunu takdir ederken, OP bu konuda hiçbir çaba göstermedi. – Woot4Moo

cevap

16

Bu yeterli olmalıdır:

long[][] ary = new long[Integer.MAX_VALUE][Integer.MAX_VALUE]; 

bu 2^31 + 1 hafıza blokları, büyüklüğü, her biri 2^34 bayt ayırmaya çalışır.

+0

Teşekkürler Marko – mak

5

final long[] l = new long[Integer.MAX_VALUE]; Yapabilirsiniz 16Gb - 8 bayt ayırır.

Ya da sadece

+2

Bugünün sunucuları 2^34 baytlık bir blokla sizi sadece mizah edebilir :) Ancak ikinci öneri çoğu vaka için yeterli olabilir. –

+0

+1 İkinci çözüm için; bundan daha doğrudan/basit olamaz. – arshajii

1

throw new OutOfMemoryError(); bellek simüle etmek için zaman denemede üzerinde tüketilmektedir:

List<long[]> list = new LinkedList<long[]>(); 
while (true) { 
    list.add(new long[65536]); // an arbitrary number 
    // sleep(1) perhaps? 
} 
+0

@MarkoTopolnik thx Marko, görünüşe göre son zamanlarda çok fazla C kodluyordum. – Dariusz

İlgili konular