JAVA

livemix

При знании тройки других языков программирования (и среди их хотя бы один ОО язык Java ботается за 2 дня (именно язык, в объёме "Философия Java" Брюса Эккеля).
После двух дней ботанства ты будешь легко отвечать на вопросы типа
1) есть ли разница, объявить внутренний интерфейс с модификатором static или без него?
2) имеет ли смысл писать volatile перед long в объявлении переменной класса?

enochka1145

Кстати, а какие ответы? Мне реально интересно.
1) Нарыл вот что:
"The Java Language Specification
...
8.5.2 Static Member Type Declarations
...
Member interfaces are always implicitly static. It is permitted but not required for the declaration of a member interface to explicitly list the static modifier."
2) вроде для того, чтобы была атомность при присваиваниях этой переменной (т. е. чтобы не было прерывания между изменением старшего и младшего int-слов этой long-переменной).
И ещё, почему внутренние классы могут использовать только final-атрибуты внешнего класса?

ava3443

> После двух дней ботанства ты будешь легко отвечать на вопросы типа
Ну я и сейчас на них не отвечу Однако, ИМХО, это не та причина, по которой человека не возьмут Java-программистом.

anton7805

1) есть ли разница, объявить внутренний интерфейс с модификатором static или без него?
2) имеет ли смысл писать volatile перед long в объявлении переменной класса?
подобного рода вопросы едва ли встретятся в программировании реальных коммерческих проектов, поэтому ставить целью детально изучить каждый аспект java имхо не стоит. Что касается volatile , то не понимаю почему именно перед long , а так я ни разу не использовал, так как хорошо проектированная прога исключает возможность без надобности изменять переменную асинхронными потоками.

enochka1145

long и double занимают 64 бита. На некоторых - 32-разрядных - процессорах присваивание значения такой переменной не будет атомарной операцией.

anton7805

понятно... но java - это язык высокого уровня, думать о том атомарна ли операция или не атомарна девелоперам не нужно. Нужно концентрироваться на логике приложения, абстрагируясь от физического расположения данных и их низкоуровневыми манипуляциями
Оставить комментарий
Имя или ник:
Комментарий: