если JIT положит во втором варианте значение myClass на регистр, а не в память, то параметром будет быстрее. Но вообще скорости добиваются другими способами, а в данном случае да, следование принципам важнее, а они призывают нас минимизировать использование статических переменных.
Нифига. Java - весьма востребованная специализация. Еще важнее, что Java как язык очень аккуратен и прививает программистскую культуру. PHP ее только портит.
«Начиная с 1 элемента LinkedList занимает больше» — но при удалении элементов память LinkedList'a стремится к нулю, а у ArrayList'a остается максимальной.
Вас, вероятно, смущает, что, с одной стороны, компилятор сотрет тИповые параметры и это позволит в рантайме обращаться к doIt с параметром любого типа, а с другой — компилятор не дает этого делать. Он не дает именно потому, что тИповые параметры были заявлены, но компилятор не в состоянии гарантировать, что в конкретном экземпляре тИповый параметр имеет конкретное значение — потому что этих значений два. По понятиям компилятора, если программист не хочет контроля типов, он не пишет типовый параметр, а если написал, то просит компилятор проконтролировать. Вот он и контролирует.
Только нужно учесть, что система A может работать быстрее системы B и завалить последнюю информацией, так что система B умрет от переполнения. Нужно предусмотреть обратную связь: вначале система B оповещает систему A, что способна принять N единиц данных, и по мере переваривания продолжает оповещать о способности принять дополнительную единицу. Система А посылает данные только в объеме полученных разрешений. Впрочем, подобный механизм уже встроен в TCP/IP — системе B надо просто не читать данные, которые она не в состоянии обработать, и система А не сможет записать в канал очередную порцию.
synchronized в Node затем, что в варианте ExecutorFarey есть проблема дождаться окончания всех подзадач, ведь мы не знаем сколько их и не можем использовать CountDownLatch. Вместо этого мы начинаем сканирование результирующего списка сразу и задерживаемся, встречая недоделанные места.
Не понял противопоставления 4 потока и много-много тасков: у вас что, каждый поток решает только 1 задачу? А как вы разбили всю задачу ровно на 4? А если будет 3-х процессорная машина, как вы будете разбивать на 3 одинаковых задачи?
sergiks, о pureMVC узнал только что от вас. Глянул. MVC чистой воды, то есть для организации пользовательского интерфейса. Может и можно что-то оттуда выдрать, но будет накладно. Слово actor используют не в том смысле — у них всего 4 предопределенных актора, а вам надо неопределенное число своих акторов.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.