Mest 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 å drøfte fysisk minnehåndtering ? Haugen kan imidlertid bli en veldig big deal når en stor GlassFish Java server -prosjektet er plutselig gi heap feil til utviklere som bruker NetBeans integrert utviklingsmiljø (IDE ) . Dette problemet er lett løses ved mer effektiv programmering eller endre konfigurasjonsinnstillingene . Java Heap
Når et Java -program begynner sin gjennomføring, gir JVM det en viss mengde systemminne kalles Java heap . Den eksakte mengden minne JVM vil tildele et program heap vil variere fra versjon til versjon . Hver gang programmet oppretter en variabel eller en forekomst objekt, er dataene lagret i denne haugen . Java-utviklere kan tilpasse hvor stor av en haug JVM vil skape for et program når det begynner sin utførelse , men et program kan ikke opprette en større eller mindre haug når den er i gang .
Heap Feil
med
heap feil skjer når et program prøver å bruke mer minne enn det som er i haugen sin . Hvis en heap er allerede full med variable og objekt data , så programmet forsøk på å starte en annen variabel eller instantiate annet objekt vil generere en haug feil fordi det ikke er mer plass for den. I motsetning til eldre språk som krever programmerere å dekonstruere sine egne objekter og variabler å rydde opp plass i programmets 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 for å fjerne rom for andre.
GlassFish Heap feil
Web systemer som bruker GlassFish er vanligvis ikke cookie -cutter programmer en bruker rett og slett nedlastinger distribuerer deretter på serveren sin . De er nesten alltid generert for en bestemt applikasjon som vil kjøre på en bestemt server. Derfor utviklerne vet nøyaktig hvor mye minne deres programvare vil trenge i haugen sin , og være sikker på at serveren har tilstrekkelig fysisk minne til å generere en haug av denne størrelsen. Heap feil fra GlassFish programvare generelt kommer fra mer enn 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, er det ikke noe spesielt med IDE som forårsaker eller hindrer heap feil . Når utviklerne distribuere deres programvare pakken på en server, vil de måtte manuelt sette sin heap 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å minneområdet NetBeans genererer til antall megabytes programmereren angir .