Вывод

Я успешно стал программистом! Но я продолжаю вести описание своего развития. Присоединяйтесь ко мне! https://smartprogress.do/goal/188848/
Дневник цели

В общем я завершил не так давно курсы getJavaJob и через 2 дня буквально была найдена работа, если кто захочет тоже стать java программистом, то вот вам совет, javaRush бесполезен, getJavaJob пока единственный известный мне и эффективный способ стать java программистом. Их курсы стоят дорого, пожалуй даже очень, но этот факт быстро окупается моей сегодняшней зарплатой. Я узнал: html, css, JavaScript, json, jquery, java core, java EE, sql и много чего еще.


Запилил код, который несколькими потоками одновременно считывал бы несколько файлов и выводил в отдельный файл количество тех или иных слов, устал бороться с Race Conditions (когда потоки опережают друг друга ломая ход выполнения программы) и самое ужасное, что отслеживать проблем многопоточности крайне тяжело(я нашел проблему выводя каждый этап программы в консоль, а проблема возникала раз в 10 запусков программы), всем добра, если у кого есть какие вопросы по java обращайтесь, думаю кое-какие знания начальные у меня уже есть :-)

Потоки! О боги! Вы не можете изменять файлы(например удалять) пока не закрыли все потоки идущие к ним! Это особенно актуально для многопоточных программ!

Боже мой! Курс Java-Web это просто нечто невероятно крутое! Maven,Ant! почитайте про них и про многопоточность! Ну может быть еще про slf4j и системы логирования, боже мой, я удивлен как с такими возможностями программисты еще космос не освоили! Я в полном восторге!
P.S. XML парсеры это тоже нечто невероятно крутое, всем Java!

Уезжал в командировку за полярный круг, но параллельно продолжал учиться благодаря mts-модему(эти гады к стати ввели плату за инет в роуминге по 50р в сутки, выкинул его нафиг!) Прошел таки базовый курс getjavajob java-algo, я могу сказать, что это один из самых мощных и насыщенных курсов! Я узнал столько всего! Wrappers, Generics, diamond operators, raw types, основные типы сортировочных алгоритмов реализовали и рассчитали, что и почему(и много всего остального), я могу смело сказать, что сам бы я не узнал даже о необходимости для меня всего это, правда сдал я кое-как экзамен, просто не хватило времени нормально подготовиться Т_Т, скоро пойду на следующий курс java-web, боюсь его жутко, но и надеюсь узнать еще больше.
P.S. Медленно, но верно двигаемся к своей цели, надеюсь на успех.

Мы тут начали загоняться по производительности разных методов и т.д., в общем проведя мое небольшое личное исследование я обнаружил, что string.Concat лучший по производительности при одиночных конкатенациях или не многочисленных с заранее известным количеством склеивании, лучше него будет работать, только в цикле и только pre-allocated StringBuilder, то есть заранее объявленный вне цикла StringBuilder, соответственно в рекурсиях лучше string.concat, в циклах StringBuilder, всем мира и спасибо за внимание :)
P.S. Если кому-то интересны такие прогерские загоны, дайте знать, будем постить интересные факты вместе.

Вот парочка вырезок из моих кодов, если кому интересно:

Мы создаем свои вариации ArrayList, HashSet и т.д. Чтоб понять, что где лучше и почему, мы узнаем всю подноготную, столько информации, дженерики, интерфейсы, наследования, что хорошо, что плохо и почему, мы узнаем это сами, просто потому что кодим сутками сами, perfomanceTests, unitTests, мы сами создаем, сами тестируем, сами проверяем производительность, все очень сложно, но вместе с тем и интересно, уже есть отчисленные и людей в черном списке становится все больше, потому что темп невероятный, если вы хотите получить море знаний, вам в getJavaJob, но готовы ли вы к такому испытанию в своей жизни? Вот в чем вопрос, если ты хочешь, то тебя здесь сделают профи, всем мира, пойду кодить дальше))


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