Ну что, школьнички…

Jul 10, 2012 00:37

Итак, стажировка началась.

На первой неделе у нас чудесный и добрый интенсив по Java. Сегодняшний входной срез показал, что группу можно разделить пополам на шарящих и не шарящих. По крайней мере, каждая из наркомовских троек (шучу-шучу, проверяли парами) успела одного из студентов загнобить, а у второго обнаружить неплохие знания, хотя и не без ( Read more... )

поток мысли, Макаренко

Leave a comment

Comments 33

ext_707972 July 9 2012, 18:55:22 UTC
А что такое "доступ извне"?

Reply

olegg_lieangel July 10 2012, 00:01:56 UTC
Извне класса. Геттер есть или просто не приватное поле. Тогда ж кто угодно может объект заполучить и по нему же засинхронизоваться.

Reply

ext_707972 July 10 2012, 06:52:14 UTC
Видимо не видать мне места в первой группе :)

Я все-таки не могу понять, чем плох этот сценарий. Ну вытащили мы синхронайзд наружу, например, через протектед в подкласс, ну синхронизировался через него потомок. В чем тут проблема то?

Reply

olegg_lieangel July 10 2012, 07:23:48 UTC
Проблема в том, что «злоумышленник» может синхронизоваться по тому же монитору и в блоке синхронизации зависнуть намертво, тогда ты виснешь, хотя в логике твоего кода ошибок нет. И если примитив явно отдаётся, это ещё ничего, а если неявно (пул строк в джаве, например), то тут как раз и приходит чёртик с ведром гвоздей.

Reply


ivanenok July 10 2012, 01:42:48 UTC
э мля, не в ту сторону копаете судари.
всяческие знания изъебов языка, типа приведенного, нихуя не добавляют плюсов к пониманию сути и концепции этого языка, имхо :)
в ++, для примера, можно ваще ебануться от конструкции которые там можно вывернуться, и знание оных обычно приводит к написанию кода которые понимает только афтар. мало того что нечитабельно, так еще кто то может начать копировать такой стиль и тада тотальный пездец наступает.
ну а про локи да, годная и полезная штука ибо концептуальненько.

Reply

olegg_lieangel July 10 2012, 01:54:56 UTC
Ну этот изъёб даёт понимание того, что в джаве всё, что не является зарезервированным словом, может являться валидным идентификатором.

Про «нечитабельно и тотальный пездец» согласен, поэтому этот сэмпл давался с комментарием «никогда не пытайтесь повторить это дома». Просто ещё один пример, что непонятно можно написать на любом языке :)

Вообще говоря, тестирование состояло не только из таких моментов типа «я прочёл спеку джава и помню наизусть», но и из более простых и практических вещей. Анонимные классы и блоки инициализации многих в тупик ставили, например. А вышеупомянутый говнокодик был изюминкой на торте в разделе «Упоротые вопросы» (серьёзно, так и называлось).

Reply

ivanenok July 10 2012, 02:38:17 UTC
во, с появлением такого вот расписанного контекста все стало значительно более лучше, веселей и понятней.

эта, вы в процессе трололошения разжуйте им что такое синхронизации и как типичные локовые конструкции делаются, на примитивах, типа SingleWriterMultipleReader а то какой то тотальный пиздец на собеседованиях бывает. такое ощущение что количество ядер в процах увеличивается, а в голове у программеров как была однотредовая модель так и осталась. ну это я так, накипело :)

Reply

olegg_lieangel July 10 2012, 03:35:26 UTC
У нас тут, если сил хватит, ещё веселуха будет :) Вечером выложу.

Reply


ext_707972 July 10 2012, 08:27:40 UTC
> Ололо, оно работает. Жаль, строку бросать нельзя, а то бы и throws добавили

А ты запихай этот метод в свой класс с именем String, отнаследованным от Exception. :)

Reply

olegg_lieangel July 10 2012, 09:08:09 UTC
Кстати, да. Отличный план, надо обновить проект StringHell =)

Reply

olegg_lieangel July 10 2012, 10:00:37 UTC
ext_707972 July 10 2012, 10:21:12 UTC
Клево! :)

Reply


neopux July 10 2012, 11:41:18 UTC
Насчет пула строк и синхр кстати вкусный вопрос, возьму себе на заметку

Reply

olegg_lieangel July 10 2012, 12:30:38 UTC
Возьми :) А то я у тебя уже штук интересных почерпнул, да :)

Reply


Leave a comment

Up