6. Всё это хорошо, но без алгоритмов меня на работу не возьмут. Не беда вот курсы от Принстонского университета https://www.coursera.org/course/algs4partI То же самое но в бумаге: Роберт Седжвик, Кевин Уэйн - Алгоритмы на Java
Спрошу еще здесь: нахуя нужен short? Аноны из ньюфаг-треда поясняли, что в нем нет смысла и нужно юзать int, но зачем тогда вообще нужен такой тип, как short? Как и где его применять? То же самое интересно и с float/double. На float тоже можно забить?
>>395037 Сосаны! Обмазывался массивами и напоролся на сортировку. Потыкал 2 вида(пузырь, выбором) но потом наткнулся на метод sort из аарайс и офигел. Реально нужно ли знать алгоритм простейшей сортировки если есть такая шняга?
>>395034 >Аноны из ньюфаг-треда поясняли, что в нем нет смысла и нужно юзать int, но зачем тогда вообще нужен такой тип, как short? Как и где его применять? JVM хранит все данные в независимости от типа в 32 битных ячейках, для Лонга и Дабла дважды по 32. Т.е. даже определяя переменную Short ты занимаешь то же количество памяти и сопоставимую скорость обработки.
Но надо понимать что Ява язык кроссплатформенный, и в некоторых случаях эти типы можно применять для систем с малой длинной регистра, чтобы повысить производительность. Но я сомневаюсь что ты на практике с такими системами столкнешься. Также тип имеет значение для операции умножения, для больших массивов данных.
>>395039 >Обмазывался массивами и напоролся на сортировку. Это говно все время спрашивают на собеседованиях. - Какие алгоритмы сортировки вы знаете? - В чем между ними разница? - Напишите реализацию одного из них кроме пузырькового
>>395053 Заебал, пиздуй учить API. Метод, которых ты хочешь заюзать, применим только для массива объектов. Создавай Integer[] и дрочи обратную сортировку.
>>395058 >Заебал, пиздуй учить API. Метод, которых ты хочешь заюзать, применим только для массива объектов. Создавай Integer[] и дрочи обратную сортировку. http://labs.carrotsearch.com/hppc.html
>>395061 Все он сортирует, но с компараторами только массивы объектов. И если передан массив объектов без компаратора, то объекты этого массива должны реализовывать интерфейс Comparable.
>>395159 >Реквестирую фидбэк о туториале с tutorialspoint. Годно? Это методичка чтобы быстро войти в курс дела. Там опущены некоторые особенности языка и виртуальной машины, и некоторые вещи устарели с момента написания. Но если нет желания читать книги по 700 страниц чтобы начать писать код, это твой бро. Мне ещё нравиться тем что там есть ссылки на большую часть дополнительных технологий которые могут пригодиться в будущем.
>>395356 >Так что же ты советуешь, раз прикрыто? Как правильно заметил анон сверху - до 10 бесплатно, а дальше не надо. Если лавочка с приведи друзей получи подписку работает - хорошо. Не работает анон ничего не теряет.
В какой либе есть хорошая имплементация ObjectFilter, по аналогии с Comparator? Сегодня раскопал в апачевских CollectionUtils, но он не generic, и в результате кастить требует меня зачем-то.
>>395378 Поддвачну вопрос, на днях дошел до 10 уровня и думаю пока скидка есть, прикупить аккаунт за 100$, так как первые 9 уровней показались мне годнотой. Кто обмазывался? стоит?
>>395393 Ну деньги тащемто небольшие, а на знания так вообще грех жмотиться. Интересно просто, дальше так же годно идет обучение или заманив тебя первыми 10 уровнями продолжают кормить переспелым свиным калом
>>395396 Вряд ли тут кто-то выкидывал на ветер 100$, чтобы рассказать о впечатлениях. В сети есть масса материала для изучения и без этого сайта для детей-аутистов.
>>395495 Я задонатил, дальше неплохо, но говорят после 29 лвл задачи кончаются. Но судя по местному говнобложику и паблику джуном можно пробовать идти после 20+ лвл. Но чувствую придется почитать про Maven,Hibernate, Java EE и прочее.
Печет пиздец, нахуй я учил это говно? Столько времени угробил на джавакор, так это говно нигде и не юзается в реалиях проектов. Первую работу хуй найдешь. Лучше бы сел за джаваскрипт. Уже бы бабки кое-какие получал, а тут боюсь заглядывать в спринг.
>>395563 Всё верно. Причём на жс в большинстве случаев такие низкие требования, что ты можешь прям сейчас почитать парочку туториалов и апплаиться. Ну, ради приличия разберись с селекторами из джейквери и подёргай пару контролов из ui, типа дейтпикера и автокомплита.
>>394874 Кто-нибудь собеседовался в Люксофт? Как оно проходит? Подойдет ли попенсорц и гитхаб в качестве пруфа опыта, если получить из старой шараги референс - не вариант вообще? (она самоуничтожилась под громкий взрыв пукана гендиректора). А без пруфа опыта я вообще 23-летний хуй с непрофильным техническим образованием.
Прогроны, где найти реалтзацию Timsort в гугле нуль. Только пояснения, но мне на код готовый смотреть бы и пояснения читать. Сортировка методом выбора говно скучное, простое и некоширное
Как создать метод заполняющий рандомом массив? Метод не вызывается для объекта TDM а заполнить рандомом не могу без метода т.к. ругается на тип инт к типу TDM И вообще только методы класса должны обрабатывать данные класса
>>395565 >Причём на жс в большинстве случаев такие низкие требования, что ты можешь прям сейчас почитать парочку туториалов и апплаиться То-то я смотрю, по интернету добро пошло в последнее время
>>395697 Ты какой-то ебанутый. У тебя есть класс, в нем массив интов, есть метод филл, который заполняет этот массив рандомными интами. Пока все ок. Потом ты в мейне создаешь массив своих объектов, в каждом из которых массив интов, и потом вместо того чтобы вызвать в цикле на все объекты массива свой метод филл, ты пытаешься присвоить объектам рандомный инт. Ты вообще не понимаешь что ты делаешь? По моему нет.
алсо в коде куча ошибок mass[j][j] - должно быть mass[j] mass.length для двумерного массива вернет тебе не то, что ты думаешь
да пиздец тут код не рабочий чуть больше чем полностью, кому я все это пишу, ебать еще и имя DEANON ololo, иди нахуй.
Помнится в жабаскрипте была функция eval(). Она могла string в полноценный код и выполнить его. Мне нужно что-то похожее для джавы. То есть мне дано слово "BOLD" (String), мне нужно соединить его с Font что бы получилось Font.BOLD. Такая функция есть или придётся писать сотню строк кода ?
помогите с регуляркой. Нужно вытащить все ссылки хтмл страницы между <p> тегом. Написал такую: http://ideone.com/0bbHya , но она только достает последнюю ссылку перед закрытием тега. и еще вопрос, что дает ?знак вопроса после - лейзи айдентифаер, но я не понял что это значит.
>>395971 Да я уже понял свою ошибку с инициалтзацией. Я создал класс с конструктором и вызывая TDM m = new TDM[3][3] пытался создать именно массив примитивов так в конструкторе задал массив. А получал массив обьектов TDM видимо. Я потерялся в понятии "класс". Я пытаюсь в ммммаксимум ооп не зная принципов ООП(всего раз прочитал и видимо херово запомнил)
>>395973 >А получал массив обьектов TDM This. Т.к. у тебя нет конструктора по умолчанию, то создай сперва двумерный массив, потом создай объект TDM, передав туда этот массив, а потом вызови метод fill для созданного TDM. Получается, конечно, говнокод, но это максимально приближённый рабочий вариант к твоему коду.
>>395976 Вот я могу создать класс с 3-мя переманными и инициализировать их через конструктор при создании. Class gopa{ int g,b,n; } gopa(int f,int h,int j){ h=b; f=g; j=n; }
gopa tbl = new gopa(3,4,5); Как сделать такое если у тебя вместо переменных двумерный массив?
посоны, мне нужно сделать матрицу функций, к примеру чтобы в ячейке 4, 17 была функция 23 x - 12. C[4][17] = 23 x - 12 и в зависимости от х, выбирая эту ячейку я буду получать разные числа. Я уже час пытаюсь найти, как сохранить функцию, как параметр, но ничего нужного не нахожу. помогите пожалуйста
>>396165 Можешь создать интерфейс Function<K,R> с методом T apply(R r) и создать массив этих функций. Но тут зависит от того какие одинаковые ли параметры и результаты функций, если нет то придется поебаться с приведением типов.
возможно ли в томкате управлять приоритетом входящих запросов? например один порт - низкоприоритетные входящие запросы, другой порт - высокоприоритетные
>>394874 Сап программач, хочу спросить у тебя советане спеши бросаться говном: прохожу вот эти курсы по java: http://javabegin.ru/products/fastjava/ , где запилили проекты "калькулятор" и "mp3плеер" (эти проекты создаются по ходу курса, по сути это копипаста со своей изюминкой), встал вопрос: какие книги необходимо прочесть (и желательно чтобы в них было поменьше воды, а еще лучше только то, что реально используется на практике, к примеру алгоритмы сортировки и кратко суть - на чтение 1000+ томов у меня просто нет времени, неплохо будет если информация будет выложена в виде емкой методички)), чтобы претендовать на вакансию джуна, примерный срок: 3 месяца, я уже нашел кое-какие издания, но не могу определиться, так же выслушаю советов опытных анонов 1) Изучаем java Кэти Сьерра и Берт Бейтс 2) Философия java Брюс Екель 3) Герберт Шилдт - Полный справочник по Java 4)https://dl.dropboxusercontent.com/u/829163/draft.pdf И вопрос к анонам - сколько времени у вас ушло на то, чтобы стать джуном? А В условиях ограниченности времени (в моем случае: 9 часов на работе + 4 часа дорога + 1 час помыться/поесть ~ 1-2 часа остается на обучение)? И как вы думаете, стоит ли заливать на гитхаб эти проекты (калькулятор и мп3-плеер)? Вот вопросы, накоторые я на данный момент могу ответить: Основы ООП Наследование, инкапсуляция, полиморфизм Модификаторы доступа private, public, protected Что такое интерфейс Что такое абстрактный класс Что такое static Можно ли наследоваться от нескольких интерфейсов и абстрактных классов Рассказать про коллекции Что такое индекс >Но вот об этом я пока еще ничего не знаю: Уметь написать иерархический запрос Примеры агрегатных функций Оконные функции Сложность. О(n). Объяснить на пальцах Быстрая сортировка, сортировка вставками, сортировка кучей. Их сложность. Generics. mutable/immutable Многопоточность
>в моем случае: 9 часов на работе + 4 часа дорога + 1 час помыться/поесть ~ 1-2 часа остается на обучение>>396349 >А В условиях ограниченности времени (в моем случае: 9 часов на работе + 4 часа дорога + 1 час помыться/поесть ~ 1-2 часа остается на обучение)?
С таким режимом за три месяца нереально. Ты просто нихуя не поймешь. Если ты конечно работаешь на работе и твоя работа не связана с программированием.
>>396367 >работа не связана с программированием Нет, иначе я бы не стал перекатываться, но время в дороге я думаю можно с пользой использовать, у меня цель сейчас - устроиться в контору средней руки, там не брезгают студентами и прочими недоучками NC, если кто поймет, мне главное попасть к ним, а дальше уже профессионально развиваться будет не так сложно
>>394874 >язык для лоботомированных дебилов устаревший в момент его создания Посоны, я невфаг в этой вашей Jave, но ведь это же юмор такой, да? Как язык может быть устаревшим, когда все приложения для современных ведра и яблока пишутся на нем?
в 35-36 лет можно научиться программировать на java? если я выучу все по ссылкам(теорию, классы, либы), установлю себе netbeans+weblogic + oracle, и напишу свою crm\erp-систему, меня возьмут работать в luxoft?
Посоны, у меня есть функция, которая внутри себя вызывает другие функции, связанные с I/O Между ними я поставил функцию, которая высвечивает текст в JTextarea, который говорит о том, что функция выполнилась. Почму-то когда я запускаю программу, приложение на вид зависает, но на самом деле выплолняет все, и не обновляет никакой информации, до тех пор пока все функции не закончат свою работу. Почему джава не выполняет то, что я прошу именно в той последовательности, в которой я прошу?
>>396717 Как же вы заебали. Джава выполняет именно то, что ты просишь. Или иди и дрочись с дебагером для поиска причин того, что ты мудак или выкладывай код сюда если хочешь, чтобы другие тебя ткнули носом.
>>396736 В в древнем билдере такая же хуйня была, там всё работало в одном потоке, и пока ты управление из своего обработчика не взвращал, гуй не перерисовывался. И в кутэ так. Кто хочет одновременно и считать и гуй обновлять должен мутить потоки. Но это на крестах, ясен пень. Но судя по симптомам в джаве та же хуйня.
>>396800 Напиши запрос, который будет сортировать работников фирмы по числу отгулов и должности. Сотрудники, должность и записи об отгулах - три разных таблицы.
По java что можно почитать адекватное для ньюфагов. То, что написано в шапке - это пиздец цирк какой-то, игра для детей, футурама, вы там не ебанулись? Реквестирую годную литературу без демагогий;
>>396750 бро, спасибо, работает отлично. Можешь мне объяснить, почему не работало и почему заработало? ведь после перемен IO функции и функции обновления JFrame так же работают в одном потоке... что изменилось?
>>397132 Вызов textField.setText() меняет только значение переменной внутри textField, а это дело надо еще и нарисовать. Но загвоздка в том, что поток занимающийся отрисовкой сейчас занят твоим IO и пока он не освободится (метод не выполнится до конца) форма перерисована не будет. По этой же причине не будут срабатывать кнопки и прочее (форма "зависает"). Выходом из данной ситуации является создание нового потока, который будет заниматься своими грязными делишками на стороне и время от времени выплевывать прогресс через setText(), а поток отрисовки спокойно это дело рисует т.к. не имеет других задач в данный момент.
Аноны, был сегодня на собеседовании на джуна. Собеседование было нестандартным: задали пару вопросов по коду с гитхаба, дали простейшее тестовое задание домой, и всё. Смущает другое: про зп упорно молчат, говорят после тестового конкретные цифры смогут озвучить. Ещё что-то сказали про "испытательный срок 3 месяца" - хуй знает, оплачивается или нет. Тестовое задание реально простое, так что нажива засчёт него - не вариант. Контора маленькая, да, но по ощущениям уютненько. Какие подводные камни?
>>396440 Хлебнул чайку за твоё здоровье. IDE-бляди настолько отупели, что не смогут вручную build.xml для HelloWorld написать. А из-за автодополнения кода хуй вспомнят хоть один метод из java.lang.String
Посоны, есть приложение, которое работает с файлом excel. Но оно не может изменять их, пока они открыты. Я гуглил-гулил и узнал, что к сожалению, из жавы невозможно закрыть файл ексель, который уже открыт. Вопрос, так ли это или есть хоть какой-то способ это сделать? Примерно нужно что-то такое
if (file.isOpen()) file.close;
Нужно именно его закрывать в приложении, так как заказчик попросил.
>>397628 Я не настоящий сварщик, но думаю, что за это отвечает ОС, поэтому, пока процесс, использующий файл, работает, у тебя ничего не выйдет. Поэтому убивай процесс, открывший его.
>>394874 Начал на javarush решать задачки и читать лекции и скоро перестал понимать, что надо делать. Нихуя не понятно. Сначала просто println пишешь, а потом сразу ничего не понятно.
Привет посоны. Хочу запускать питонскрипты под андроид из моего джава кода. Но не могу найти нормальную реализацию, мне нужно чтобы все это дело выполнялось в фоне и возвращало мне в программу консоль аутпут, а не открывало новое активити и возвращало аутпут только после закрытия его руками.
Джава на данный момент является худшим языком для новых проектов. Исключительная невыразительность и примитивность языка не позволит вам ясно выражать свои мысли. Язык очень распостронен. Пока некоторые ваши конкуренты используют сверх-современные технологии основанные на типизированном лямбда-исчислении или пруф-ассистанты с элементами функционального программирования, вы можете в разы понизить свою эффективность задействовав AbstractSingletonProxyFactoryBean - последнее достижение индусов в области набора текста латиницей. Но это еще не все. В жизни каждого стартапа наступает момент когда он становится продуктом и к проекту привлекаются дополнительные разработчики. Сдесь распостроненность и доступность языка имеют решающую роль. Благодаря большой популярности Джава среди жителей Востока, готовых работать за воду, вы можете быть уверены, что скоро потеряете своё рабочее место. Джава обеспечит вам гарантии неуверенности в своём будущем. Выберите Джава сейчас и уже через несколько лет вы будете несчастны и морально истощены рутинной офисной работой. Джава - ваш проводник к неудачам в мире разработки программного обеспечения. Выбирайте Джава.
>>396608 Лол, зато в eclipse есть супер фича - рестарт эклипса. Что как бы намекает на качество этой IDE. Idea очень хороша, рекомендую (удобство работы, рефакторинга, классные плагины, заточка под java, разные продуманные скины)
>>398096 ёба, теперь я буду, ёба, на джяве, ёба хуярить, ёба, классы, ёба, с этими, ёба ну как их, ёба, а, ёба, объедками поиск элемента в массиве захуярю...
Имеется надобность написать на этой вашей джябе некоторое количество пикрелейтед-подобной ебалы, именно сами математические формулы (на картинке общий вид, реально там циферки, параметры, операторы типа минимума и т.п). Что можно почитать попроще? Или лучше сразу смотреть что-то типа java api?
>>398056 >Благодаря большой популярности Джава среди жителей Востока, готовых работать за воду, вы можете быть уверены, что скоро потеряете своё рабочее место Ты это про себя писал, я гляжу.
Аноны, почему течет бляцкий BufferedImage? пытаюсь делать flush, занулять, вызывать gc - один хуй при каждой загрузке картинки отжирает дохуя памяти. Как его выгрузить из памяти? Или посоветуйте годных библиотек для работы с изображениями.
>>398596 >Как его выгрузить из памяти? Открыть VisualVM и кропотливо отследить все ссылочки на объект. После чего сделать обертку, из которой будет только одна ссылка на тяжелый объект, из которой им и управлять, и через которую дергать твою картинку.
>>398616 Сделал везде где можно повторное использование объектов, вроде перестало жрать.
Только почему JVM при захапывании свободной памяти под хип "про запас" ее обратно не отдает? Можно как нибудь ее пнуть, чтобы не жадничала и оптимизировала?
Серверные программы обычно работают с фиксированным объемом памяти. Никому не нужна программу у которой потребление непредсказуемо скачет. Не отдает из-за традиций linux выделять память через sbrk.
>>398709 Что характерно. Задавал я вашему брату-пидору как-то задачу, требовавшую модульности. Сначала он попытался switch...case мне подсунуть как решение. После, будучи обоссан мной за тупость, поднатужился и высрал - внимание - ProxyFactory.
Write a program that simulates work of a vehicle factory. Program should read from standard input description of an order sent to the factory. In the next step it should „build” ordered vehicles and as output it should print total cost of an order to standard output. After processing the order program should wait for next package of input data.
Input Input data contains an XML document as can be seen on the following example: <order> <item type=”car”/> <item type=”car”/> <item type=”truck”/> </order> Every item element describes one request for vehicle production (type of vehicle is determined by value of the type attribute). Correct processing of the above order should result in production of two vehicles of type car and one vehicle of type truck.
Интересует момент с ожиданием следующей порции данных. Как это организовать? И не понятно что имеется следующей порцией - новый ксмл документ? Или что? Подскажи, двач.
>>399099 >посоны, стоит ли читать Thinking in Java (4th Edition) если учесть, что с тех пор вышло 3 обновления джавы? Да большая часть вещей рассмотернных там, актуальна до сих пор. Рекомендую их сразу пробовать. Алсо не расчитывай. что в конторе куда ты придешь будут писать на Java 8. С высокой вероятностью тебя на первое время посадят поддерживать legacy-говно.
Скачал idea и не понимаю, почему она генерирует все эти дополнительные директории и xml, ini файлы. Это нужно для быстрой работы самой ide, или я упускаю какой-то очень выжный аспект в написании программы? В общем вопрос, нахуя нужны все эти сгенерированные файлы и какой вкратце цикл написания приложения (я знаю только что нужно код написать, а что потом, что до этого и т.д.)
>>399270 Всё заработало. Спасибо. Не знал, что нужно так делать. В ебучей книжке пример без создания объекта для каждого элемента массива. И не слова об этом.
>>399278 >В ебучей книжке пример без создания объекта для каждого элемента массива Так пошли нахуй такую книжку и возьми другую, нормальную. Поначитаются, блядь, своих индусских мантр.
>>394874 Суп, /пр. Вопрос следующий: я пишу приложение для хрома для работы с нашим любимым двачом, но вот наткнулся на проблему, от которой у меня нехило бомбит. Итак, у меня есть функция:
function addFile_captcha(url) {//Тут получаем из гугла файл с переменной, из которой берем recaptcha_challenge_field var jqxhr = $.get(url, function () { > console.log("ok"); }) .done(function (data) { > var m = "{" + data.toString().split('{')[1].split('}')[0] + "}"; > var recaptcha_challenge_field = m.split("challenge : '")[1].split("'")[0]; > captcha_url = "https://www.google.com/recaptcha/api/image?c=" + recaptcha_challenge_field; > addIMG(captcha_url);//функция вставляет HTML-контент (display:none) вниз }) .fail(function () { > alert("error"); }); }
Так вот, Анон, 1)почему в тот момент, когда коллбэк функци запускается и начинает выполняться то, что я выделил зеленым, ( console.log("ok"); и прочее, что в .done), HTML-контент всей страницы Двача куда-то девается, а я вижу только пустоту? 2)Проблема в том, что функция addIMG у меня для начала получает элемент на странице по id, а из-за того, что на странице нету ни хуя, она найти ничего и не может. 3)Вызвать addIMG после addFile_captcha я, как понимаете, тоже не могу, так как $.get работает асинхронно и скачивает гугловский контент позже, чем запустится следующая функция.
Аноны, помогите, пожалуйста. Если кто-то захочет взглянуть на весь код или поинтересоваться, что это за хуйня, долбоеб ни хуя непонятно написал, я дам ссылку на ГитХаб.
>>399281 Двачую. Или просто List<type>. Мне они больле доставляют, люблю хранить типизированную инфу, если могу. Видимо, основное отличие от обычных массивов в том, что на эти больше памяти выделяется.
>>399347 Они эту дополнительную память с лихвой отрабатывают наличием годного функционала, который твои самописные велосипеды будет превосходить в 95% случаев и по скорости, и по штабильности.
>>399278 Вангую, что в книжке рассматривается массив примитивов, которые создавать как объекты не нужно или используется Integer/Long/Float/Double/etc., которые создавать специально тоже не обязательно т.к. джава сама умеет преобразовывать "Integer i = 5;" в "Integer i = new Integer(5);"
>>399336 То есть я ещё и интерпретатор должен писать? Может сразу вербально вводить, на человеческом языке, чтобы ещё и искусственный интеллект сюда приплести? Ты не думал что подобное должен писать программист в коде, а не "пользователь" в консоли?
>>399347 > Видимо, основное отличие от обычных массивов в том, что на эти больше памяти выделяется. На 3.5 байта разве что. Столько же выделяется, только не забывай сразу capacity проставлять, где возможно.
>>399454 Тогда да, тупая книга А этих >>399281>>399347 не слушай. Используй массивы до тех пор пока хватает их функционала. А вот если уже потребуется изменять размер, тогда и смотри в сторону List'ов. С таким подходом лучше поймешь в итоге что за магию творит ArrayList и почему крайне желательно указывать его начальный размер.
>>399438 Для пользователя твои соратники уже написали красивенький интерфейс с кнопочками, который сам генерирует запросы в таком виде. Ты не увиливай, ты задачку решай, гений лямбда-исчисления.
сделал прогу на заказ. она не пахала у чувака, пока тот не обновил яву. может я лох и выбрал язык, рассчитанный на сервера? короче вопрос, почему Ява такая популярная? ведь не все у себя на компах имеют обновленную яву. а если не десертов предложения, то для чего она в основном?
>>399647 о, збсь, почитаю, но все равно интересно, для чего яву используют больше всего и осенние она такая популярная? (не считая простоты разработки)
>>399648 Больше всего разумеется для серверов (веб-бэкенды, например), потому что сервера это большая часть программирования вообще. Ещё под ведроид в основном на ней пишут. А под десктоп уже всё написано.
>>399653 gcj раньше был компилировал java код в бинарный код. Но он даже 1.5 так и не поддерживал, сейчас вообще заброшен. >>399654 >launch4j Так можно и батник одну строчку написать, толку то? >launch4j
>>399690 Произвольного - это значит такого, который содержит любые комбинации and, or, nor и прочих операторов, сравнения не только на равенство, сравнение листов как в напрямую заданном порядке, так и со значениями в произвольном порядке, сравнения по сублистам и прочую няшность. Еще было бы очень хорошо, если твой код не приходилось бы переписывать наполовину при введении нового функционала.
>>399700 >Произвольного - это значит такого, который содержит любые комбинации and, or, nor и прочих операторов, сравнения не только на равенство, сравнение листов как в напрямую заданном порядке, так и со значениями в произвольном порядке, сравнения по сублистам и прочую няшность. Ну наклепай ещё сотню функций и будет это.
>Еще было бы очень хорошо, если твой код не приходилось бы переписывать наполовину при введении нового функционала. Я показал базовый пример, а рефакторить это, обёртывать в классы и функции и т.п. это уже вторично.
>>399701 >Я показал базовый пример, а рефакторить это, обёртывать в классы и функции и т.п. это уже вторично. >Главное что я самый простой вариант нахардкодил, а доводить это до уровня продукта - это уже вторично А, ну понятно. Видишь ли, эта ветка обсуждения началась с твоего утверждения, что дизайн-паттерны не нужны. Теперь мне хотя бы понятны твои мотивы - ты ничего серьезного и не писал никогда. Удачи на парах, увидимся с тобой на собеседовании.
Раз уж тут тема компиляторов и екзешников, расскажите мне, как-то возможно сделать так, чтобы мое приложение (на жабе) не передавали друг другу. В том смысле что в моей стране я думаю я смогу его продавать, но боюсь ПИРАТОВ. Не представляю, как это возможно, ведь приложения на джаве портабл, а значит что их можно просто тупо скопировать друг другу
>>399754 не пизди, они просто жадные мрази, которые хуже червей-пидоров и им жалко платить, но они заплатят если не смогут спиздить, потому что их конкуренты заплатят и будут их обоссывать
Не могу понять, почему garbage collector ждет долго, а только потом освобождает дохуя памяти. Почему он сразу при выходе из какого-то метода не очищяет память от всех объектов и переменных в этом методе?
>>394874 Кого-нибудь спрашивали на собеседованиях про linked hash map, tree map, linked list, ну и про прочие array-листы да векторы? Очобу вроде бы надрочил, но что интересно что в принципе могут спросить.
>>399810 почитал, все говорят, что так лучше не делать. Но я все равно не понимаю, почему гц не может это делать сразу же, как только надо. Может он таки делает это, просто я не знаю. Или у них там философия что надо так делать только по необходимости?
>>394874 Где лучше всего почитать за потоки, байтовые-символьные и все такое? Где лучше всего описана работа самого компилятора и виртуальной машины? Чтобы знать, где, когда и что загружается, особенно статические методы в этом плане интересуют. И нахуя нужны вложенные классы, да еще и private?
>>399836 >можешь вызывать гц() где хочешь Лул, бездушной джавамашине похуй что ты там вставишь. Вызов метода гц() не гарантирует его немедленное выполнение.
Учил полтора курса в универе кресты, хочу какой-нибудь новый язык освоить ДЛЯ САМОРАЗВИТИЯ и ЧТОБЫ НА МЕСТЕ НЕ СТОЯТЬ. Питон или джява? Где больше перспектив?
>>399808 Конкретно про классы тебя не спросят. Могут спросить, знаешь ли ты, нахуя там столько разных листов и карт, и какие у каждого из типов подводные камни.
>>399997 Из подводных камней нарыл только отличия во времени выполнения для разных операция с листами O(1), O(n), вот это вот всё. Типа для таких-то операций лучше LinkedList чем Array, для таких-то TreeMap лучше HashMap-a. А что еще можно сказать - не понимат. Сейчас гуглю какие-то подвохи с 0 и null, как сказал >>399830 вообще охуеть.
На меня тут повесили задачу с проектировкой нового функционала на java, и я не понимаю, как сделать хорошо. Проблема такая. Есть довольно здоровая клиент(js,html)-серверная(java) система. На сервере есть такая структура классов: http://paste.org.ru/?2pusjg
В QueryResource описаны методы, принимающие http запросы от js части. Мне нужно спроектировать кусок нового функционала, а для этого мне по-сути нужно создать в каждом из этих трех классов новые методы, которые по цепочке начиная с QueryResource и заканчивая OlapQuery пересылают данные, которые надо добавить в private org.olap4j.query.Query query (через методы библиотеки olap4j). При этом каждый из этих новых методов так или иначе должен взаимодействовать с уже имеющимися private членами, которые я написал в классах выше. Проблема в том, что надо бы сделать это отдельно от уже существующей реализации, т.е. лид говорит, что надо по-минимуму лезть в готовый функционал, и все пилить в отдельных классах Вопрос такой. Правильно ли я понимаю, что в данном случае наследование никак не поможет (т.к. надо обращаться к private полям), и что единственный вариант - пилить отдельные классы, подменяющие OlapQueryService, OlapQuery (и может быть IQuery)? Т.е. я думаю сделать копии этих классов, но в каждый добавить новый, нужный мне метод, и потом через бины переключить QueryResource на работу с моим классом-аналогом OlapQueryService, который в свою очередь будет хранить в хешмапе экземпляры моего нового класса-аналога OlapQuery. Спасибо за внимание.
>>400322 Мне не нравится твой подход, особенно часть про копию. Тебе нужно не копировать класс и переключать всю обработку на свой велосипед, а сделать новый QueryResource и обрабатывать в нем только запросы нового функционала. Как ты там что переключать будешь - уже похуй.
>>400322 >При этом каждый из этих новых методов так или иначе должен взаимодействовать с уже имеющимися private членами, которые я написал в классах выше. Ну сделай их protected, даун
>>400435 Дурачок запостил какую-то левую говноссылку, в которой рассказывается про новую фишку Java 8. В рашке сейчас даже мало кто интересуется восьмой явой - а ты тут такую хуетень постишь. Классическая реализация HashMap в яве - метод раздельных цепочек, гугли устройство. И да, >>400423 пишет правильно: зависит от реализации. Ибо параша, подобная тебе, с лёгкостью напутает хешмап и хештейбл
>>400601 Обтекай, обтекай, мамкин илитарий. Для НЕ всратых: ява7, конкурренси, гуава, спринг, градл, jetty. А пердолики пусть дальше наяривают на очередной weaklinkedtreehashmap c МАКСИМАЛЬНО БЫСТРЫМ ДОСТУПАМ БЕЗ СМС. Вас на крестах надо кодить - там виртуальные диструктары и множественное наследование, для илиток просто малина
Поясните за регэкспы. Вот есть метод String.replaceAll (или Matcher.replaceAll), который заменяет все совпадения на обычную строку (можно только подставить группы из результата $1, $0 и т.д.) А требуется заменять не на константную строчку, а вызывать функцию. Как это наименее костыльно реализовать?
Если применять паттерн к StringBuilder и заменять прямо в нём, что-то типа StringBuilder sb = new StringBuilder(str); Matcher matcher = pattern.matcher(sb); while (matcher.find()) sb.replace(matcher.start(), matcher.end(), func(matcher.group())); Подозреваю, что не взлетит (как будет проходить find, когда исходная строка изменяется по ходу).
>>400679 >но ищи в строке, а изменяй билдер Но тогда же позиции matcher.start() и matcher.end() будут искаться в строке, а в билдере, начиная со второй итерации, возможно смещение.
ну то есть например: - в строке найдено совпадение с 5 по 10 символы (5 символов). В стрингбилдере производится замена этой подстроки на строчку длиной в 2 символа ([5] и [6]). - в строке найдено совпадение с 20 по 30 символы. Но в стрингбилдере это будет уже, не 20-30, а 17-27. - и т.д. Можно, конечно, при каждой замене ещё учитывать это смещение (как разницу длин исходной и заменённой подстроки). Но может можно и как-то менее криво?
Хуй знает, может криво изъясняюсь. Значит суть такова. Пользователь вводит строку. И по регэкспу ищутся совпадения, дальше некоторая обработка этих данных (для каждого совпадения, вызывать функцию, а не тупо "A"->"B") и потом замена. Ну например, "(?i)HU[IJ](\\d+)" найти "hUi265", дальше обработка, некоторые действия (например, распарсить число, сделать ещё что-то в зависимости от результата и собрать новую подстроку) и провести замену.
>>400785 >а что сейчас с вакансиями джуниора происходит? Стало меньше. Требования повысились. Но если не долбоеб то работу можно найти. Это скорее связанно, с тем что написанно милионы бэкэндов, которые можно без особых усилий модифицировать, а фронтарей для того чтобы адаптировать эти бэки не хватает. С другой стороны бэкэндищики всегда рубили больше баблеца, и имели меньше проблем с заказчиком и ПМами.
П0с0ны, хочу значит написать свой сервер мморпг с клиентом ! Книги: Java Network Programming, 4th Edition, Killer Game Programming in Java. +исходники l2jserver Всё правильно делаю? Или не стоит заморачиваться, а дальше изучать и закреплять знания разных тырпрайз фреймворков?
>>401364 Баг был действительно с пакетом в пакете. Создал текстовый файл, вставил код, поменял формат, вставил в папку, компилировал, запустил и все работает. Ебаные нетбинсы.
>>401389 >>401392 В общих чертах я загуглить могу и сам, но интересней было бы послушать истории работающих граждан: я работаю над тем-то применяю то и это. А то ищешь работу, а толком не знаешь что тебя там ждет.
>>401451 Пишу на веб-стеке Java 5 с анальным вендор-локом на IBM - сервер приложений WebSphere, брокер сообщений MQ, СУБД DB2, среда разработки RSA, а также фреймворк Apache Struts 1. Иногда дают пописать на Java 6-7. Иногда и десктопные приложения приходится писать на Swing и JavaFX 2. Я считаюсь кагбе джуниором, но на деле получается, что весь жизненный цикл разработки приложения от анализа требований до программной инженерии поддерживаю я. Из этого сами понимаете какое говно получается. Алсо, это гос. контора, пришел сразу после вузика - уже второй год, до этого нигде не работал, получаю на руки 18К. ЧЯДНТ?
Сап, джаваны. Я ньюфажек. Так как практика лучшее обучение, хочу написать какую-нибудь свою хуйню. Думаю приложение для своей шараги, чтобы хикканы могли спокойно смотреть расписание на своём смарте. Первое, что приходит в голову: 1. Сервер с базой расписания. Какую базу юзать? Или может вообще не базу, а JSON какой-нибудь? Возможно вопрос тупой, но я ещё в глаза не видел эти базы и прочие способы хранения данных. 2. Не будет же шлюха, отвечающая за расписание, работать напрямую с базой. Поэтому пишем прогу, которая будет принимать файл, парсить его и заполнять этими данными бд. 3. Ну и самый тупой вопрос. Как соединяться с сервером? Я видел примеры с Socket, но там везде IP. А если сервер с динамическим ойпи?
В общем прошу советов мудрых, всем добра за ответы.
>>401894 1. Базу данных имеет смысл использовать для долговременного хранения данных. Тебе же нужно хранить очень небольшой фрагмент данных и обновлять его. Так что тебе достаточно какого-нибудь простого текстового формата вроде JSON, например, да. 2. Для начала поинтересуйся, будет ли она тебе файл отправлять. Может она не умеет с электронной почтой работать, просто печатает и вешает это расписание. Это самая большая проблема в твоём проекте. 3. Соединяйся по HTTP, можешь использовать REST (в википедии почитай). Например у тебя будет по адресу http://raspisanie.govnovuz.ru/today/ возвращаться JSON с расписанием на сегодня. По хорошему лучше присосаться к сайту своей шараги, если он вообще существует. Если ты хочешь сервер под кроватью с динамическим ойпи, то можешь использовать что-то типа этого http://ru.wikipedia.org/wiki/DynDNS
>>401899 >В 2014 г. компания полностью свернула программу бесплатного предоставления динамического DNS А, ну ты соснул значит. Можешь попробовать вот это http://freedns.afraid.org/
>>401894 1. Зависит от нагрузки. Я использовал мускуль для своих диванных проектов. Юзать лучше базу - попутно будет немного знаний sql, научишься писать простенькие запросы, поработаешь с ORM. Это гораздо ближе к реальному проекту, чем пердолинг JSON в файл. Хотя, не спорю, >>401899 прав - тут можно без базы. 2. Библиотек для парсинга различных форматов куча. Если будешь писать в файл - прога ненужна, шлюха будет в Excel юзать расписание, при запросах клиента инфа будет браться и парситься с этого файла. 3. Сначала гугли Servlet, почитай про принцип работы, напиши простенький. Почитай про Tomcat, запусти сервлет. Дальше можешь ознакомиться со Spring, затем почитать про Spring MVC. Про рест тоже читай - если будет приложение для мобилок, 99% что он нужен. Реализовывать можно либо с помощью вышеупомянутого MVC, либо с помощью Jax-RS. Пока не протестишь на локалхосте серв - не приступай к мобильному клиенту. Книжки: Spring in Action - о спринге Java EE, Gonsalvez - Java EE-стек, альтернатива спрингу. На любителя, но если решишь начинать с книг - первые пару глав лучше читать в ней, для общего понимания. Если решишь юзать базу - всё, что связано с JPA, транзакциями, ОРМ - лучше тоже начинать с неё. Всякие EJB,JSF,JMS пока можешь не трогать.
http://www.mkyong.com/ - куча работающих примерчиков по каждой конкретной технологии, с подробным разъяснением.
>>401972 >В шапке тоже есть олимпиадные задачи. А на Тимусе задачи достаточно просты и помогают разобраться. Да и тупо интересно. Добавим в третью версию.
>>401894 Пиши без базы, не нужен лишний геморпользователям. Просто сделай, что когда в первый раз запускаешь приложение - выбираешь группу, а приложение само парсит расписание с сайта и хранит его, к примеру, в виде XML файлов на самом девайсе. Автономность приложения - всегда плюс. Ну, и еще сделай кнопку "Обновить", которая будет актуализировать данные в твоих XML-ках.
>>402167 Интерфейсы - это один из основных столпов полиморфизма. Ты просто определяешь точки входа (методы), а потом уже ебешь конкретную реализацию как сам хочешь. И для выполнения методов описанных в интерфейсе тебе не нужно гадать какая реализация тебе приедет. Ближайший пример примения - List и реализации в виде ArrayList и LinkedList. Ну еще итераторы все тоже являются реализацией интерфейса Iterator. Еще есть пальцатые интерфейсы, которые немного по-другому обрабатываются самой JVM - Throwable (все Exception'ы), Runnable (реализует Thread), Serializable (реализация сериализируется через JVM) и Cloneable (можно копировать обьект).
Аннотации это эдакие метки, которые доступны тебе в рантайме через рефлекшн. Оно немного через жопу, но энтерпрайзникам очень понравилось и там везде аннотации на аннотациях. Можно писать свои аннотации, но бремя их обработки ляжет целиком на тебя.
>>402196 А правда, чем? Ну кроме того что в классе методы могут быть реализованы и интерфейс может иметь только final static поля. Не пинайтесь, я только-только начал учиться.
>>402226 Любой класс может наследовать только один класс, но реализовывать может хоть сколько интерфейсов. В интерфейсе методы только публичные (вроде).
Глупый вопрос, джаваны, если где-то в теле метода может выкинуться исключение, компилятор всегда будет заставлять обработать его или добавить throws в сигнатуру метода? Или может такое случиться, что я написал код, компилятор меня ни о чем не предупредил, и вдруг программа упала с необработанным исключением?
>>402227 Точно, множественное наследование ведь не завезли.
Есть проверяемые и непроверяемые исключения. Вот в случае с проверяемыми компилятор заставит обработать. Ну а с непроверяемыми не заставит, это всякие NullPointer, Arithmetic.
>>402261 Бля, ну смотри пример. Допустим, тебе нужно хранить какие-то данные. Ты ебашишь интерфейс Хранилище с методами Сохранить и Достать. А потом пилишь реализацию ХранилищеСтатическимКлассом, у которого есть статический класс, в полях которого хранятся твои данные. Через неделю до тебя доходит, что ты еблан, и перезапуске прогарммы у тебя все данные теряются. Тогда ты ебашишь новый класс ХранилищеВМайЭскуэль и сохраняешь всё в таблицах. При этом тебе достаточно подменить название класса рядом с new, а дальше всё работает само (если ты не используешь dependency injection фреймворки, с ними ещё проще). Потом через неделю до тебя опять таки доходит, что ты сидишь на АИБ, и сиквел здесь использовать некошерно. Поэтому ты пишешь новое Хранилище: ХранилищеВМамкинойЖеппе, и опять у тебя всё сразу работает.
>>402227 >если где-то в теле метода может выкинуться исключение, компилятор всегда будет заставлять обработать его или добавить throws в сигнатуру метода Если исключение является подклассом RuntimeException, то нет. Костыль: try{...}catch(Exception e){throw new RuntimeException(e);}
Как сделать, чтобы вопросы выводились в рандомном порядке, а правильные ответы больше не появлялись. И чтобы при правильных или неправильных ответах менялся цвет кнопки? Помогите реализовать.
Я тупой, не могу въехать в классы, наследование и прочие полморфизмы. Задание - сделать абстрактный класс в которым будет абстрактный метод. Потом сделать наследников, который через этот метод будут что-то с собой делать. Вопросы: 1. Объекты я должен создавать вне классов, или в самих этих классах-наследниках? 2. Программа должна начинаться со слова класс или нужно сначала создавать пустой метод? 3. Где организовывать ввод данных, опять же после всех классов или где?
>>402698 1. Создавать то можно где угодно, смотря что требуется. В твоём случае, видимо, в методе main. 2. Не распарсил. Если очень грубо говоря, программа состоит из классов, классы состоят из методов. В одном из классов должен быть static метод main, которому передаётся управление при запуске программы. 3. Смотря какая реализация класса. Если данные передаются через конструктор, или сеттер или public поле, то там, где собственно задаются данные. Можно сделать метод у класса, который сам считывает данные и просто вызывать его.
Лень читать овердохуя статей про потоки. Помогите с примером:
[code] private static int n;
public static synchronized set( int arg ) { n = arg; }
public static synchronized get() { return n; } [/code]
Один поток может спокойно прочитать n когда второй его будет записывать. Как победить эту хуйню? Мой быдлокодерский мозг подсказывает сделать один synchronized метод с флагом читаем/пишем. Но наверное есть способ лучше?
>>402884 >не спасает от инкремента Ну да, как public лучше не объявлять. Но сеттер и геттер с присваиванием можно
>почему у стринги хэш код с рейс кондишн потенциально >public int hashCode() { > int h = hash; > if (h == 0) { > ... > hash = h; > } > return h; >} В худшем случае (если кто-то вызовет этот метод, пока хэш уже считается в другом потоке) хэш посчитается несколько раз. Только как это связано с этим вопросом? (про инкременты и присваивание)
>>402886 Никакого дедлока. Дедлок бывает когда у тебя два вложенных блока synchronized и перепутано так что один ждет когда разблокируется второй, а второй... ну ты понел.
Вообще нет разницы, если классы находятся в одном файле или в разных но в одном пакете? Я так прикинул, классу похуй где лежит другой класс, когда тот к нему обращается (наследует, например). То же самое и с созданием класса Всякие protected, private, public, без-упоминания работают одинаково. Всё верно?
Как делают крутые программисты, которые получают деньги за работу: держат строго все классы в отдельных файлах, или как поучится?
>>402894 Хорошей практикой является держать по одному классу верхнего уровня на один файл - так их проще искать. Вложенные классы, само собой, не считаются. Многие к тому же делают структуру папок точно такой же, как и структуру пакетов.
>>402897 Спасибо за ответ. А что такое класс "верхнего уровня"? super? И, как я понимаю, javac потом всё равно создаст по .class файлу для каждого класса, даже если они в одном файле?
Котаны, устраиваюсь на работу джуном, предлагают зп - 15к, полставки с гибким. ДС-2, тырпрайз, маленькая контора. Норм для начала, или искать дальше? Бля, столько же пхп джуны получают, да и студенты, работающие не по спецухе.
>>403021 Блджад, походу придется мне читать литературу по потокам. Если в одном synchronized методе (геттере) производится запись в поле, synchronized сеттер не залочен же?
>>403033 в общем виде synchronized записывается как synchronized (object) { } и при заходе одного потока в такой блок все другие synchronized-блоки вызванные с этим же object блокируются для других потоков. При записи synchronized в определении метода это работает как synchronized(this) { }. То есть раз у тебя геттер и сеттер в одном объекте, то все должно работать как надо.
>>403315 Никак. Переменные в Java передаются по значению. В случае встроенных типов, таких как int, byte, char и т.д. ты просто получишь их копии при передаче в метод. При работе с ссылочными типами, которые ссылаются на объекты в куче, ты просто получишь копии ссылок, которые указывают на объекты. Т.е, когда ты сделаешь swap для объектов, то новые object references будут указывать на новые объекты, тогда как старые ссылки продолжат ссылаться на те же самые объекты.
>>403361 Заебись. Не думал, что у всех оберток примитивов значение хранится в поле с именем value. Только вот с таким подходом можно наебаться с поиском ошибок. На вскидку тот же hashCode() у стринга кэшируется и будет неприятно потом работать с хэшмапами.
Сосоны, объясните мне тупому как работает следующий метод (знаю, что рекурсия) [code]public static int mystery(int a, int b){ if(b==0) return 0; return mystery(a+a, b/2)+a; }[/code] А конкретно интересует последняя строка, допустим если значение а-2, b-6, то что в ней происходитполучается return mystery(6, 5)?
и второй, если n-6 то результат возвращает 311361142246: [code]public static String exR1(int n){ if(n<=0) return ""; return exR1(n-3)+n+exR1(n-2)+n; }[/code]
>>403398 Тут тупо нечего объяснять. Если a=2, b=6, то будет: return mystery(4,3)+2; mystery(4,3) в свою очередь вернет: return mystery(8,1)+4; И так далее.
>>403454 Ну так оберни две строчки в конце цикла в try и проблемы нет. Олсо >>403452 вообще не об этом, а просто как можно в варианте из >>403442 пропустить лишний "\n".
Есть вопрос: Зачем присваивать ссылке родителя объект наследника? Что-то вроде: [CODE]Parent a=new Child();[/CODE] Вот что нашел(пик). Тут написано, что таким образом можно вызвать метод, который переопределяет метод родителя. Так, а почему бы не написать: [CODE]Child a=new Child();[/CODE] Так этот метод тоже может быть вызван + у нас будут все поля унаследованные от родителя. Поясните, пожалуйста.
Ананасы, я сюда из си и питона пришёл. Мне нашептали, что в вашем языке нельзя в одну строчку sleep нормальный замутить, это правда? Почему меня заставляют использовать ебанутые трай кэтч конструкции для такой базовой вещи как "засни на секунду"?
>>403574 Пока на практике не сталкнешься с говном типа фабрик которые едут через фабрики или DAO, тут обьяснять трудно. Обычно любят делать так: клепают интерфейс с базовыми методами, потом абстрактный класс с базовой реализаций типа моча-говно, потом делают конкретный класс реализацию. Если еще и фабрики подключаются, то будет ебический бардак.
>>403647 Ну хуй знает, я же ньюфаг. Может сделать задержку перед вводом пароля в консоли против брутофорса. Или таймер, основанный на слипе в игре какой-то.
Читаю учебник для жабы и там пишут про то что компилятор найдет такие-то ошибки, но есть шанс что еще всплывут огибки в рантайме. Что за рантайм? Какая часть моего кода считается рантаймом? Все что внутри мейна?
>>403862 рантайм это ошибки во время выполнения. Например ты хочешь обратиться к какому то элементу массива, а он не существует или во время выполнение у тебя получается деление на ноль. Компилятор такие ошибки не видит, они выявляются во время выполнения кода.
>>403862 рантайм - runtime - время работы. Ошибка во время работы программы. Например ты делаешь калькулятор, и ошибся с синтаксисом. Тогда компилятор выдаст ошибку - она во время сборки. Ты исправил ошибку и продал свой калькулятор. Пользователь когда им пользовался поделил на ноль, и ему выбило ошибку - ошибку рантайма.
Список нововведений в JDK 8: http://winterbe.com/posts/2014/03/16/java-8-tutorial/
1. С чего начать?
Начните с условно-бесплатных курсов по данному языку: http://javarush.ru/
Дополнительную практику можно получить здесь: https://www.codehunt.com/
И здесь: http://codingbat.com/java
Код играючи: http://www.codingame.com/puzzles
Задачи на кодинг: http://postimg.org/image/xdfbvgps9/
Ещё задачки: http://eax.me/programming-language-learning/
Еще задачки: http://acmp.ru/?main=tasks
И ещё: http://www.programmr.com/zone/java
2. Что бы почитать?
HARD: http://docs.oracle.com/javase/tutorial/
MEDIUM: http://www.tutorialspoint.com/java_technology_tutorials.htm
BEGINNER: http://myflex.org/books/java4kids/java4kids.htm
ANDROID: http://www.coreservlets.com/android-tutorial/
SPRING: http://spring.io/docs
HIBERNATE: http://it-ebooks.info/book/517/
STRUTS: http://struts.apache.org/release/2.3.x/docs/home.html
3. Я зануда и я хочу умные книжки.
Рубрика Youth Oriented & Bydlo Approved:
1. Thinking in Java (4th Edition): Bruce Eckel
2. Effective Java (2nd Edition): Joshua Bloch
3. Core Java (9th edition) : Cay S. Horstmann, Gary Cornell
4. Head First Java, (2nd Edition) : Kathy Sierra, Bert Bates
Больше здесь: http://www.proklondike.com/books/java.html
4. Я не умею читать и хочу видео
Пожалуйста http://dou.ua/forums/topic/8113/
5. Что насчет SQL?
Начни с малого: http://www.w3schools.com/sql/default.asp
Затем переходи к: http://www.sql-ex.ru/
В качестве чтива рекомендую: http://oreilly.com/catalog/sqlhks/chapter/
6. Всё это хорошо, но без алгоритмов меня на работу не возьмут.
Не беда вот курсы от Принстонского университета https://www.coursera.org/course/algs4partI
То же самое но в бумаге: Роберт Седжвик, Кевин Уэйн - Алгоритмы на Java
7. Я готов к первому собеседованию.
Проверь свои знания здесь: http://www.quizful.net/test
И здесь: www.careercup.com/
Вопросы к собеседованию от грязнозадой Индусни найдешь тут:
http://howtodoinjava.com/2013/03/01/core-java-interview-questions-series-part-1/
http://howtodoinjava.com/2013/03/04/core-java-interview-questions-series-part-2/
http://howtodoinjava.com/2013/03/10/core-java-interview-questions-series-part-3/
8. Оп - хуй.
И он c гордостью несет это звание сквозь века.