www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Мониторинг  

Какая задача мониторинга отнимает больше всего времени?

Многие системные администраторы тратят до 30% рабочего времени на рутину мониторинга. Но

 Читать далее...

Рынок труда  

Какие навыки вы хотите развивать в 2026 году?

Рынок труда меняется быстро. Еще вчера его называли рынком соискателей, а сегодня

 Читать далее...

Книжная полка  

От сисадмина до архитектора: книги, которые прокачают ваш стек в этом году

Новинки от издательства «БХВ» отличаются тем, что в них часто делается упор

 Читать далее...

Автоматизация  

Автоматизируем рутину: что реально работает?

Многие сисадмины автоматизировали что-то за последний год. Но далеко не все остались

 Читать далее...

Защита ИТ-системы  

Практическая защита: что вы внедрили и что мешает?

Какие меры безопасности реально внедрить в реальных условиях – и что не

 Читать далее...

Вопрос-ответ  

Обеспечиваем безопасную эксплуатацию базы данных

Что для вас чаще всего является причиной инцидентов с БД? Как вы

 Читать далее...

Книжная полка  

От «безопасного» Linux до Контролируемого взлома

Издательство «БХВ» продолжает радовать читателей интересными новинками и в наступившем году. Вы можете

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 13550
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 13662
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 11120
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 5959
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 6806
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 6696
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 9531
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 6134
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 6344
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 10507
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 13978
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 15429
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 17766
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 12600
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 10615
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 8825
Комментарии: 4
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 7426
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 6236
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 5849
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 6182
Комментарии: 1
Рецензия на книгу «MongoDB в действии»

 Читать далее...

Друзья сайта  

 FAQ Java

Архив номеров / 2003 / Выпуск №1 (2) / FAQ Java

Рубрика: Программирование /  Веб-программирование

ДАНИИЛ АЛИЕВСКИЙ 

FAQ Java

Вопрос: 

Можно ли получить внутренний адрес экземпляра класса – хотя бы для отладочных целей или для идентификации экземпляра?

Ответ:

Да. С помощью метода System.identityHashCode(Object x).

Возвращаемое целое число является уникальным идентификатором экземпляра x в рамках данной Java-машины. В типичных реализациях языка Java это число соответствует внутреннему адресу объекта в памяти (так написано в документации фирмы Sun). Язык Java, конечно, не позволяет использовать этот адрес для «нелегальных действий» с объектами, например для считывания или модификации полей. Но его вполне можно использовать для идентификации экземпляров объектов. Например, распечатка identityHashCode позволяет в процессе отладки убедиться в идентичности некоторых объектных переменных, появляющихся в разных местах работы программы.

Если в классе, экземпляром которого является объект x, метод hashCode не был переопределен, то вместо «System.identityHashCode(x)» можно использовать эквивалентный вызов «x.hashCode()».

Вопрос: 

Хотелось бы получить в распоряжение библиотечку «очень полезных функций» (вроде методов класса Math), которые были бы доступны в моих классах без предварительного указания имени класса, содержащего эти функции. Возможно ли это?

Ответ: 

Да, хотя это и противоречит объектно-ориентированной идеологии языка Java. Можно создать класс-«библиотечку», например Tools, состоящий только из статических методов – этих самых «очень полезных функций», и взять за правило наследовать от него все новые классы. Такой прием не годится, если новый класс по условию должен быть унаследован от какого-либо класса, разработанного не вами, например от java.lang.Thread. В этой ситуации можно сделать новый класс вложенным по отношению к внешнему классу, унаследованному от класса-«библиотечки».

Однако вряд ли такое решение стоит рекомендовать. Может быть, в следующих версиях Java появится возможность делать то же самое «цивилизованно» – указывая в начале java-файла набор классов, статические члены которых автоматически становятся доступными без дополнительных уточнений.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru