Turinys:

Kas yra „Java“atminties nutekėjimas?
Kas yra „Java“atminties nutekėjimas?

Video: Kas yra „Java“atminties nutekėjimas?

Video: Kas yra „Java“atminties nutekėjimas?
Video: Solving Java Memory Leaks 2024, Gegužė
Anonim

Kas yra a Atminties nutekėjimas in Java ? Standartinis a apibrėžimas atminties nutekėjimas yra scenarijus, kuris įvyksta, kai programa nebenaudoja objektų, bet šiukšlių surinkėjas negali jų pašalinti iš darbo atmintis – nes jos vis dar minimos.

Taigi, kas sukelia atminties nutekėjimą Java?

A Atminties nutekėjimas yra situacija, kai krūvoje yra nebenaudojamų daiktų, tačiau šiukšlių surinkėjas negali jų išvežti iš atmintis ir todėl jie be reikalo prižiūrimi. A atminties nutekėjimas yra blogai, nes blokuoja atmintis išteklius ir laikui bėgant blogina sistemos veikimą.

Vėliau kyla klausimas, ar gali atsirasti „Java“atminties nutekėjimo? Trumpas atsakymas: kompetentingas JVM neturi atminties nutekėjimas , bet daugiau atmintis gali būti naudojami nei reikia, nes ne visi nenaudojami objektai turėti dar buvo surinktos šiukšlės. Taip pat Java pačios programos gali turėti nuorodas į objektus, kurių nebėra reikia ir šis gali rezultatas a atminties nutekėjimas.

Taigi, kaip pašalinti „Java“atminties nutekėjimą?

2) Rankiniu būdu išjunkite ir įgalinkite savo kodo dalis ir stebėkite JVM atminties naudojimą naudodami JVM įrankį, pvz., VisualVM

  1. Įsitikinkite, kad naudojate jį kaip savo vartotoją, o ne sudo.
  2. Atlikite visą sistemos atnaujinimą (sudo yum atnaujinimas).
  3. Perkrovimas padeda.
  4. Pabandykite uždaryti visas veikiančias Java programas.

Kas gali sukelti atminties nutekėjimą?

Atminties nutekėjimas . Informatikos srityje a atminties nutekėjimas yra išteklių rūšis nutekėjimas įvyksta, kai kompiuterio programa netinkamai valdo atmintis paskirstymus tokiu būdu, kad atmintis kurios nebereikia, nepaleidžiama. Erdvė nutekėjimas atsiranda, kai kompiuterinė programa naudoja daugiau atmintis nei reikia.

Rekomenduojamas: