LINUX.ORG.RU
ФорумTalks

Senior Software Engineer

 , ,


1

1

Я просто оставлю это здесь:

https://www.linkedin.com/groups/70526/70526-6364460172382957568

Supratiksh Kumar Dwivedi
Senior Software Engineer at HCL Technologies

Why:- Exception in thread «main» java.lang.StackOverflowError

public class MyObject {
    MyObject myObject = new MyObject();
    public static void main(String[] args) {
        MyObject myObject = new MyObject();
        System.out.println(myObject);
    }
}

★★★★★

Ответ на: комментарий от Deleted

Понятия не имею сколько платят синиору в Индии.

bbk123 ★★★★★ ()

Кстати я в эту группку заявочку кинул, чтобы меня туда приняли. Уже весит «Pending» 3 месяца. Видимо там илитные жабакодеры сидят. В группу Скалы меня приняли мгновенно.

mimimimi ()

Вот зачем пристал к человеку? Вообще видел легаси код? Ты что-ли с ним будешь возиться с галоперидолом в кармане? Такие сеньёры очень нужны бизнесу.

foror ★★★★ ()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от foror

Вот зачем пристал к человеку?

С ним я вообще не разговаривал.

Вообще видел легаси код? Ты что-ли с ним будешь возиться с галоперидолом в кармане?

Видел и даже возился.

Такие сеньёры очень нужны бизнесу.

Такие совершенно не нужны. Не хочу, после них разгребать, говнокод.

bbk123 ★★★★★ ()
Ответ на: комментарий от Deleted

И чо? Может ему платят два рубля в месяц.

Скорее всего. Именно поэтому индусы так популярны.

bbk123 ★★★★★ ()
Ответ на: комментарий от mimimimi

Скорее всего модераторы эту группу совсем забросили и просто подтвердить твою заявку некому. Вообще LinkedIn плохо подходит для технических обсуждений.

bbk123 ★★★★★ ()
Ответ на: комментарий от bbk123

Кажется и тебя пора гнать из сеньёров к индусам 8)

Вообще там ошибка (может недавно пофиксили, не слежу), теперь надо так писать:

System.out.println(new ArrayList() {{add(Collections.singletonList(this));}});

Вызывает java.lang.StackOverflowError как и положено.

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Ты уже «исправил» свой первоначальный код до полного идусоподобия. Но вообще за такую однострочную инициализацию, с протечками памяти, нужно убивать. У тебя this$0 будет указывать на объект, внутри которого ты написал свой inner ArrayList.

bbk123 ★★★★★ ()
Ответ на: комментарий от bbk123

Лол. Задача кода вызывать StackOverflowError. Но не вызывает. Потому, что ошибка. Второй код вызывает.

В чём ошибка? Чтобы её найти нужен интеллект команды diff, но у тебя его, видать, нету 8)

Deleted ()
Ответ на: комментарий от Deleted

Задача кода вызывать StackOverflowError

Тоесть ты действительно дурачок индус, если считаешь, что задача в этом. Продолжай свой нелёгкий путь в решении подобных задач.

bbk123 ★★★★★ ()
Ответ на: комментарий от Harald

Тсс, не спугни, тут сеньёр который не знает жабку нарисовался.

Deleted ()
Ответ на: комментарий от bbk123

если считаешь, что задача в этом.

Задачу коду ставит его автор. Если задача кода, выявить липовых сеньёров, то почему бы и нет? Тебя вот он легко выявил. Ты даже боишься разбираться в нём.

Deleted ()
Ответ на: комментарий от Deleted

Задачу коду ставит его автор.

Индус не понял почему его говнокод переполнил стек и решил спросить на LinkedIn. Другой более опытный индус ему там объяснил. Я принёс это сюда, а ты решил найти в том говнокоде какую-то осмысленную задачу. Надеюсь, мне никогда не придётся с тобой работать.

bbk123 ★★★★★ ()
Ответ на: комментарий от bbk123

ты решил

Лол. Смотри:

Кэп подсказывает, что и в Индии люди тоже умеют в троллинг.

Толстоватый троллинг.
Надо так...

Внезапно оказывается, что ты долбишься в глаза. Потом влезаешь в чужую дискуссию о троллинге и находишь себя в луже. Не много ли фейлов для сеньёра, дружок?

Deleted ()
Ответ на: комментарий от Deleted

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

bbk123 ★★★★★ ()
Ответ на: комментарий от bbk123

Нужно быть совсем недалёким, чтобы увидеть у того индуса троллинг.

У тебя там от пафоса монитор не трескается?

Именно поэтому я тебя тогда спросил: «что за глупость ты сейчас написал?»

Точно? А мне видится, что ты тупо вообще впервые видишь такой синтаксис. Особенно, после твоего фейла про утечки памяти.

Deleted ()
Ответ на: комментарий от Deleted

У тебя там от пафоса монитор не трескается?

Скорее от смеха над твоими попытками казаться умнее.

Особенно, после твоего фейла про утечки памяти.

В чём же фейл? Ты всегда экономишь на количестве строк кода таким способом, не понимая к чему это приводит?

bbk123 ★★★★★ ()
Ответ на: комментарий от bbk123

твоими попытками

Не проецируй свои комплексы на меня 8)

В чём же фейл?

В том, что утечки памяти там нет. После той строчки GC может собирать все объекты. this$0 ему никак не помешает.

Ты всегда экономишь на количестве строк кода

Оу, телепаты в треде.

не понимая

Ты уже понял почему тот код не бросает ошибку, а второй бросает?

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

эм, а можно подробнее объяснить про код того индуса? Я не совсем понимаю из-за чего валится. по идее вроде как в консольку должен выводиться объект, созданный в main, а на поле класса пофигу. в твоих двух примерах же arrayList вроде как рекурсивно начинает добавлять сам себя. я тут это... ведроидобыдлокодер мимоходом

der_looser ★★ ()
Ответ на: комментарий от der_looser

У индуса поле инициализируется перед конструктором, в результате вызывает создание нового экземпляра в котором поле инициализируется ... ну и так пока не надоест

в твоих двух примерах же arrayList вроде как рекурсивно начинает добавлять сам себя.

нет, оно добавляется один раз. Рекурсия там когда делается toString(), но на деле там проверяется на this потому и фокус не получается. Нужна любая обёртка, например ещё одна коллекция.

Вот ещё аналогичный фокус:

new HashSet().add(new ArrayList() {{add(this);}}); // выдаёт ошибку
new ArrayList().add(new ArrayList() {{add(this);}}); // всё норм

но тут я объяснять не буду, пусть сеньёр объяснит почему так 8) Правда, он без отладчика не сможет.

Deleted ()
Ответ на: комментарий от Deleted

Не проецируй свои комплексы на меня 8)

Кто бы говорил.

В том, что утечки памяти там нет. После той строчки GC может собирать все объекты. this$0 ему никак не помешает.

Речь шла о таком способе инициализации как таковом. Если ты передашь свой inner ArrayList куда-то дальше, он продолжит ссылаться в this$0 на объект, внутри которого был создан и не позволит GC удалить этот объект раньше себя.

Ты уже понял почему тот код не бросает ошибку, а второй бросает?

Потому что в первом варианте ты забыл как работает toString() у коллекций.

bbk123 ★★★★★ ()
Ответ на: комментарий от der_looser

Порядок инициализации.


1. Вызываем пустой конструктор.
2. Инициализируем поля.

В коде у нас вызывается пустой конструктор, затем поле инициализируется... ну ты понял.

Я у мамы джуниор.

pikwik ★★ ()
Последнее исправление: pikwik (всего исправлений: 1)
Ответ на: комментарий от bbk123

Речь шла о таком способе инициализации как таковом. Если ты передашь свой inner ArrayList куда-то дальше

Если бы да кабы. Сеньёр тем и отличается от джуна, что имеет мозг не только в переносном смысле и знает, когда можно, а когда нельзя.

Потому что в первом варианте ты забыл как работает toString() у коллекций.

Гениально! Ты прошёл тест на сеньёра с ... пятой? попытки.

Deleted ()
Ответ на: комментарий от pikwik

да, спасибо. уже объяснили. не подумал сразу, что он экземпляр самого себя создает)))

der_looser ★★ ()
Ответ на: комментарий от Deleted

Если бы да кабы. Сеньёр тем и отличается от джуна, что имеет мозг не только в переносном смысле и знает, когда можно, а когда нельзя.

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

Гениально! Ты прошёл тест на сеньёра с ... пятой? попытки.

Если ты называешь это тестом, то мне жаль людей, с которыми ты работаешь.

bbk123 ★★★★★ ()
Ответ на: комментарий от bbk123

извращаться с синтаксисом

Ох, бедняжка. Я сразу сказал, что ты впервые такое видишь.

Если ты называешь это тестом,

Ужас какой. Назови это проверкой, ну или если у тебя комплексы: кусок кода на котором bbk123 облажался. Так у тебя не будет проблем с восприятием?

Deleted ()
Ответ на: комментарий от Deleted

Ох, бедняжка. Я сразу сказал, что ты впервые такое видишь.

Не впервые, как и массу других извращений.

Ужас какой. Назови это проверкой...

Я называю такое говнокодом, а любителей так делать непрофессионалами. Типичный непрофессионал - любитель извращаться в синтаксисе не знает элементарный вещей. Например как работает instanceof. Вот пример из твоего кода на github
https://github.com/wayerr/jsterest/blob/master/src/main/java/wayerr/jsterest/...

        if(expr != null && (expr instanceof Boolean) && (Boolean)expr) {
            return;
        }

bbk123 ★★★★★ ()
Ответ на: комментарий от bbk123

любителей так делать непрофессионалами

Чо не индусами и дурачками?

Например как работает instanceof. Вот пример из твоего кода на github

Отлично, и что неужели там ошибка? Что, нет? Какая досада, там лишняя проверка, ужс, я в обмороке 8) Да ты сеньёр ажно второго левела! Читай мои сорцы дальше, может ещё что найдешь.

Deleted ()
Ответ на: комментарий от Deleted

Чо не индусами и дурачками?

Синонимы можешь подобрать себе по вкусу.

Какая досада, там лишняя проверка, ужс, я в обмороке

Там не просто ненужная проверка, там демонстрация твоего незнания.

bbk123 ★★★★★ ()
Ответ на: комментарий от bbk123

Синонимы можешь подобрать себе по вкусу.

Мне культура не позволяет 8)

там демонстрация твоего незнания.

Fail, дружок 8) Ты не внимательно читал сорцы. Читай еще. Мне нравится, когда читают мои сорцы.

Deleted ()
Ответ на: комментарий от Deleted

Fail, дружок 8) Ты не внимательно читал сорцы. Читай еще. Мне нравится, когда читают мои сорцы.

Это у тебя fail, потому что ты не знаешь как работает instanceof и поэтому лепишь ненужную проверку.

bbk123 ★★★★★ ()
Ответ на: комментарий от bbk123

что ты не знаешь как работает

Ты повторяешься 8)

поэтому лепишь ненужную проверку

Неправильно. Читай сорцы.

Deleted ()
Ответ на: комментарий от bbk123

После того как ты прочитаешь все мои сорцы.

Кстати, тебя кастовать в java треды, или ты сам будешь за мной бегать?

Deleted ()
Ответ на: комментарий от Deleted

После того как ты прочитаешь все мои сорцы.

Зачем все? Просто нашёл типичную ошибку таких шпециалистов как ты. Ты уже прочитал описание instanceof?

Кстати, тебя кастовать в java треды, или ты сам будешь за мной бегать?

Бегать я за тобой точно не буду.

bbk123 ★★★★★ ()
Ответ на: комментарий от bbk123

Зачем все?

ну была надежда, что вылезешь из лужи и поймешь как ты обделался. Но тебе видать комфортно 8)

Бегать я за тобой точно не буду.

Лол. Ты и так весь рабочий день бегаешь за мной. Читаешь мои сорцы. Интересуешься, прочитал ли я. Это мне льстит 8)

Deleted ()
Ответ на: комментарий от Deleted

LOR сам сообщает, что ты мне что-то написал. Ненужную проверку перед instanceof я нашёл секунд за 10 не читаю твой код, который мне совсем неинтересен. Твои непрекращающиеся потуги хохмить меня лишь забавляют. Давай сделаем так, ты мне расскажешь как по-твоему работает instanceof и на этом мы закончим. Идёт?

bbk123 ★★★★★ ()
Ответ на: комментарий от bbk123

не читаю твой код

Лол. Ты через астрал значит нашел?

Давай сделаем так, ты мне расскажешь как по-твоему работает instanceof и на этом мы закончим. Идёт?

Мухаха. Я тебе это уже показал. Но ты не заметил. Так что читай код, раз комменты не умеешь.

Deleted ()
Ответ на: комментарий от bbk123

Ну я не в Индии и я таки синиор, тоесть завидовать нечему.

Действительно нечему, потогонить на зарплату, когда каждый человек на счету.

steemandlinux ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.