Java är ett snällt språk som tar hand om skräpsamling för oss. Vi behöver inte tänka på att avallokera minnet efter vi använt det.. jättesmidigt! Dock verkar det som att denna automatiska skräpuppsamling har gjort oss lata och glömmer bort att vi faktiskt måste städa upp efter oss ibland!
Strömmar av alla olika slag är nämligen väldigt viktiga att stänga. Framförallt strömmar till filer är viktiga, eftersom en öppen ström mot en fil tar upp systemresurser. Om man inte stänger filströmmarna efter sig, kommer ditt Java-program äta upp systemresurser tills minnet tar slut, eller tills operativsystemet sätter stopp för att du har öppnat för många filer (känns felmeddelandet ”Too many open files” igen?). Om du kör ditt program på en Linuxmaskin räknas både filer och TCP-anslutningar som filkopplingar. Detta gör att om du öppnar för många filer på disk, så kommer det heller inte att gå att öppna nya sockets.
Det finns många sätt att stänga sin ström på, men vad är då det mest korrekta sättet?
(Läs mer…)



Pierre