JAVA
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-атрибуты внешнего класса?
Ну я и сейчас на них не отвечу

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