Фантомға сілтеме - Phantom reference

A елес сілтеме сілтеме түрі болып табылады Java, мұнда жадты қалпына келтіруге болады. Елес сілтеме - күшті емес деңгейдің бірі күшті 'Java бағдарламалау тілінде анықталған анықтама; басқалары әлсіз және жұмсақ.[1] Phantom сілтемесі - Java-дағы ең әлсіз сілтеме деңгейі; күштіден әлсізге қарай олар: мықты, жұмсақ, әлсіз, елес.

Нысанға ол болғаннан кейін елес сілтеме жасалады аяқталды.

Java 8 және одан бұрынғы нұсқаларында анықталған референттің жадын қайтару үшін сілтемені тазарту қажет. Java 9-дағы өзгеріс[2] пысықталған референттің жадын дереу қалпына келтіруге мүмкіндік береді.

Пайдаланыңыз

Phantom сілтемелері шектеулі, ең алдымен тар техникалық қолданыста.[3] Біріншіден, оны a орнына қолдануға болады аяқтау әдіс, аяқтау кезінде объектінің қайта тірілмейтініне кепілдік. Бұл объектіні қайта тірілмегеніне кепілдік беру үшін екінші GC циклін күтудің орнына, оны бір циклде жинауға мүмкіндік береді. Екінші қолдану - бұл объектінің жадтан қашан алынғанын дәл анықтау (а-мен бірге қолдану арқылы) Анықтама кезегі оның жадының қол жетімді болуын қамтамасыз ету, мысалы, алдыңғы жад босатылғанға дейін үлкен көлемде жадыны (мысалы, үлкен кескін) бөлуді кейінге қалдыру.

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ «java.lang.ref (Java Platform SE 8)». Java ™ платформасы, Standard Edition 8 API сипаттамасы. Oracle. Алынған 6 тамыз 2016.
  2. ^ oracle.com, kim barrett (28 желтоқсан 2015). «hg: jdk9 / hs-rt / jdk: 8071507: (ref) жұмсақ және әлсіз сілтемелер сияқты айқын елес сілтемесін жасайды».
  3. ^ Николас, Этан (2006 ж. 4 мамыр). «Әлсіз сілтемелерді түсіну». www.java.net. Архивтелген түпнұсқа 2010 жылғы 19 тамызда. Алынған 1 қазан, 2010.