Двач.hk не отвечает.
Вы видите копию треда, сохраненную 4 декабря 2014 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
358 Кб, 454x603
new JavaThreadGo(); //2.1 #394874 В конец треда | Веб
Этот тред для тех, кто хочет освоить язык для лоботомированных дебилов устаревший в момент его создания.
Список нововведений в 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 гордостью несет это звание сквозь века.
#2 #394876
>>394874
бамп
#3 #394905
>>394898
Ты и в этом треде задумал филиал по устроить?
#4 #395034
Спрошу еще здесь:
нахуя нужен short?
Аноны из ньюфаг-треда поясняли, что в нем нет смысла и нужно юзать int, но зачем тогда вообще нужен такой тип, как short? Как и где его применять?
То же самое интересно и с float/double. На float тоже можно забить?
#5 #395037
>>395034
Для байтоебли. При большом количестве чисел, естественно.
184 Кб, 832x1118
#6 #395039
>>395037
Сосаны!
Обмазывался массивами и напоролся на сортировку. Потыкал 2 вида(пузырь, выбором) но потом наткнулся на метод sort из аарайс и офигел. Реально нужно ли знать алгоритм простейшей сортировки если есть такая шняга?
#7 #395041
>>395039
Юзай из либы.
#8 #395042
>>395034
Для встраиваемых систем и микроконтроллеров, например. Где критичны объёмы выделяемых ресурсов.
#9 #395044
>>395034
Для встраиваемых систем и прочих микроконтроллеров, где присутствует критичность к выделяемым ресурсам.
108 Кб, 1001x640
#10 #395046
>>395041
и еще вопрос
Почему не пашет реверс сорт
#12 #395052
>>395046
Потому-что такого метода не существует.
95 Кб, 782x426
#13 #395053
>>395052
Эм-с
А это ЩИТО?
#14 #395054
>>395034

>Аноны из ньюфаг-треда поясняли, что в нем нет смысла и нужно юзать int, но зачем тогда вообще нужен такой тип, как short? Как и где его применять?


JVM хранит все данные в независимости от типа в 32 битных ячейках, для Лонга и Дабла дважды по 32. Т.е. даже определяя переменную Short ты занимаешь то же количество памяти и сопоставимую скорость обработки.

Но надо понимать что Ява язык кроссплатформенный, и в некоторых случаях эти типы можно применять для систем с малой длинной регистра, чтобы повысить производительность. Но я сомневаюсь что ты на практике с такими системами столкнешься.
Также тип имеет значение для операции умножения, для больших массивов данных.
#15 #395055
>>395053
Блять, может он только к стрингу лепится? Хотя тупо так обделять
#16 #395057
>>395039

>Обмазывался массивами и напоролся на сортировку.


Это говно все время спрашивают на собеседованиях.
- Какие алгоритмы сортировки вы знаете?
- В чем между ними разница?
- Напишите реализацию одного из них кроме пузырькового

По факту Java 7 сейчас использует гибридный алгоритм сортировки TimSort как стадндарт.
https://www.youtube.com/watch?v=NVIjHj-lrT4
#17 #395058
>>395053
Заебал, пиздуй учить API. Метод, которых ты хочешь заюзать, применим только для массива объектов. Создавай Integer[] и дрочи обратную сортировку.
#18 #395059
>>394874

>new JavaThreadGo(); //2.1


>//2.1


Должно быть так:
thread.setVersionMajor(2);
thread.setVersionMinor(1);
71 Кб, 939x420
#19 #395061
>>395058
Тут наебали?
#20 #395062
>>395058

>Заебал, пиздуй учить API. Метод, которых ты хочешь заюзать, применим только для массива объектов. Создавай Integer[] и дрочи обратную сортировку.


http://labs.carrotsearch.com/hppc.html
#21 #395063
>>395057
public class greeting {
public static void main(String[] args){

System.out.println('SPASIBO EPTA');
}
}
#22 #395064
>>395061
Скинь на Pastebin
22 Кб, 544x311
#24 #395068
>>395061
Все он сортирует, но с компараторами только массивы объектов. И если передан массив объектов без компаратора, то объекты этого массива должны реализовывать интерфейс Comparable.
#25 #395075
>>395068
Всё, понял спасибо. Можно еще использовать тип integer без всяких иньерфейсов Comparable но он прожорлив для обычных задач.
#26 #395086
>>395054
>>395044
>>395037
Понял, спасибо!
#27 #395159
Реквестирую фидбэк о туториале с tutorialspoint. Годно? Меня смущает авторский состав: там вся команда авторов - индусы, и вообще проект индусский.
#28 #395172
>>395159

>Реквестирую фидбэк о туториале с tutorialspoint. Годно?


Это методичка чтобы быстро войти в курс дела.
Там опущены некоторые особенности языка и виртуальной машины, и некоторые вещи устарели с момента написания. Но если нет желания читать книги по 700 страниц чтобы начать писать код, это твой бро. Мне ещё нравиться тем что там есть ссылки на большую часть дополнительных технологий которые могут пригодиться в будущем.
sage #29 #395328
>>394874

>Начните с условно-бесплатных курсов по данному языку: http://javarush.ru/


Есть бесплатно без смс?
#30 #395340
>>395328
первых 10 уровней хватает за глаза, за остальное нет смысла платить.Ну можешь ещё про ООП почитать
#31 #395353
>>395328

>Есть бесплатно без смс?


Тащемта можно привести троих фейко друзей и получить месяц в подарок. Правда анон говорил что лавочка прикрыта.
#32 #395356
>>395353
Так что же ты советуешь, раз прикрыто?
#33 #395359
>>395356
Я юзал туториалспоинт, библиотеку программиста и лабы с универа.
другой-анон
#34 #395360
>>395356

>Так что же ты советуешь, раз прикрыто?


Как правильно заметил анон сверху - до 10 бесплатно, а дальше не надо. Если лавочка с приведи друзей получи подписку работает - хорошо.
Не работает анон ничего не теряет.
#35 #395373
В какой либе есть хорошая имплементация ObjectFilter, по аналогии с Comparator? Сегодня раскопал в апачевских CollectionUtils, но он не generic, и в результате кастить требует меня зачем-то.
#36 #395378
>>395360
Почему не надо? Их же всего 40, емнп, остальные 30 дают меньше чем первые 10?
#37 #395391
>>395378
Поддвачну вопрос, на днях дошел до 10 уровня и думаю пока скидка есть, прикупить аккаунт за 100$, так как первые 9 уровней показались мне годнотой. Кто обмазывался? стоит?
#38 #395393
>>395391
Пиздос, думаю это не стоит 100$

> мимо-сам-учусь

#39 #395396
>>395393
Ну деньги тащемто небольшие, а на знания так вообще грех жмотиться. Интересно просто, дальше так же годно идет обучение или заманив тебя первыми 10 уровнями продолжают кормить переспелым свиным калом
#40 #395495
>>395396
Вряд ли тут кто-то выкидывал на ветер 100$, чтобы рассказать о впечатлениях. В сети есть масса материала для изучения и без этого сайта для детей-аутистов.
sage #41 #395498
>>395328
это хохляцкая параша не ведитесь, аноны, хуета из хует
sage #42 #395499
>>395356
книжки читай уёбок, все вам задачи готовые подавай
sage #43 #395500
>>395391
хуйня, не стоит
sage #44 #395502
>>395495
два чая
#45 #395509
>>395499

>все вам задачи готовые подавай


Назови хоть одну причину изобретать велосипед, если есть уже готовый и полностью рабочий аналог.
#46 #395561
>>395495
Я задонатил, дальше неплохо, но говорят после 29 лвл задачи кончаются. Но судя по местному говнобложику и паблику джуном можно пробовать идти после 20+ лвл.
Но чувствую придется почитать про Maven,Hibernate, Java EE и прочее.
#47 #395563
Печет пиздец, нахуй я учил это говно?
Столько времени угробил на джавакор, так это говно нигде и не юзается в реалиях проектов.
Первую работу хуй найдешь.
Лучше бы сел за джаваскрипт. Уже бы бабки кое-какие получал, а тут боюсь заглядывать в спринг.
#48 #395565
>>395563
Всё верно. Причём на жс в большинстве случаев такие низкие требования, что ты можешь прям сейчас почитать парочку туториалов и апплаиться. Ну, ради приличия разберись с селекторами из джейквери и подёргай пару контролов из ui, типа дейтпикера и автокомплита.
#49 #395657
>>394874
Кто-нибудь собеседовался в Люксофт? Как оно проходит? Подойдет ли попенсорц и гитхаб в качестве пруфа опыта, если получить из старой шараги референс - не вариант вообще? (она самоуничтожилась под громкий взрыв пукана гендиректора). А без пруфа опыта я вообще 23-летний хуй с непрофильным техническим образованием.
96 Кб, 832x482
#50 #395667
Прогроны, где найти реалтзацию Timsort в гугле нуль. Только пояснения, но мне на код готовый смотреть бы и пояснения читать. Сортировка методом выбора говно скучное, простое и некоширное
26 Кб, 652x272
33 Кб, 622x420
#52 #395697
Как создать метод заполняющий рандомом массив? Метод не вызывается для объекта TDM а заполнить рандомом не могу без метода т.к. ругается на тип инт к типу TDM
И вообще только методы класса должны обрабатывать данные класса
844 Кб, 1575x703
#53 #395698
>>395565

>Причём на жс в большинстве случаев такие низкие требования, что ты можешь прям сейчас почитать парочку туториалов и апплаиться


То-то я смотрю, по интернету добро пошло в последнее время
#54 #395701
>>395667

>где найти реалтзацию Timsort


В исходниках джавы7, внезапно.
#55 #395744
>>395697
Ты какой-то ебанутый.
У тебя есть класс, в нем массив интов, есть метод филл, который заполняет этот массив рандомными интами. Пока все ок.
Потом ты в мейне создаешь массив своих объектов, в каждом из которых массив интов, и потом вместо того чтобы вызвать в цикле на все объекты массива свой метод филл, ты пытаешься присвоить объектам рандомный инт.
Ты вообще не понимаешь что ты делаешь? По моему нет.

алсо в коде куча ошибок
mass[j][j] - должно быть mass[j]
mass.length для двумерного массива вернет тебе не то, что ты думаешь

да пиздец тут код не рабочий чуть больше чем полностью, кому я все это пишу, ебать еще и имя DEANON ololo, иди нахуй.
#56 #395745
>>395744

>должно быть mass[j]


фикс
#57 #395746
>>395745

>должно быть mass[_i_][j]


сука i в фигурных скобках это же разметка текста, вакаба съедает
#58 #395747
[CODE]mass[j][j] - должно быть mass[j][/CODE]
#59 #395773
>>395697
У меня баттхерт от твоей хуйни. Надеюсь, ты доволен собой, сука.
#60 #395774
Помнится в жабаскрипте была функция eval().
Она могла string в полноценный код и выполнить его.
Мне нужно что-то похожее для джавы.
То есть мне дано слово "BOLD" (String), мне нужно соединить его с Font что бы получилось Font.BOLD.
Такая функция есть или придётся писать сотню строк кода ?
#61 #395778
>>395774
Если Font - это enum, то ты можешь просто сделать Font.valueOf("BOLD").
34 Кб, 690x682
#62 #395788
>>395778
Font это класс. BOLD - переменная.
#63 #395791
>>395744
Нахуй ты распинаешься? Там же сразу видно, что он полный долбоеб.
#64 #395820
>>395774
В 99% случаев можно обойтись без eval. Для всего остального есть ClassLoader
#65 #395837
>>395744

> DEANON ololo, иди нахуй


Это я сам спецом написал, спасибо за пояснение.
>>395791
И тебе добра, твой комментарий очень ценный
#66 #395838
>>395773

> Надеюсь, ты доволен собой, сука.


нит
#67 #395877
помогите с регуляркой. Нужно вытащить все ссылки хтмл страницы между <p> тегом. Написал такую: http://ideone.com/0bbHya , но она только достает последнюю ссылку перед закрытием тега. и еще вопрос, что дает ?знак вопроса после - лейзи айдентифаер, но я не понял что это значит.
#68 #395879
>>395877
про знак вопроса разобрался на парочке примеров и гугла
26 Кб, 651x246
26 Кб, 690x282
14 Кб, 512x288
#69 #395950
Массив не заполняется
sage #70 #395951
>>395950
яб тебе ответил, но Ошибка постинга: В сообщений присутствует слово из спам листа.
#71 #395953
sage #72 #395955
sage #74 #395959
#75 #395960
>>395950
Еще бы не заполняются - ты их не ицициализируешь.
#76 #395962
>>395774
int style = 0;
if ("BOLD".equals(string)) style += Font.BOLD
new Font(fontName, style, size);
#77 #395971
>>395950
Я вот не могу понять, что ты пытаешься сделать в конструкторе TDM?
#78 #395972
>>395971
И не пытайся. Что с анимебляди взять?
#79 #395973
>>395971
Да я уже понял свою ошибку с инициалтзацией. Я создал класс с конструктором и вызывая TDM m = new TDM[3][3] пытался создать именно массив примитивов так в конструкторе задал массив. А получал массив обьектов TDM видимо. Я потерялся в понятии "класс". Я пытаюсь в ммммаксимум ооп не зная принципов ООП(всего раз прочитал и видимо херово запомнил)
#80 #395974
>>395972
Хули ты такой не агресивный? Тебе в детстве Bocu no pico советовали?
92 Кб, 604x403
sage #81 #395975
>>395973
тут больше байтоёбства чем оопущенства
#82 #395976
>>395973

>А получал массив обьектов TDM


This. Т.к. у тебя нет конструктора по умолчанию, то создай сперва двумерный массив, потом создай объект TDM, передав туда этот массив, а потом вызови метод fill для созданного TDM. Получается, конечно, говнокод, но это максимально приближённый рабочий вариант к твоему коду.
#83 #395981
>>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);
Как сделать такое если у тебя вместо переменных двумерный массив?
#84 #395991
public class Main {
public static void main(String[] args) {

int[][] mas = new int[3][3];

TDM tdm = new TDM(mas);

}
}

class TDM{

private int[][] mas;

public TDM(int[][] mas){
this.mas = mas;
}

}
#85 #396055
>>395973>>395981
Какой смысл сразу пытаться в делать "максимум", если ты даже базовых навыков программирования не имеешь?
Такие дела #86 #396068
#87 #396144
>>396068
Это что-то вроде жеста малыша "смотрите я покакал"?
#88 #396151
>>396144
Я вообще не понял что там за хуйня написана.
#89 #396165
посоны, мне нужно сделать матрицу функций, к примеру чтобы в ячейке 4, 17 была функция 23 x - 12.
C[4][17] = 23
x - 12
и в зависимости от х, выбирая эту ячейку я буду получать разные числа.
Я уже час пытаюсь найти, как сохранить функцию, как параметр, но ничего нужного не нахожу. помогите пожалуйста
#90 #396167
>>396165
(i + 19) x - (j-5)
#91 #396168
>>396165
С помощью рефлексии делаешь двумерный массив методов, и потом вызываешь их, смотри Reflection, Method[], getDeclaredMethods, invoke и т. д.
#92 #396170
>>396168
спасибо
#93 #396199
>>396165
Можешь создать интерфейс Function<K,R> с методом
T apply(R r) и создать массив этих функций.
Но тут зависит от того какие одинаковые ли параметры и результаты функций, если нет то придется поебаться с приведением типов.
#94 #396249
#95 #396258
>>394874
Охуенный ОП-пик.
#96 #396322
возможно ли в томкате управлять приоритетом входящих запросов?
например один порт - низкоприоритетные входящие запросы, другой порт - высокоприоритетные
#97 #396349
>>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
Многопоточность
#98 #396351
>>396349

>Сложность. О(n). Объяснить на пальцах


Ну это просто пушка
#99 #396354
>>396351
Это мне один анон список вопросов составил, их я и скопировал
#100 #396367
>>396349

>3 месяца



>в моем случае: 9 часов на работе + 4 часа дорога + 1 час помыться/поесть ~ 1-2 часа остается на обучение>>396349


>А В условиях ограниченности времени (в моем случае: 9 часов на работе + 4 часа дорога + 1 час помыться/поесть ~ 1-2 часа остается на обучение)?



С таким режимом за три месяца нереально. Ты просто нихуя не поймешь. Если ты конечно работаешь на работе и твоя работа не связана с программированием.
#101 #396368
>>396367

>работа не связана с программированием


Нет, иначе я бы не стал перекатываться, но время в дороге я думаю можно с пользой использовать, у меня цель сейчас - устроиться в контору средней руки, там не брезгают студентами и прочими недоучками NC, если кто поймет, мне главное попасть к ним, а дальше уже профессионально развиваться будет не так сложно
#102 #396394
>>394874

>язык для лоботомированных дебилов устаревший в момент его создания


Посоны, я невфаг в этой вашей Jave, но ведь это же юмор такой, да? Как язык может быть устаревшим, когда все приложения для современных ведра и яблока пишутся на нем?
54 Кб, 500x498
#103 #396409
>>396394

>и яблока

#105 #396417
>>396368
Дорогу осилит идущий. В любом случае это интересно, желаю удачи.
#106 #396418
>>396394
Просто дело в том, что ОП-ХУЙ. Используй божественную жабу на здоровье.
485 Кб, 2560x1440
#107 #396419
>>396415
либо долбоеб смешал в одну кучу десктоп и мобильные девайсы, либо он имел в виду iOS.
#108 #396434
Вопрос века!
IntelliJ IDEA или Eclipse или NetBeans?
#110 #396445
>>396440
залезь туда откуда вылез
#111 #396452
>>396434
Базарю IntelliJ IDEA ахуенная иде, попробуй еще захочешь!
>>396440
Когда же вы все вымрете.
#112 #396501
>>396452
свингоговно
#113 #396524
>>396501
А я - Михаил Прохоров. Приятно с тобой познакомиться.
#114 #396531
>>396501
за базар ответь
#115 #396557
>>396501
Но ведь идея действительно лучше всего остального.
#116 #396592
Тем временем, добавлен ValueProvider для JSONObject
http://ideone.com/RLXyAu
#117 #396608
>>396531
>>396557
IDEA лучше чем Eclipse.
Чем? - Чем Eclipse

Давай, расскажи про ёба-рефакторинг.
Только глаза всё также вытекают на openjdk
#118 #396617
>>396608

>глаза всё также вытекают на openjdk


На openjdk же, наоборот, нативный рендеринг текста.
#119 #396639
Платиновый вопрос: стоит ли учить джаву, чтобы зашибать бабло и сьебать за границу?
#120 #396641
>>396639

>Платиновый вопрос: стоит ли учить джаву, чтобы зашибать бабло и сьебать за границу?


Нет, ни в коем случае не стоит.
#121 #396645
>>396641
Ага, понял, это ты так сказал, чтобы было меньше конкурентов, значит все-таки стоит.

Просто я в вузе всего понемногу изучаю и не знаю, в какую область углубляться.
#122 #396666
>>396645

>чтобы было меньше конкурентов


Пол Индии конкурентов, одним больше, одним меньше - похуй абсолютно.
#123 #396669
>>396666
Мне с индусами не по пути.
#124 #396672
>>396669
Тогда что ты забыл в джаве?
#125 #396674
>>396672
Разве java-программист - не востребованная и оплачиваемая профессия?
#126 #396678
>>396608
ёба-автодополнение на порядок круче
#127 #396680
Забавно. Для даунов сделали платную IDE, чтобы она за них печатала говно.
#128 #396682
>>396680
Но говноеды предпочитают печатать говно руками.
#129 #396686
>>396674
Так и есть. И именно поэтому в ней очень много индийцев и к ним приближенных.
#130 #396690
в 35-36 лет можно научиться программировать на java? если я выучу все по ссылкам(теорию, классы, либы), установлю себе netbeans+weblogic + oracle, и напишу свою crm\erp-систему, меня возьмут работать в luxoft?
#131 #396697
>>396690
php максимум.
#132 #396701
>>396697

почему php? ведь в java нет ничего сложного.
#133 #396712
>>396690

>crm\erp-систему


Они уже все разработаны для нас. Но ты можешь написать клиента под их бэкэнд на Android.
#134 #396717
Посоны, у меня есть функция, которая внутри себя вызывает другие функции, связанные с I/O
Между ними я поставил функцию, которая высвечивает текст в JTextarea, который говорит о том, что функция выполнилась.
Почму-то когда я запускаю программу, приложение на вид зависает, но на самом деле выплолняет все, и не обновляет никакой информации, до тех пор пока все функции не закончат свою работу. Почему джава не выполняет то, что я прошу именно в той последовательности, в которой я прошу?
#135 #396727
Ребят , нужен совет. 5 курс и собственно необходимо сделать диплом , проблема с темой. Кто-нибудь может что-то годное подсказать насчет темы?
#136 #396728
>>396727
Диплом бы хотелось на жабе написать.
#137 #396736
>>396717
Как же вы заебали. Джава выполняет именно то, что ты просишь. Или иди и дрочись с дебагером для поиска причин того, что ты мудак или выкладывай код сюда если хочешь, чтобы другие тебя ткнули носом.
#138 #396737
>>396736
В в древнем билдере такая же хуйня была, там всё работало в одном потоке, и пока ты управление из своего обработчика не взвращал, гуй не перерисовывался. И в кутэ так. Кто хочет одновременно и считать и гуй обновлять должен мутить потоки. Но это на крестах, ясен пень. Но судя по симптомам в джаве та же хуйня.
#139 #396738
Поясните по хардкору за сериализацию. И в частности за transient.

В гугле не забанен, но так все мутно написано.
#140 #396749
>>396738

Заработная плата разработчиков
Java-разработчик (нет данных) Ур.
Java - разработчик
Уровень предлагаемой заработной платы (руб. gross)
минимальный средний максимальный
Junior
Москва 40 000 49 409 70 000
Санкт-Петербург 30 000 38 750 60 000
Воронеж 16 000 25 333 30 000
Екатеринбург -
- -
Нижний Новгород - - -
Новосибирск 25 000 35 000 40 000
Regular
Москва 80 000 104 627 130 000
Санкт-Петербург 50 000 85 517 110 000
Воронеж 45 000 56 725 67 800
Екатеринбург 40 000 54 167 70 000
Нижний Новгород 40 000 55 000 65 000
Новосибирск 50 000 58 333 75 000
Senior
Москва 90 000 132 800 180 000
Санкт-Петербург 90 000 128 095 160 000
Воронеж 84 000 98 000 105 000
Екатеринбург 50 000 72 100 87 500
Нижний Новгород 65 000 76 250 80 000
Новосибирск 70 000 87 500 120 0
#140 #396749
>>396738

Заработная плата разработчиков
Java-разработчик (нет данных) Ур.
Java - разработчик
Уровень предлагаемой заработной платы (руб. gross)
минимальный средний максимальный
Junior
Москва 40 000 49 409 70 000
Санкт-Петербург 30 000 38 750 60 000
Воронеж 16 000 25 333 30 000
Екатеринбург -
- -
Нижний Новгород - - -
Новосибирск 25 000 35 000 40 000
Regular
Москва 80 000 104 627 130 000
Санкт-Петербург 50 000 85 517 110 000
Воронеж 45 000 56 725 67 800
Екатеринбург 40 000 54 167 70 000
Нижний Новгород 40 000 55 000 65 000
Новосибирск 50 000 58 333 75 000
Senior
Москва 90 000 132 800 180 000
Санкт-Петербург 90 000 128 095 160 000
Воронеж 84 000 98 000 105 000
Екатеринбург 50 000 72 100 87 500
Нижний Новгород 65 000 76 250 80 000
Новосибирск 70 000 87 500 120 0
sage #142 #396753
>>396749
Что ты этим хотел сказать?
#143 #396772
>>395877
бампану, может кто ответит
#144 #396780
>>396750
спасибо, бро, через пару часов попробую
#145 #396800
>>394874
Посаны, что на собеседованиях в раше по SQL спрашивают на джуна?
#146 #396825
>>396800
Напиши запрос, который будет сортировать работников фирмы по числу отгулов и должности. Сотрудники, должность и записи об отгулах - три разных таблицы.
#147 #397009
По java что можно почитать адекватное для ньюфагов. То, что написано в шапке - это пиздец цирк какой-то, игра для детей, футурама, вы там не ебанулись? Реквестирую годную литературу без демагогий;
sage #148 #397013
>>397009
Bocu no java
#149 #397036
>>397009
Пожалуйста, перечитай шапку, будь няшей.
#150 #397104
Хуй знает, где спросить, спрошу тут: kotlin vs gosu?
#151 #397132
>>396750
бро, спасибо, работает отлично. Можешь мне объяснить, почему не работало и почему заработало? ведь после перемен IO функции и функции обновления JFrame так же работают в одном потоке... что изменилось?
#152 #397133
>>397132
Вызов textField.setText() меняет только значение переменной внутри textField, а это дело надо еще и нарисовать. Но загвоздка в том, что поток занимающийся отрисовкой сейчас занят твоим IO и пока он не освободится (метод не выполнится до конца) форма перерисована не будет. По этой же причине не будут срабатывать кнопки и прочее (форма "зависает"). Выходом из данной ситуации является создание нового потока, который будет заниматься своими грязными делишками на стороне и время от времени выплевывать прогресс через setText(), а поток отрисовки спокойно это дело рисует т.к. не имеет других задач в данный момент.
#153 #397134
>>397133
спасибо, теперь все понятно
#154 #397163
Подскажите, где можно импортнуть подсветку для Java как у ideone/pastebin/wiki к примеру для NetBeans'а?
#155 #397376
Аноны, был сегодня на собеседовании на джуна. Собеседование было нестандартным: задали пару вопросов по коду с гитхаба, дали простейшее тестовое задание домой, и всё. Смущает другое: про зп упорно молчат, говорят после тестового конкретные цифры смогут озвучить. Ещё что-то сказали про "испытательный срок 3 месяца" - хуй знает, оплачивается или нет. Тестовое задание реально простое, так что нажива засчёт него - не вариант.
Контора маленькая, да, но по ощущениям уютненько.
Какие подводные камни?
#156 #397397
>>396440
Хлебнул чайку за твоё здоровье. IDE-бляди настолько отупели, что не смогут вручную build.xml для HelloWorld написать. А из-за автодополнения кода хуй вспомнят хоть один метод из java.lang.String
#157 #397398
>>396772
Засунь себе в жопу свои регекспы и юзай SAX
#158 #397407
>>397397

>хуй вспомнят хоть один метод из java.lang.String


А зачем?
#159 #397430
>>397407
Пердолик же.
#160 #397606
>>397376
Судя по всему все нормально. Испытательный срок всегда оплачиваемый.
Желаю Удачи.
Алсо что за код выкладывал на Гит?
#161 #397628
Посоны, есть приложение, которое работает с файлом excel. Но оно не может изменять их, пока они открыты. Я гуглил-гулил и узнал, что к сожалению, из жавы невозможно закрыть файл ексель, который уже открыт. Вопрос, так ли это или есть хоть какой-то способ это сделать?
Примерно нужно что-то такое

if (file.isOpen()) file.close;

Нужно именно его закрывать в приложении, так как заказчик попросил.
42 Кб, 773x317
67 Кб, 638x521
#162 #397630
Где ошибка?
обновление a и b вообще пиздос
#163 #397637
>>397630
убери a=a, b=b, они ничего не делают.
Где ты даешь тип переменным вообще?
#165 #397641
>>397640
бля убери нахуй а=а b=b и напиши уже нормально, в чем ошибка заключается
#166 #397642
>>397641
убрал, и я спрашивал правильно ли реализован этот ебаный алгоритм? Меня смущает обновление а и b. Судя по всему оно нафиг не нужно
#167 #397643
>>397642
на вид правильно. почитай, зачем он сделан и проверь на пимерах, выдает ли нужный ответ
38 Кб, 1142x308
#169 #397646
>>397643
Я ручками считал и получил слегка отклонения :
руками : x1=0.73
x2=0.83
f1=13.96
f2=13.88
Я надеюсь ЭТО НОРМА
Но меня поёбывает неуверенность
#170 #397647
>>397646
по мне нормально
#171 #397653
>>397647
Ок, успокоил, спасибо.
#172 #397661
>>397628
Я не настоящий сварщик, но думаю, что за это отвечает ОС, поэтому, пока процесс, использующий файл, работает, у тебя ничего не выйдет. Поэтому убивай процесс, открывший его.
#173 #397662
>>397644
И пусть только опущенцы с другими языками попробуют что-то вякнуть. Я думаю это жирная точка в языковом холиваре.
#174 #397677
>>394874
Начал на javarush решать задачки и читать лекции и скоро перестал понимать, что надо делать. Нихуя не понятно. Сначала просто println пишешь, а потом сразу ничего не понятно.
#175 #397679
>>397661
спасибо бро
#176 #397680
>>397606
Спс. Практически всё говно, что писал когда-то сам
#177 #397681
>>397662
Вангую "нуль-справа-убери-джавамакака-безмозглая". А если его убрать, сишники и хаскелебляди всёравно сосут.
#178 #397720
>>397677
Читай книги, проще будет.
#179 #397743
>>397644
Это в час?
#180 #397744
Привет посоны. Хочу запускать питонскрипты под андроид из моего джава кода. Но не могу найти нормальную реализацию, мне нужно чтобы все это дело выполнялось в фоне и возвращало мне в программу консоль аутпут, а не открывало новое активити и возвращало аутпут только после закрытия его руками.
98 Кб, 777x674
63 Кб, 915x552
#181 #397885
Нид хелп. Никак не могу реализовать это условие П.4
27 Кб, 754x260
#182 #397887
>>397885
по этому условию я должен переприсваивать и получать в конце "7.0 и 0" но хз как сделать
#183 #397889
>>397885
Чувак скинь методичку мне нравяться задания.
#184 #397892
>>397889
насмешил сука!
Лучше помоги условие норм дописать п.4
#186 #397964
>>397681

>нуль-справа-убери-джавамакака-безмозглая


Скорее "Все нули справа убери".
#187 #398055
>>397898
блин, ты же не прописал шаг, пиздос, я 10 мин. проебал изучая код
sage #188 #398056
Джава на данный момент является худшим языком для новых проектов. Исключительная невыразительность и примитивность языка не позволит вам ясно выражать свои мысли. Язык очень распостронен. Пока некоторые ваши конкуренты используют сверх-современные технологии основанные на типизированном лямбда-исчислении или пруф-ассистанты с элементами функционального программирования, вы можете в разы понизить свою эффективность задействовав AbstractSingletonProxyFactoryBean - последнее достижение индусов в области набора текста латиницей. Но это еще не все. В жизни каждого стартапа наступает момент когда он становится продуктом и к проекту привлекаются дополнительные разработчики. Сдесь распостроненность и доступность языка имеют решающую роль. Благодаря большой популярности Джава среди жителей Востока, готовых работать за воду, вы можете быть уверены, что скоро потеряете своё рабочее место. Джава обеспечит вам гарантии неуверенности в своём будущем. Выберите Джава сейчас и уже через несколько лет вы будете несчастны и морально истощены рутинной офисной работой. Джава - ваш проводник к неудачам в мире разработки программного обеспечения. Выбирайте Джава.
#189 #398065
>>398055
upd
оказывается вообще не правильно.
#190 #398096
>>398056

> сверх-современные


> распостронен


> Сдесь


> имеют решающую роль



просто съеби
#191 #398121
>>396608
Лол, зато в eclipse есть супер фича - рестарт эклипса. Что как бы намекает на качество этой IDE. Idea очень хороша, рекомендую (удобство работы, рефакторинга, классные плагины, заточка под java, разные продуманные скины)
sage #192 #398122
>>398096
ёба, теперь я буду, ёба, на джяве, ёба
хуярить, ёба, классы, ёба, с этими, ёба
ну как их, ёба, а, ёба, объедками
поиск элемента в массиве захуярю...
132 Кб, 689x532
ХАЛП! #193 #398126
Имеется надобность написать на этой вашей джябе некоторое количество пикрелейтед-подобной ебалы, именно сами математические формулы (на картинке общий вид, реально там циферки, параметры, операторы типа минимума и т.п). Что можно почитать попроще? Или лучше сразу смотреть что-то типа java api?
#194 #398154
>>398055

>10 минут проебал на изучение 5ти строчек

#195 #398248
>>397885
бамп этому заданию
#196 #398257
>>394874
Сап, Джавч!
Накидайте ссылок на оупенсорс проекты с нормальным кодом.
#197 #398293
>>398056

>Благодаря большой популярности Джава среди жителей Востока, готовых работать за воду, вы можете быть уверены, что скоро потеряете своё рабочее место


Ты это про себя писал, я гляжу.
#198 #398297
пацаны как eklipse установить??
jawa developer
#199 #398299
>>396322
Неизвестно
#200 #398301
>>396680
O_o Это какую?
sage #201 #398347
>>398297
а KDE пропатчил уже? или тоже подсказать?
#202 #398412
>>398297

>jawa developer


sineor?
#203 #398502
45 Кб, 500x665
#204 #398596
Аноны, почему течет бляцкий BufferedImage? пытаюсь делать flush, занулять, вызывать gc - один хуй при каждой загрузке картинки отжирает дохуя памяти. Как его выгрузить из памяти? Или посоветуйте годных библиотек для работы с изображениями.
#205 #398612
>>398412
tim lid
#206 #398616
>>398596

>Как его выгрузить из памяти?


Открыть VisualVM и кропотливо отследить все ссылочки на объект. После чего сделать обертку, из которой будет только одна ссылка на тяжелый объект, из которой им и управлять, и через которую дергать твою картинку.
65 Кб, 937x424
#207 #398643
>>398616
Сделал везде где можно повторное использование объектов, вроде перестало жрать.

Только почему JVM при захапывании свободной памяти под хип "про запас" ее обратно не отдает? Можно как нибудь ее пнуть, чтобы не жадничала и оптимизировала?
#208 #398648
>>398643

Серверные программы обычно работают с фиксированным объемом памяти. Никому не нужна программу у которой потребление непредсказуемо скачет. Не отдает из-за традиций linux выделять память через sbrk.
#209 #398701
Посоны, поясните за распределённые вычисления и хайлоад на жабе. Какие технологии нынче модные?
inb4: Apache Hadoop
sage #210 #398709
>>398701
AbstractSingletonProxyFactoryBean
sage #211 #398713
>>398701
najtiElementVMassive
60 Кб, 720x951
#212 #398721
#214 #398729
>>398709
Что характерно. Задавал я вашему брату-пидору как-то задачу, требовавшую модульности. Сначала он попытался switch...case мне подсунуть как решение. После, будучи обоссан мной за тупость, поднатужился и высрал - внимание - ProxyFactory.
#215 #398735
>>398729
И ты это говно съел?
#216 #398749
>>398723
Ладно. Как правило делают как-то так https://gist.github.com/Karasiq/10013067
#217 #398756
>>398749
Спасибо. Сразу видно, это решение уровня энтерпрайз Big Data. Осталось к нему облачные вычисление подкрутить и можно в продакшн.
sage #218 #398757
>>398729
Что за задача?
#219 #398765
>>398757
Определить соответствие элементов произвольных типов условию, заданному пользователем.
#220 #398867
Студент недодевелопер ИТТ.
Дали тестовое задание.

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.

Интересует момент с ожиданием следующей порции данных. Как это организовать? И не понятно что имеется следующей порцией - новый ксмл документ? Или что? Подскажи, двач.
#221 #398868
Эй, энетрпрайзмэны, посветуйте ресурсов по Акка.
#222 #398880
>>398867

>should read from standard input


Думаю, что просто читать из stdin.
#224 #398986
>>398765
И что за условие?
#225 #398987
>>398749
Лол, кто-то нашёл мой гист
#226 #399006
>>398986

>условие, заданному пользователем

#227 #399035
>>399006
Он произвольное условие силой мысли задает?
#228 #399043
>>399035
Нет, блядь, в консоль пердолится. Какая тебе-то разница - твоя задача в том, чтобы написать внутреннюю логику.
#229 #399099
посоны, стоит ли читать Thinking in Java (4th Edition) если учесть, что с тех пор вышло 3 обновления джавы?
#230 #399107
>>399099

>посоны, стоит ли читать Thinking in Java (4th Edition) если учесть, что с тех пор вышло 3 обновления джавы?


Да большая часть вещей рассмотернных там, актуальна до сих пор. Рекомендую их сразу пробовать. Алсо не расчитывай. что в конторе куда ты придешь будут писать на Java 8. С высокой вероятностью тебя на первое время посадят поддерживать legacy-говно.
#231 #399109
>>399107
спасибо.
#232 #399122
Скачал idea и не понимаю, почему она генерирует все эти дополнительные директории и xml, ini файлы. Это нужно для быстрой работы самой ide, или я упускаю какой-то очень выжный аспект в написании программы? В общем вопрос, нахуя нужны все эти сгенерированные файлы и какой вкратце цикл написания приложения (я знаю только что нужно код написать, а что потом, что до этого и т.д.)
#233 #399128
>>399122
А потом анально ебешься с запуском написанного.
#234 #399132
>>399128
эти сгенерированные файлы как-то помогают для запуска или они для работы ide генерируются? Если нет, где можно почитать как их использовать?
#235 #399134
>>399132
Тебе их использовать не надо. Там настройки проекта и параметры компиляции. Это для ИДЕшки файлы, а не для тебя.
#236 #399135
спасибки
#237 #399140

>и какой вкратце цикл написания приложения (я знаю только что нужно код написать, а что потом, что до этого и т.д.)


http://en.wikipedia.org/wiki/Systems_development_life_cycle
#238 #399245
>>399043
Ну хорошо, ты пользователь, я консоль, задавай условие.
55 Кб, 1571x758
#239 #399251
Ньюфаг вкатился.
Помогите, не запускается. Пишет:

Exception in thread "main" java.lang.NullPointerException
at fibonaccii.Fibonaccii.main(Fibonaccii.java:29)
Java Result: 1

При этом NetBeans говорит, что выполняется только чтение из массива, но не запись. Вот только как это исправить не говорит.
#240 #399256
>>399251

>пишет что-то в n1 и n2 а прочитать пытается из массива

17 Кб, 623x541
#241 #399265
>>399256
Точно, я забыл эту строчку, но проблему это не решило. Все та же ошибка.
Но добра, что заметил.
15 Кб, 770x732
#242 #399266
>>399256

>n0 и n1


Фикс. Лолка ты в общем
236 Кб, 550x550
#243 #399268
Помогите, плис.

http://jsfiddle.net/ujq4hbeb/3/
#244 #399270
>>399265
Потому что ты нумбер не создал
http://ideone.com/UdFj0p
#245 #399271
>>399268
Промахнулся, но все равно помогите.
#246 #399272
>>399270

>нумбер квадратная скобка i квадратная скобка

#247 #399278
>>399270
Всё заработало. Спасибо. Не знал, что нужно так делать. В ебучей книжке пример без создания объекта для каждого элемента массива. И не слова об этом.
#248 #399281
>>399278
Вообще не стоит использовать ебучие массивы, когда есть ArrayList.
#249 #399336
>>399245

>>first from:all, hasField:FieldA OR:(hasField: fieldB and:(valueOf:(fieldB is: floatpoint and: valueOf:fieldB = 5.1)))

#250 #399341
>>399278

>В ебучей книжке пример без создания объекта для каждого элемента массива


Так пошли нахуй такую книжку и возьми другую, нормальную. Поначитаются, блядь, своих индусских мантр.
Sage #251 #399345
>>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 работает асинхронно и скачивает гугловский контент позже, чем запустится следующая функция.

Аноны, помогите, пожалуйста. Если кто-то захочет взглянуть на весь код или поинтересоваться, что это за хуйня, долбоеб ни хуя непонятно написал, я дам ссылку на ГитХаб.
Sage #252 #399346
>>399345
Delete post.
Посоны, не в тот тред пишу, извините.
Sage #253 #399347
>>399281
Двачую. Или просто List<type>. Мне они больле доставляют, люблю хранить типизированную инфу, если могу.
Видимо, основное отличие от обычных массивов в том, что на эти больше памяти выделяется.
#254 #399350
>>399347
Они эту дополнительную память с лихвой отрабатывают наличием годного функционала, который твои самописные велосипеды будет превосходить в 95% случаев и по скорости, и по штабильности.
#255 #399357
>>399278
Вангую, что в книжке рассматривается массив примитивов, которые создавать как объекты не нужно или используется Integer/Long/Float/Double/etc., которые создавать специально тоже не обязательно т.к. джава сама умеет преобразовывать "Integer i = 5;" в "Integer i = new Integer(5);"
#256 #399438
>>399336
То есть я ещё и интерпретатор должен писать? Может сразу вербально вводить, на человеческом языке, чтобы ещё и искусственный интеллект сюда приплести?
Ты не думал что подобное должен писать программист в коде, а не "пользователь" в консоли?
#257 #399441
>>399347

> Видимо, основное отличие от обычных массивов в том, что на эти больше памяти выделяется.


На 3.5 байта разве что. Столько же выделяется, только не забывай сразу capacity проставлять, где возможно.
134 Кб, 575x818
#258 #399454
>>399357
No. Книга: Кен Арнольд, Джеймс Гослинг - Язык программирования Java
#259 #399462
В 2014 году палю годноту мутабельному-быдлу:

>Вообще не стоит использовать ни массивы, не списки.

#260 #399467
>>399454
Тогда да, тупая книга
А этих >>399281 >>399347 не слушай. Используй массивы до тех пор пока хватает их функционала. А вот если уже потребуется изменять размер, тогда и смотри в сторону List'ов. С таким подходом лучше поймешь в итоге что за магию творит ArrayList и почему крайне желательно указывать его начальный размер.
#261 #399468
>>399462
Что же тогда использовать, не быдло?
#262 #399497
Двач, посоветуй годноту про Maven
#263 #399502
>>399468
Конкретно ебанашкам вроде тебя (неспособным даже в гугл)? Пойти в макдак работать.
#264 #399528
>>399502
Хуйню сморозил и отправил в гугл. Отведай ка свеженькой урины дебиленыш.
#265 #399535
>>399438
Для пользователя твои соратники уже написали красивенький интерфейс с кнопочками, который сам генерирует запросы в таком виде. Ты не увиливай, ты задачку решай, гений лямбда-исчисления.
#266 #399642
>>399535
Не знаю как в джяве, а в скале можно наворотить говнецо вроде этого: http://ideone.com/9OKIap
#267 #399643
>>399462
Можно подумать иммутабельные коллекции не являются массивами/списками.
#268 #399645
сделал прогу на заказ. она не пахала у чувака, пока тот не обновил яву. может я лох и выбрал язык, рассчитанный на сервера? короче вопрос, почему Ява такая популярная? ведь не все у себя на компах имеют обновленную яву. а если не десертов предложения, то для чего она в основном?
#269 #399646
>>399645

>десертов


>десктоп


ядибил
#270 #399647
>>399645
Ты можешь встроить JRE в установщик
#271 #399648
>>399647
о, збсь, почитаю, но все равно интересно, для чего яву используют больше всего и осенние она такая популярная? (не считая простоты разработки)
#272 #399650
>>399648

>осенние


>почему


go keyboard выебывается
#273 #399651
>>399648
Больше всего разумеется для серверов (веб-бэкенды, например), потому что сервера это большая часть программирования вообще.
Ещё под ведроид в основном на ней пишут. А под десктоп уже всё написано.
#274 #399653
Возможно ли компилировать джава-код в экзешник ?
#275 #399654
>>399651
спасибо
>>399653
гугли launch4j
sage #276 #399655
>>399653
gcj раньше был компилировал java код в бинарный код. Но он даже 1.5 так и не поддерживал, сейчас вообще заброшен.
>>399654

>launch4j


Так можно и батник одну строчку написать, толку то?

>launch4j

#277 #399673
>>399642
Ок. А теперь то же самое, но для произвольного запроса. Плюс твое поле может содержать список значений.
#278 #399690
>>399673

>но для произвольного запроса


define произвольного
И как ты будешь такое вписывать в "красивенький интерфейс с кнопочками".

>Плюс твое поле может содержать список значений


Пишешь любую какой в голову взбредет фильтр и его уже из своего интерфейса с кнопочками используешь.

http://ideone.com/2zuS7P
Только не говори что пользователь должен фильтры сам на ходу придумывать.
#279 #399700
>>399690
Произвольного - это значит такого, который содержит любые комбинации and, or, nor и прочих операторов, сравнения не только на равенство, сравнение листов как в напрямую заданном порядке, так и со значениями в произвольном порядке, сравнения по сублистам и прочую няшность.
Еще было бы очень хорошо, если твой код не приходилось бы переписывать наполовину при введении нового функционала.
#280 #399701
>>399700

>Произвольного - это значит такого, который содержит любые комбинации and, or, nor и прочих операторов, сравнения не только на равенство, сравнение листов как в напрямую заданном порядке, так и со значениями в произвольном порядке, сравнения по сублистам и прочую няшность.


Ну наклепай ещё сотню функций и будет это.

>Еще было бы очень хорошо, если твой код не приходилось бы переписывать наполовину при введении нового функционала.


Я показал базовый пример, а рефакторить это, обёртывать в классы и функции и т.п. это уже вторично.
#281 #399702
#282 #399709
>>399701

>Я показал базовый пример, а рефакторить это, обёртывать в классы и функции и т.п. это уже вторично.


>Главное что я самый простой вариант нахардкодил, а доводить это до уровня продукта - это уже вторично


А, ну понятно. Видишь ли, эта ветка обсуждения началась с твоего утверждения, что дизайн-паттерны не нужны. Теперь мне хотя бы понятны твои мотивы - ты ничего серьезного и не писал никогда. Удачи на парах, увидимся с тобой на собеседовании.
#283 #399717
>>399709
Вообще-то я включился мимокрокодилом и мой первый пост в этом треде - >>398986
Но вот тебе рефакторенный вариант http://ideone.com/vpDAtS
#284 #399721
>>399655
Тоже одно время интересовал вопрос компиляции в exe и лучшее, что нашел - Excelsior JET. Хотя и сам ни разу не пробовал.
#285 #399734
Раз уж тут тема компиляторов и екзешников, расскажите мне, как-то возможно сделать так, чтобы мое приложение (на жабе) не передавали друг другу. В том смысле что в моей стране я думаю я смогу его продавать, но боюсь ПИРАТОВ. Не представляю, как это возможно, ведь приложения на джаве портабл, а значит что их можно просто тупо скопировать друг другу
sage #286 #399736
>>399734
Пиши на ц++ никто не сможет копировать не портабл бля буду пиздос
#287 #399739
>>399736
меня лучше пусть обоссут пираты, чем отпиздят кресты
#288 #399754
>>399734
Ты жадная мразь, хуже червя-пидора. Те кто спиратят твоё говно всё равно не стали бы за него платить.
#289 #399764
>>399754
не пизди, они просто жадные мрази, которые хуже червей-пидоров и им жалко платить, но они заплатят если не смогут спиздить, потому что их конкуренты заплатят и будут их обоссывать
#290 #399794
>>394874
КАК АБСТАЯТ ДИЛА С МАССИВАМИ)))))00)0000)))
#291 #399798
Не могу понять, почему garbage collector ждет долго, а только потом освобождает дохуя памяти. Почему он сразу при выходе из какого-то метода не очищяет память от всех объектов и переменных в этом методе?
#292 #399808
>>394874
Кого-нибудь спрашивали на собеседованиях про linked hash map, tree map, linked list, ну и про прочие array-листы да векторы? Очобу вроде бы надрочил, но что интересно что в принципе могут спросить.
#293 #399810
>>399798
Делай вручную System.gc()
#294 #399814
>>399810
почитал, все говорят, что так лучше не делать. Но я все равно не понимаю, почему гц не может это делать сразу же, как только надо. Может он таки делает это, просто я не знаю. Или у них там философия что надо так делать только по необходимости?
#295 #399830
>>399808
во что выродится HashMap, если hash() определить как return 0;?
#296 #399835
>>399814
Для освобождения памяти нужно считать ссылки на каждый объект и делать это после каждого метода слишком накладно
sage #297 #399836
>>399814
можешь вызывать гц() где хочешь
джява-препроцессор так и так вставляет эту строчку после каждого стейтмента
2 Кб, 120x117
#298 #399868
>>394874
Где лучше всего почитать за потоки, байтовые-символьные и все такое?
Где лучше всего описана работа самого компилятора и виртуальной машины? Чтобы знать, где, когда и что загружается, особенно статические методы в этом плане интересуют.
И нахуя нужны вложенные классы, да еще и private?
#299 #399937
>>399868
java virtual machine specification
java language specification
#300 #399959
>>399836

>можешь вызывать гц() где хочешь


Лул, бездушной джавамашине похуй что ты там вставишь. Вызов метода гц() не гарантирует его немедленное выполнение.
sage #301 #399964
>>399959
ничо не понимаешь
#302 #399967
>>399868
Вложенные классы полезны в тех случаях, когда эти классы используются только в рамках одного класса.
#303 #399969
Учил полтора курса в универе кресты, хочу какой-нибудь новый язык освоить ДЛЯ САМОРАЗВИТИЯ и ЧТОБЫ НА МЕСТЕ НЕ СТОЯТЬ.
Питон или джява? Где больше перспектив?
sage #304 #399973
хочу поиграться с джявиными лямбдами, но немогу разобраться с синтаксисом
http://pastebin.com/bAmkvDTg
почините пж чтоб работало, а?
sage #306 #399984
>>399978
неизящно совсем(
алсо всерано не запускается
може импорты какие нужны?
#308 #399992
>>399986
Конечно нужны
http://docs.oracle.com/javase/8/docs/api/java/util/function/IntBinaryOperator.html
Используй жидею, наконец.
390 Кб, 2205x2022
#309 #399995
>>399984

> изящно


> джава


Ты что-то попутал.
#310 #399997
>>399808
Конкретно про классы тебя не спросят. Могут спросить, знаешь ли ты, нахуя там столько разных листов и карт, и какие у каждого из типов подводные камни.
#311 #400010
>>399798
В энтерпрайсе не принято считать память. Если надо, ещё докупят.
#312 #400012
>>399997
Из подводных камней нарыл только отличия во времени выполнения для разных операция с листами O(1), O(n), вот это вот всё. Типа для таких-то операций лучше LinkedList чем Array, для таких-то TreeMap лучше HashMap-a. А что еще можно сказать - не понимат.
Сейчас гуглю какие-то подвохи с 0 и null, как сказал >>399830 вообще охуеть.
#313 #400013
>>400012
Там фишка не в 0, а в том, чтобы хэш был одинаковый для всех объектов класса.
Гуглить нужно устройство HashMap
sage #314 #400018
да щас работает, спасибо
разочарован если чесно, столько-то бойлерплейта
#315 #400038
>>399830
В HashMap с одним бакетом?
#316 #400049
>>399836
В линейный список
#317 #400050
>>399497
А что про него можно написать, кроме официальных доков, которые не такие уж большие?
#318 #400051
>>399969

>Питон или джява?


Питон точнее, джава надежней.
#319 #400073
>>400038
>>400049
Да, в связный список
#320 #400074
>>400018
Нужно просто знать, что лямбды - просто сахарок для паттерна комманда.
#321 #400255
>>400073
Мы Вам перезвоним.
#322 #400258
#323 #400259
>>400255
Анусу своему перезвони, пёс.
Проектирование #324 #400322
На меня тут повесили задачу с проектировкой нового функционала на 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.
Спасибо за внимание.
#325 #400393
>>400322
Мне не нравится твой подход, особенно часть про копию. Тебе нужно не копировать класс и переключать всю обработку на свой велосипед, а сделать новый QueryResource и обрабатывать в нем только запросы нового функционала. Как ты там что переключать будешь - уже похуй.
#326 #400423
>>399830
Есть небольшая разница в зависимости от того, что использует HashMap: chaining или open addressing.
#327 #400429
>>400322

>При этом каждый из этих новых методов так или иначе должен взаимодействовать с уже имеющимися private членами, которые я написал в классах выше.


Ну сделай их protected, даун
#328 #400435
>>400423
HashMap - это конкретный java класс, мудило.
>>400259
Хамите, парниша. Мы не перезвоним.
http://openjdk.java.net/jeps/180
#329 #400467
>>400435
Лел прикольно
Это кне так давно появилось, да? В седьмую завезли? В оракле есть?
#330 #400576
>>400393
Не совсем понимаю, чем это поможет, учитывая что мне нужно по иерархии добраться до класса OlapQuery применяя новые методы.

>>400429

>сделай их protected


>надо по-минимуму лезть в готовый функционал

#331 #400581
>>400435
Дурачок запостил какую-то левую говноссылку, в которой рассказывается про новую фишку Java 8.
В рашке сейчас даже мало кто интересуется восьмой явой - а ты тут такую хуетень постишь.
Классическая реализация HashMap в яве - метод раздельных цепочек, гугли устройство.
И да, >>400423 пишет правильно: зависит от реализации. Ибо параша, подобная тебе, с лёгкостью напутает хешмап и хештейбл
#332 #400582
>>400581
Алсо, восьмая ява твоя нахуй никому не нужна. Лямбды для всратых. Обтекай
sage #333 #400597
>>400581
обосрался@обсирай
#334 #400601
>>400581

> хешмап и хештейбл


> Лямбды для всратых.


ну ты и быдло
#335 #400623
>>400601
Обтекай, обтекай, мамкин илитарий.
Для НЕ всратых: ява7, конкурренси, гуава, спринг, градл, jetty. А пердолики пусть дальше наяривают на очередной weaklinkedtreehashmap c МАКСИМАЛЬНО БЫСТРЫМ ДОСТУПАМ БЕЗ СМС. Вас на крестах надо кодить - там виртуальные диструктары и множественное наследование, для илиток просто малина
sage #336 #400624
>>400623
проиграл с этого битордия))))
#337 #400657
>>400624

>проиграл


Вся твоя жизнь одним словом.
#338 #400661
Поясните за регэкспы.
Вот есть метод 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, когда исходная строка изменяется по ходу).
#339 #400674
>>400657
Цирк одного пролетария итт
#340 #400677
>>400623
Молодой человек, на вопрос вы ответили неверно и нахамили - мы не сможем продолжить с вами сотрудничество.
#341 #400679
>>400661
Нихуя не понял что тебе нужно, но ищи в строке, а изменяй билдер.
#342 #400681
Джентельмены, перестаньте кидаться фекалиями.
Ваши диспуты нисколько не полезны ни для вас, ни для других посетителей треда.
#343 #400699
>>400679

>но ищи в строке, а изменяй билдер


Но тогда же позиции matcher.start() и matcher.end() будут искаться в строке, а в билдере, начиная со второй итерации, возможно смещение.
#344 #400726
ну то есть например:
- в строке найдено совпадение с 5 по 10 символы (5 символов). В стрингбилдере производится замена этой подстроки на строчку длиной в 2 символа ([5] и [6]).
- в строке найдено совпадение с 20 по 30 символы. Но в стрингбилдере это будет уже, не 20-30, а 17-27.
- и т.д.
Можно, конечно, при каждой замене ещё учитывать это смещение (как разницу длин исходной и заменённой подстроки). Но может можно и как-то менее криво?
#345 #400727
да и не может ли быть ситуации, когда следующее совпадение будет левее предыдущего?
#346 #400735
>>400726
Хуй знает чего ты добиваешься, но думаю это должно помочь. http://ideone.com/3QSVFc
#347 #400764
>>400735
http://ideone.com/lVjLzr - во-первых
Искать нужно по регулярке и заменять не тупо на строку, а на функцию от строки.

Хуй знает, может криво изъясняюсь.
Значит суть такова. Пользователь вводит строку. И по регэкспу ищутся совпадения, дальше некоторая обработка этих данных (для каждого совпадения, вызывать функцию, а не тупо "A"->"B") и потом замена.
Ну например, "(?i)HU[IJ](\\d+)" найти "hUi265", дальше обработка, некоторые действия (например, распарсить число, сделать ещё что-то в зависимости от результата и собрать новую подстроку) и провести замену.
#348 #400778
>>400764
Тогда как-то так: http://ideone.com/7EBgP5
#349 #400785
Джаваны,
а что сейчас с вакансиями джуниора происходит?

Курс доллара как-то влияет на всю эту хрень? Или война никогда не меняется?
#350 #400801
>>400778
Вот! appendReplacement и appendTail, похоже, то что надо
Добра тебе
#351 #400836
>>400785

>а что сейчас с вакансиями джуниора происходит?


Стало меньше. Требования повысились.
Но если не долбоеб то работу можно найти.
Это скорее связанно, с тем что написанно милионы бэкэндов, которые можно без особых усилий модифицировать, а фронтарей для того чтобы адаптировать эти бэки не хватает. С другой стороны бэкэндищики всегда рубили больше баблеца, и имели меньше проблем с заказчиком и ПМами.
#352 #400838
>>400836
А как вообще искать работу джуниором?

Написать всем известным компаниям на (инфо|hr)@(дойчебанк.зига) и ждать когда перезвонят?

И дополнительный вопрос: как в себе распознать долбоёба?
6 Кб, 220x229
#353 #400848
Котаны, помошите начинающей жабабляди. Есть у меня допустим в каталоге проекта подкаталоги src и bin и башскрипт сборки с командами.

[CODE]javac @src_files -d bin -classpath ...
jar cfm name.jar MANIFEST ./bin/src/ -C bin [/CODE]

В созданом jar-e ко всему дереву обьектов еще и bin добавляется, как победить?
#354 #400849
>>400848
Ну блять, разметку сломал.
#355 #400850
>>400848
Точнее так:
[CODE]
javac @src_files -d bin -classpath ...
jar cfm name.jar MANIFEST ./bin/src/
[/CODE]
#356 #400861
>>400848
Ебаный make не переходит по cd. Написал отдельный скрипт под запаковку jar. Так работает.
#357 #401162
БАМП
#358 #401216
Посоны, а сильно ли популярна джава для веба?
#359 #401241
Кто-то кидал сюда однажды пасту про то, как искать работу. Кто-нибудь может ее скинуть?
#360 #401262
>>401216
А ты думаешь, все джависты под десктоп пишут?
Или ты не знаешь, что такое энтерпрайз? Энтерпрайз - это веб на 99%.
#361 #401263
>>401262
я нуб просто, вот и все. гуглил в нете инфу про джаву и увидел много тем по вебу, стало интересно.
#362 #401269
>>401263
Только, я тебя умоляю, не путай джаву с джаваскриптом.
#363 #401272
>>401269
я не путаю
#364 #401275
>>401216

>Посоны, а сильно ли популярна джава для веба?


Моя контора стряпает копроративные порталы.
Бэкэнд весь на жабе. Фронт на жаваскрипте.
19 Кб, 672x337
#365 #401292
>>394874
На сколько я мудак и как эту хуйню пофиксить?
#366 #401296
>>401292
ппц, особенно второе.
#369 #401310
>>401298
>>401299
Не помогает нихуя. Класс лежит там же, хули ему не нравится-то?
sage #370 #401312
>>401310
Дебил, перечитай еще раз то, что пишут по ссылкам и ту херню, что ты написал.
#372 #401322
П0с0ны, хочу значит написать свой сервер мморпг с клиентом !
Книги: Java Network Programming, 4th Edition, Killer Game Programming in Java.
+исходники l2jserver
Всё правильно делаю? Или не стоит заморачиваться, а дальше изучать и закреплять знания разных тырпрайз фреймворков?
#373 #401347
>>401322
Пиши MMORPG на HTTP, очевидно же.
#374 #401348
>>401313
Так и сделал, все еще ругается.
#375 #401350
>>401348
Как ругается?
Если уж не можешь скопировать сообщение об ошибке в гугл, скопируй его хотя бы сюда.
#377 #401353
>>401352
покажи код класса.
#379 #401355
>>401354
удали пакадж ИЛИ попробуй
java your_package_name.HelloWorld.
#380 #401356
>>401354
Ну зачем ты в паскаге запихнул, Маня?
#381 #401359
>>401355
>>401356
Да я же для приличия, че вы.
5 Кб, 200x200
#382 #401361
>>401354

>работает в нетбинсе


>запускает программу из консоли

#383 #401362
>>401359
Все равно не работает.
>>401361
Бля, ну я все понимаю, но это же классика, блядь.
#384 #401364
>>401362
Показывай код и как запускаешь.
#385 #401370
>>401364
Баг был действительно с пакетом в пакете. Создал текстовый файл, вставил код, поменял формат, вставил в папку, компилировал, запустил и все работает.
Ебаные нетбинсы.
#386 #401372
>>401370
И да, спасибо за проебанное на меня время.
#387 #401373
>>401370
ну молодец
#388 #401386
Где применяется Джава? Только можно развернутый ответ.
#389 #401387
>>401386
В EPAM Systems, например.
sage #392 #401451
>>401389
>>401392
В общих чертах я загуглить могу и сам, но интересней было бы послушать истории работающих граждан: я работаю над тем-то применяю то и это. А то ищешь работу, а толком не знаешь что тебя там ждет.
32 Кб, 604x453
#393 #401495
>>401451
Пишу на веб-стеке Java 5 с анальным вендор-локом на IBM - сервер приложений WebSphere, брокер сообщений MQ, СУБД DB2, среда разработки RSA, а также фреймворк Apache Struts 1. Иногда дают пописать на Java 6-7. Иногда и десктопные приложения приходится писать на Swing и JavaFX 2.
Я считаюсь кагбе джуниором, но на деле получается, что весь жизненный цикл разработки приложения от анализа требований до программной инженерии поддерживаю я. Из этого сами понимаете какое говно получается.
Алсо, это гос. контора, пришел сразу после вузика - уже второй год, до этого нигде не работал, получаю на руки 18К. ЧЯДНТ?
#394 #401515
>>401451
Пишем корпоративные порталы под LifeRay.
И бэк для мобильных приложений.
#395 #401516

>получаю на руки 18К. ЧЯДНТ?


>18К


>ЧЯДНТ?

#396 #401813
В шапку бы положить ещё acm.timus.ru - клёвый банк задач от ИМКН УрФУ.
#397 #401867
>>401813
Там же олимпиадные задачи
63 Кб, 724x820
#398 #401894
Сап, джаваны. Я ньюфажек. Так как практика лучшее обучение, хочу написать какую-нибудь свою хуйню. Думаю приложение для своей шараги, чтобы хикканы могли спокойно смотреть расписание на своём смарте. Первое, что приходит в голову:
1. Сервер с базой расписания. Какую базу юзать? Или может вообще не базу, а JSON какой-нибудь? Возможно вопрос тупой, но я ещё в глаза не видел эти базы и прочие способы хранения данных.
2. Не будет же шлюха, отвечающая за расписание, работать напрямую с базой. Поэтому пишем прогу, которая будет принимать файл, парсить его и заполнять этими данными бд.
3. Ну и самый тупой вопрос. Как соединяться с сервером? Я видел примеры с Socket, но там везде IP. А если сервер с динамическим ойпи?

В общем прошу советов мудрых, всем добра за ответы.
#399 #401899
>>401894
1. Базу данных имеет смысл использовать для долговременного хранения данных. Тебе же нужно хранить очень небольшой фрагмент данных и обновлять его. Так что тебе достаточно какого-нибудь простого текстового формата вроде JSON, например, да.
2. Для начала поинтересуйся, будет ли она тебе файл отправлять. Может она не умеет с электронной почтой работать, просто печатает и вешает это расписание. Это самая большая проблема в твоём проекте.
3. Соединяйся по HTTP, можешь использовать REST (в википедии почитай). Например у тебя будет по адресу http://raspisanie.govnovuz.ru/today/ возвращаться JSON с расписанием на сегодня. По хорошему лучше присосаться к сайту своей шараги, если он вообще существует. Если ты хочешь сервер под кроватью с динамическим ойпи, то можешь использовать что-то типа этого http://ru.wikipedia.org/wiki/DynDNS
sage #400 #401900
>>401899

>В 2014 г. компания полностью свернула программу бесплатного предоставления динамического DNS


А, ну ты соснул значит. Можешь попробовать вот это http://freedns.afraid.org/
#401 #401905
>>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/ - куча работающих примерчиков по каждой конкретной технологии, с подробным разъяснением.
#402 #401972
>>401867
В шапке тоже есть олимпиадные задачи. А на Тимусе задачи достаточно просты и помогают разобраться. Да и тупо интересно.
#403 #401973
>>401972

>В шапке тоже есть олимпиадные задачи. А на Тимусе задачи достаточно просты и помогают разобраться. Да и тупо интересно.


Добавим в третью версию.
#404 #402113
>>401515
Коллега, тоже пишем под Liferay.
На самом деле залупа еще та
Что думаешь по этому поводу?
#405 #402117
>>401894
Пиши без базы, не нужен лишний геморпользователям. Просто сделай, что когда в первый раз запускаешь приложение - выбираешь группу, а приложение само парсит расписание с сайта и хранит его, к примеру, в виде XML файлов на самом девайсе. Автономность приложения - всегда плюс. Ну, и еще сделай кнопку "Обновить", которая будет актуализировать данные в твоих XML-ках.

Мимо JavaEE Junior
#406 #402167
Прошу пояснить за интерфейсы и аннотации. Никак не пойму как это полезное Добро работает и как его применять.
#407 #402170
>>402167
возьми книгу про паттерны проектирования и вопрос об интерфейсах отпадет.
а аннотации - метаданные, никак на работе программы не сказываются.
#408 #402171
>>402167
Интерфейсы - это один из основных столпов полиморфизма. Ты просто определяешь точки входа (методы), а потом уже ебешь конкретную реализацию как сам хочешь. И для выполнения методов описанных в интерфейсе тебе не нужно гадать какая реализация тебе приедет. Ближайший пример примения - List и реализации в виде ArrayList и LinkedList. Ну еще итераторы все тоже являются реализацией интерфейса Iterator.
Еще есть пальцатые интерфейсы, которые немного по-другому обрабатываются самой JVM - Throwable (все Exception'ы), Runnable (реализует Thread), Serializable (реализация сериализируется через JVM) и Cloneable (можно копировать обьект).

Аннотации это эдакие метки, которые доступны тебе в рантайме через рефлекшн. Оно немного через жопу, но энтерпрайзникам очень понравилось и там везде аннотации на аннотациях. Можно писать свои аннотации, но бремя их обработки ляжет целиком на тебя.
232 Кб, 1600x1500
#409 #402196
Чем интерфейс отличается от абстрактного класса?
31 Кб, 600x463
#410 #402222
>>402196
Ничем
#411 #402226
>>402196
А правда, чем? Ну кроме того что в классе методы могут быть реализованы и интерфейс может иметь только final static поля. Не пинайтесь, я только-только начал учиться.
#412 #402227
>>402226
Любой класс может наследовать только один класс, но реализовывать может хоть сколько интерфейсов. В интерфейсе методы только публичные (вроде).

Глупый вопрос, джаваны, если где-то в теле метода может выкинуться исключение, компилятор всегда будет заставлять обработать его или добавить throws в сигнатуру метода? Или может такое случиться, что я написал код, компилятор меня ни о чем не предупредил, и вдруг программа упала с необработанным исключением?
#413 #402228
>>402227
Точно, множественное наследование ведь не завезли.

Есть проверяемые и непроверяемые исключения. Вот в случае с проверяемыми компилятор заставит обработать. Ну а с непроверяемыми не заставит, это всякие NullPointer, Arithmetic.
#414 #402247
>>402228

>NullPointer, Arithmetic


RuntimeException еще. Очень удобно для всякого ловимого пиздеца, никаких method(XUI, PIZDA) throws Throwable
#415 #402248
>>402226
В Java 8 добавили default методы. Теперь в интерфейсе тоже можно делать реализацию.
29 Кб, 300x306
#416 #402261
>>402171
Я всё понял.

как всегда сука, нихуя не понятно.
#417 #402268
>>402261
Бля, ну смотри пример.
Допустим, тебе нужно хранить какие-то данные.
Ты ебашишь интерфейс Хранилище с методами Сохранить и Достать.
А потом пилишь реализацию ХранилищеСтатическимКлассом, у которого есть статический класс, в полях которого хранятся твои данные.
Через неделю до тебя доходит, что ты еблан, и перезапуске прогарммы у тебя все данные теряются. Тогда ты ебашишь новый класс ХранилищеВМайЭскуэль и сохраняешь всё в таблицах. При этом тебе достаточно подменить название класса рядом с new, а дальше всё работает само (если ты не используешь dependency injection фреймворки, с ними ещё проще).
Потом через неделю до тебя опять таки доходит, что ты сидишь на АИБ, и сиквел здесь использовать некошерно. Поэтому ты пишешь новое Хранилище: ХранилищеВМамкинойЖеппе, и опять у тебя всё сразу работает.
#418 #402269
>>402268

>что ты сидишь на АИБ, и сиквел здесь использовать некошерно


Мнение /pr/ меня мало волнует.
#419 #402637
>>402227

>если где-то в теле метода может выкинуться исключение, компилятор всегда будет заставлять обработать его или добавить throws в сигнатуру метода


Если исключение является подклассом RuntimeException, то нет. Костыль:
try{...}catch(Exception e){throw new RuntimeException(e);}
#420 #402639
>>402268
А потом - абстрактная фабрика абстрактных фабрик
#421 #402658
Как сделать, чтобы вопросы выводились в рандомном порядке, а правильные ответы больше не появлялись. И чтобы при правильных или неправильных ответах менялся цвет кнопки? Помогите реализовать.

http://jsfiddle.net/7jg41zmn/
#422 #402672
>>402639

>А потом - абстрактная фабрика абстрактных фабрик


AbstractSingletonProxyFactoryBean
#423 #402698
Я тупой, не могу въехать в классы, наследование и прочие полморфизмы.
Задание - сделать абстрактный класс в которым будет абстрактный метод. Потом сделать наследников, который через этот метод будут что-то с собой делать.
Вопросы:
1. Объекты я должен создавать вне классов, или в самих этих классах-наследниках?
2. Программа должна начинаться со слова класс или нужно сначала создавать пустой метод?
3. Где организовывать ввод данных, опять же после всех классов или где?
#424 #402702
>>402698
1. Создавать то можно где угодно, смотря что требуется. В твоём случае, видимо, в методе main.
2. Не распарсил. Если очень грубо говоря, программа состоит из классов, классы состоят из методов. В одном из классов должен быть static метод main, которому передаётся управление при запуске программы.
3. Смотря какая реализация класса. Если данные передаются через конструктор, или сеттер или public поле, то там, где собственно задаются данные. Можно сделать метод у класса, который сам считывает данные и просто вызывать его.
#425 #402878
Лень читать овердохуя статей про потоки. Помогите с примером:

[code]
private static int n;

public static synchronized set( int arg )
{
n = arg;
}

public static synchronized get()
{
return n;
}
[/code]

Один поток может спокойно прочитать n когда второй его будет записывать. Как победить эту хуйню? Мой быдлокодерский мозг подсказывает сделать один synchronized метод с флагом читаем/пишем. Но наверное есть способ лучше?
#426 #402882
>>402878
объяви переменную как volatile и можешь вообще хоть public сделать
#427 #402884
>>402882
волятайл не спасает от инкремента, только от присваивания. Загугли почему у стринги хэш код с рейс кондишн потенциально
#428 #402886
>>402878
>>402882
Можно еще вот так.
http://ideone.com/I3xz4t
Хотя хуй знает, в моем варианте может быть дедлок или нет. По идее, не должен бы.
#429 #402888
>>402884

>не спасает от инкремента


Ну да, как public лучше не объявлять. Но сеттер и геттер с присваиванием можно

>почему у стринги хэш код с рейс кондишн потенциально


>public int hashCode() {


> int h = hash;


> if (h == 0) {


> ...


> hash = h;


> }


> return h;


>}


В худшем случае (если кто-то вызовет этот метод, пока хэш уже считается в другом потоке) хэш посчитается несколько раз.
Только как это связано с этим вопросом? (про инкременты и присваивание)
#430 #402889
>>402886
Никакого дедлока. Дедлок бывает когда у тебя два вложенных блока synchronized и перепутано так что один ждет когда разблокируется второй, а второй... ну ты понел.
#431 #402890
>>402878

>Один поток может спокойно прочитать n когда второй его будет записывать.


С хуя ли? Ты что сделать хочешь, малыш?
#432 #402894
Вообще нет разницы, если классы находятся в одном файле или в разных но в одном пакете?
Я так прикинул, классу похуй где лежит другой класс, когда тот к нему обращается (наследует, например). То же самое и с созданием класса
Всякие protected, private, public, без-упоминания работают одинаково.
Всё верно?

Как делают крутые программисты, которые получают деньги за работу: держат строго все классы в отдельных файлах, или как поучится?
#433 #402897
>>402894
Хорошей практикой является держать по одному классу верхнего уровня на один файл - так их проще искать. Вложенные классы, само собой, не считаются.
Многие к тому же делают структуру папок точно такой же, как и структуру пакетов.
#434 #402900
>>402897

>Многие к тому же делают структуру папок точно такой же, как и структуру пакетов.


А как ещё?
#435 #402906
>>402897
Спасибо за ответ. А что такое класс "верхнего уровня"? super?
И, как я понимаю, javac потом всё равно создаст по .class файлу для каждого класса, даже если они в одном файле?
#436 #402908
>>402906
Не вложенный
#437 #402909
>>402900
Вообще можно хоть через жопу, вопрос в удобстве.
>>402906
Нет, верхнего уровня - это не вложенный в какой-то другой
#438 #402910
>>402906

>И, как я понимаю, javac потом всё равно создаст по .class файлу для каждого класса,


Да, причем и для внутренних, и для анонимных

>>402909

>Вообще можно хоть через жопу, вопрос в удобстве


А смысл? Это же ещё собирать надо будет
#439 #402913
>>402910

>А смысл?


Это не меня надо спрашивать, а тех, кто через жопу делает.
#440 #402915
Котаны, устраиваюсь на работу джуном, предлагают зп - 15к, полставки с гибким. ДС-2, тырпрайз, маленькая контора. Норм для начала, или искать дальше?
Бля, столько же пхп джуны получают, да и студенты, работающие не по спецухе.
#441 #402938
Какие из оперсорсных проектов можете посоветовать для изучения новичку? Интересно как пишутся реальные программы, а не тысяча вариаций hello word'a.
#442 #402939
>>402938

> hello word'a.


> hello world'a.


квикфикс
#443 #402966
#444 #402967
>>402915
Лол? Грузчик в два раза больше получает
#445 #402979
>>402890
Хочу чтобы один поток ждал окончания записи в поле n с другово потока.

>>402882
Спасибо. А для одномерного массива ссылок на массивы объктов это тоже будет работать?
#446 #402980
>>402979

>А для одномерного массива ссылок на массивы объктов


AtomicReferenceArray, AtomicLongArray, AtomicReferenceArray
#447 #402982
>>402979
ReentrantReadWriteLock
#448 #402986
>>402980
Ты AtomicReferenceArray забыл.
#449 #402989
>>402915

> зп - 15к, полставки с гибким. ДС-2


Любой джун, на любом языке работает первый гд за еду. С другой стороны лучше поискать полную ставку.
#450 #403021
>>402979
Так он и так ждет с такими-то синхронайзедами.
#451 #403023
Сап, жавач, что нужно знать каждому java-программисту?
#452 #403025
>>403023
Смолоду нужно раздалбливать свое очко, чтобы в будущем было не так больно.
#453 #403028
>>403021
Блджад, походу придется мне читать литературу по потокам. Если в одном synchronized методе (геттере) производится запись в поле, synchronized сеттер не залочен же?
#454 #403029
>>403028
перепутал местами гетер и сеттер.
#455 #403031
>>403028
Залочен. Иди уже доку прочитай в одну страницу. Хули гадать?
#456 #403033
>>403031
Заебись. А ман я обязательно почитаю. Но сначало надо курсач наговнокодить.
#457 #403221
>>403033
в общем виде synchronized записывается как synchronized (object) { } и при заходе одного потока в такой блок все другие synchronized-блоки вызванные с этим же object блокируются для других потоков. При записи synchronized в определении метода это работает как synchronized(this) { }. То есть раз у тебя геттер и сеттер в одном объекте, то все должно работать как надо.
45 Кб, 700x408
#458 #403231
>>403221
Уже почитал какуйто статью и разобрался. Если поток потянул один synchronized метод, блочится не метод а весь объект этот метод содержащий.
#459 #403263
ананасы, у меня есть две реализации метода умножения квадратной матрицы, почему одна работает быстрее другой?
http://pastebin.com/Ffk2YmtE
#460 #403275
>>403263

>matrix2.matrix[k];


>matrixL2[k]


Определись с расстановкой индексов и измерь скорость еще раз.
4 Кб, 462x57
#461 #403278
>>403275
разметка продолжает радовать
#462 #403294
спасибо, ананас! проблема была в индексах
#463 #403315
Ананасы, как в жабе запилить метод swap, который бы менял переменные местами?
Ну например int a, int b, пишешь swap(a,b) и их значения меняются.
#464 #403346
>>403315
Никак. Переменные в Java передаются по значению. В случае встроенных типов, таких как int, byte, char и т.д. ты просто получишь их копии при передаче в метод. При работе с ссылочными типами, которые ссылаются на объекты в куче, ты просто получишь копии ссылок, которые указывают на объекты. Т.е, когда ты сделаешь swap для объектов, то новые object references будут указывать на новые объекты, тогда как старые ссылки продолжат ссылаться на те же самые объекты.
#465 #403350
>>403315
Swap можно только в списках. Если работаешь с каштомом, где есть все геттеры и сеттеры - можно сделать рефлективный своппер.
#466 #403352
77 Кб, 408x550
#467 #403361
А почему нет?
http://ideone.com/Gp5W2z
#468 #403386
>>403361
Заебись. Не думал, что у всех оберток примитивов значение хранится в поле с именем value. Только вот с таким подходом можно наебаться с поиском ошибок. На вскидку тот же hashCode() у стринга кэшируется и будет неприятно потом работать с хэшмапами.
#469 #403398
Сосоны, объясните мне тупому как работает следующий метод (знаю, что рекурсия)
[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]
#470 #403412
>>403398
Тут тупо нечего объяснять.
Если a=2, b=6, то будет:
return mystery(4,3)+2;
mystery(4,3) в свою очередь вернет:
return mystery(8,1)+4;
И так далее.
#471 #403433
>>403386
А ещё можно сделать так
http://ideone.com/kOqVwJ
21 Кб, 511x656
#472 #403442
Почему он мне только один раз ввод слова дает?
#473 #403446
>>403442
Скорее всего не съедаешь перенос строки после инта, nextInt парсит только число и не символом дальше.
#474 #403448
>>403433
Красота
#475 #403450
>>403442
Читай число через nextLine() и конвертируй
#476 #403452
>>403450
Или напиши scanner.skip("\n") после чтения числа. Или даже scanner.nextLine(), но это немного коряво.
31 Кб, 790x763
#477 #403454
>>403450
>>403452
Ну вот изначально я так делал, но он постоянно исключение кидает.
#478 #403455
>>403454
fix: не кидает, а ловит
#479 #403458
>>403454
так у тебя word остаётся, надо ещё раз прочитать nextLine
#480 #403459
>>403454
а так как ты строки сравниваешь как ссылки на объекты, а надо по значению: word.equals("сумма")
#481 #403460
>>403454
Ну так оберни две строчки в конце цикла в try и проблемы нет. Олсо >>403452 вообще не об этом, а просто как можно в варианте из >>403442 пропустить лишний "\n".
#482 #403461
>>403460
А, и >>403459 конечно же прав.
#483 #403463
>>403459
>>403461
>>403458
>>403460
Ага, спасибо.
#484 #403490
>>403412
mystery возвращает 14, как он это получил?
#485 #403506
>>403490
Взял и получил. Серьезно, я не знаю, что еще тут можно сказать. Просто построчно код в уме выполни, он более чем достаточно прост для этого.
623 Кб, 730x2376
#486 #403574
Есть вопрос:
Зачем присваивать ссылке родителя объект наследника? Что-то вроде:
[CODE]Parent a=new Child();[/CODE]
Вот что нашел(пик).
Тут написано, что таким образом можно вызвать метод, который переопределяет метод родителя.
Так, а почему бы не написать:
[CODE]Child a=new Child();[/CODE]
Так этот метод тоже может быть вызван + у нас будут все поля унаследованные от родителя.
Поясните, пожалуйста.
81 Кб, 1280x720
#488 #403594
>>403592

> keygen.java

#489 #403612
>>403594

>анимедаун

#490 #403622
Ананасы, я сюда из си и питона пришёл. Мне нашептали, что в вашем языке нельзя в одну строчку sleep нормальный замутить, это правда? Почему меня заставляют использовать ебанутые трай кэтч конструкции для такой базовой вещи как "засни на секунду"?
#491 #403623
>>403574
Затем, чтоб был полиморфизм. В программе в одну строку он может и не нужен.
#492 #403625
>>403623
Ну и нахуй ты здесь такой нужен не могущий в документацию?
https://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html#sleep%28long%29
#493 #403626
>>403622
Ну ты же понимаешь, Маня, что за использование слипа в реальной программе тебе надо напихать хуёв за щёку?
#494 #403629
>>403626
А я сову пишу, программа днём спать должна. Прости.
#495 #403634
>>403629

>2014


>не знать про ScheduledExecutorService

#496 #403638
>>403626
А как надо?
Мимоньюфаг
#497 #403647
>>403638
Смотря где конкретно ты не можешь обойтись без слипа.
#498 #403653
>>403574
Пока на практике не сталкнешься с говном типа фабрик которые едут через фабрики или DAO, тут обьяснять трудно.
Обычно любят делать так: клепают интерфейс с базовыми методами, потом абстрактный класс с базовой реализаций типа моча-говно, потом делают конкретный класс реализацию. Если еще и фабрики подключаются, то будет ебический бардак.
#499 #403655
>>403626
Если не в основном потоке, то как-то похую.
#500 #403656
>>403622
А вам в пистон уже потоки завезли? Настоящие?
#501 #403768
>>403653

>говном типа фабрик


Нахуй пошел.
#502 #403783
>>394874
Стоит ли обмазываться Java EE 7 или лучше Spring вздрочнуть?
#503 #403787
>>403783
С какой целью интересуешься?
#504 #403788
>>403783
Spring
#505 #403802
>>403787
Нахуй иди, долбаеб
#506 #403806
>>403788
Какой фронтэнд на спринге сейчас в моде? Надеюсь, что JSP уже почил на свалке истории?
#507 #403807
>>403783
Тогда не только спринг, но и гибернейт.
#508 #403813
>>403806
Очевидно же REST API + HTML/JS
#509 #403815
>>403813
То есть MVC совсем уже никому не нужен?
#510 #403817
>>403815
Будто жсон размапливает не MVC. Не нужны разве что серверные шаблоны.
#511 #403861
>>403647
Ну хуй знает, я же ньюфаг.
Может сделать задержку перед вводом пароля в консоли против брутофорса.
Или таймер, основанный на слипе в игре какой-то.
#512 #403862
Читаю учебник для жабы и там пишут про то что компилятор найдет такие-то ошибки, но есть шанс что еще всплывут огибки в рантайме. Что за рантайм? Какая часть моего кода считается рантаймом? Все что внутри мейна?
#513 #403871
>>403862
рантайм это ошибки во время выполнения. Например ты хочешь обратиться к какому то элементу массива, а он не существует или во время выполнение у тебя получается деление на ноль. Компилятор такие ошибки не видит, они выявляются во время выполнения кода.
#514 #403873
>>403862
рантайм - runtime - время работы.
Ошибка во время работы программы. Например ты делаешь калькулятор, и ошибся с синтаксисом. Тогда компилятор выдаст ошибку - она во время сборки. Ты исправил ошибку и продал свой калькулятор.
Пользователь когда им пользовался поделил на ноль, и ему выбило ошибку - ошибку рантайма.
#515 #403875
>>403871
>>403873
Деление на ноль популярно, лол.
#516 #403878
>>403862
Рантайм - это время работы программы. Массив например переполнится, NullPointerException вылетит и т.д.
#517 #403882
#518 #403919
>>403506
>>403506
Если изначально a-2, b-6
(4, 3)+2
(8, 1)+4
(16, 0)+8
так как b==0 return 0;
Как получилось значение 14?
#519 #403935
>>403919

>mystery(a+a, b/2)+a


m(2+2,6/2)+2
(m(4+4, 3/2)+4)+2
((m(8+8, 1/2)+8)+4)+2
((0+8)+4)+2
#520 #403971
>>403935
Спасибо, теперь понятно
#521 #404043
>>403861
Thread.sleep() causes the current thread to suspend execution for a specified period.
#522 #404225
бумп
#523 #404226
Существует ли видео плеер написанный на чистом Java ?
#524 #404230
>>404225
Тред ушел в бамплиимит.
Перекатываемся.
ПЕРЕКАТ
>>404228
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 4 декабря 2014 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски