Java Heap Feil i NetBeans og Glassfish

Java Heap Feil i NetBeans og Glassfish


De fleste innledende Java programmering kurs ikke dekker Java heap. Tross alt, når klassen oppdrag er bare noen få linjer med kode, hva er behovet for å diskutere fysisk minnehåndtering? Haugen kan imidlertid bli en veldig stor avtale når en stor Glassfish Java server prosjektet er plutselig gi heap feil til utviklere som bruker NetBeans Integrated Development Environment (IDE). Dette problemet er lett løses ved mer effektiv programmering eller endre konfigurasjonsinnstillingene.

Java Heap

Når et Java-program begynner sin utførelse, gir JVM det en viss mengde systemminne kalt Java heap. Den nøyaktige mengden minne JVM vil tildele et program haug vil variere fra versjon til versjon. Hver gang programmet oppretter en variabel eller en forekomst objekt, er dens data lagret i denne haugen. Java-utviklere kan tilpasse hvor stor av en haug JVM vil skape for et program når det begynner sin kjøring, men et program kan ikke lage en større eller mindre haug når den er i gang.

heap feil

Heap feil skjer når et program prøver å bruke mer minne enn det som er i sin haug. Hvis en haug er allerede full med variable og objektdata, så programmet forsøk på å initialisere en annen variabel eller instantiate annet objekt vil generere en haug feil fordi det ikke er mer plass til det. I motsetning til eldre språk som krever programmerere å dekonstruere sine egne objekter og variabler for å rydde opp plass i programmet minne, har JVM automatiserte søppel samling: Når et program når et punkt i sin utførelse hvor det ikke kan påkalle en klasse eller variabel igjen, JVM vil slette sine data til klart rom for andre.

Glassfish Heap feil

Web systemer som bruker Glassfish er vanligvis ikke cookie-cutter programmer en bruker bare laster deretter distribuerer på sin server. De er nesten alltid genereres for et bestemt program som vil kjøre på en bestemt server. Derfor utviklerne vet nøyaktig hvor mye minne deres programvare trenger i sin haug, og være sikker på at serveren har tilstrekkelig fysisk minne til å generere en haug av denne størrelsen. Heap feil fra Glassfish programvare vanligvis kommer fra stiger en haug størrelse, eller ber om mer minne i haugen enn serveren har fysisk minne til å imøtekomme.

NetBeans IDE

Når utviklere bruker NetBeans IDE å kode sine Glassfish programvare, det er ikke noe spesielt med IDE som forårsaker eller hindrer heap feil. Når utviklere distribuere sin programvarepakke på en server, må de manuelt sette sin haug størrelse med JVM. De kan imidlertid justere størrelsen på haugen som NetBeans IDE vil gi programvaren under testing på utviklerens maskin. Programmerere kan endre denne innstillingen i "netbeans.conf" filen i "NetBeans-home / etc" katalogen. Endre nummeret ved siden av "J-Xmx" i "netbeans_default_options =" ​​linjen vil endre størrelsen på minne NetBeans genererer til antall megabyte programmerer spesifiserer.