Home
Все о Java
java@conference.jabber.ru
Четверг, 18 сентября 2014< ^ >
ne_formal установил(а) тему: Конференция для общения по тематике программирования исключительно на Java | Об этикете вопросозадавания: http://parallel.ru/cluster/smart-questions-ru.html | Документация и уроки Java http://download.oracle.com/javase/ | Библиотека примеров кода http://www.java2s.com | Хорошие книги: Брюс Эккель "Философия Java"; Кей Хорстманн, Гарри Корнелл "Java 2. Библиотека профессионала" | С JavaScript, J2ME - ищите другие конфы | Логи:  http://chatlogs.jabber.ru/java@conference.jabber.ru/ | Код бросать сюда http://paste.org.ru/ | J++ / J# / JS is not Java
Конфигурация комнаты
Участники комнаты

GMT+4
[00:01:44] aman вышел(а) из комнаты
[00:03:20] Lubagov_H вышел(а) из комнаты
[00:22:44] eaeee вошёл(а) в комнату
[01:19:16] POPSuL вышел(а) из комнаты
[01:23:58] drumond вышел(а) из комнаты
[01:25:56] madmercen вышел(а) из комнаты: offline
[01:26:03] POPSuL вошёл(а) в комнату
[01:38:18] eaeee вышел(а) из комнаты
[01:59:52] idkill вошёл(а) в комнату
[02:01:18] <idkill> ForNeVeR, я извиняюсь, а в чем pgAdmin урезает разработчика? или может он нагромождён лишним ненужным функционалом?
[02:02:02] <idkill> просто пытаюсь понять, с какой позиции его рассматривают здесь
[02:10:20] ne_formal вышел(а) из комнаты
[02:17:58] hinst вышел(а) из комнаты
[02:29:06] olgZZZ вышел(а) из комнаты
[02:33:11] valor вошёл(а) в комнату
[03:00:42] madmercen вошёл(а) в комнату
[03:51:09] madmercen вышел(а) из комнаты
[04:04:19] <ForNeVeR> idkill: да он отстойный какой-то.
[04:04:23] <ForNeVeR> Неудобный.
[04:05:03] <ForNeVeR> Я привык юзать SSMS и SQL Developer, после этих инструментов PGAdmin выглядит непривычно.
[04:29:01] madmercen вошёл(а) в комнату
[04:50:53] nt4t вошёл(а) в комнату
[05:15:36] ForNeVeR вошёл(а) в комнату
[05:24:30] freekode[e5530] вышел(а) из комнаты
[08:06:09] ne_formal вошёл(а) в комнату
[08:06:30] ne_formal вышел(а) из комнаты
[08:06:45] ne_formal вошёл(а) в комнату
[08:32:33] madmercen вышел(а) из комнаты
[08:50:17] EGD вошёл(а) в комнату
[09:12:51] ne_formal вышел(а) из комнаты
[09:29:26] Gerc вышел(а) из комнаты
[09:32:00] Manjago вошёл(а) в комнату
[09:32:28] Gerc вошёл(а) в комнату
[09:51:55] Nirdosh_ вышел(а) из комнаты
[10:06:28] valor вышел(а) из комнаты
[10:06:33] valor вошёл(а) в комнату
[10:28:22] Nirdosh_ вошёл(а) в комнату
[11:01:31] ne_formal вошёл(а) в комнату
[11:02:45] Я2R вошёл(а) в комнату
[11:05:53] POPSuL вышел(а) из комнаты
[11:07:53] Я2R вышел(а) из комнаты: Вышел из Vacuum-IM
[11:23:15] Gerc вышел(а) из комнаты
[11:40:22] Gerc вошёл(а) в комнату
[11:43:42] Я2R вошёл(а) в комнату
[11:43:48] Gerc вышел(а) из комнаты
[11:44:16] Gerc вошёл(а) в комнату
[11:53:12] freekode[e5530] вошёл(а) в комнату
[11:54:49] Я2R вышел(а) из комнаты: Вышел из Vacuum-IM
[12:20:39] Gerc вышел(а) из комнаты
[12:21:12] Gerc вошёл(а) в комнату
[12:29:02] POPSuL вошёл(а) в комнату
[12:33:14] AkiraYamaoka вошёл(а) в комнату
[12:51:33] madmercen вошёл(а) в комнату
[13:12:52] madmercen вышел(а) из комнаты
[13:36:47] Lubagov_H вошёл(а) в комнату
[13:37:00] drumond вошёл(а) в комнату
[14:02:02] freekode[e5530] вышел(а) из комнаты: Replaced by new connection
[14:02:03] freekode[e5530] вошёл(а) в комнату
[14:39:51] TemkaS вышел(а) из комнаты
[14:44:50] TemkaS вошёл(а) в комнату
[14:50:00] TemkaS вышел(а) из комнаты
[14:50:57] TemkaS вошёл(а) в комнату
[14:53:12] eaeee вошёл(а) в комнату
[14:53:47] eaeee вышел(а) из комнаты
[15:07:37] tw вошёл(а) в комнату
[15:08:10] <tw> посоны, кто-нибудь андроид+опенжл делол?
[15:08:25] <tw> (ес2.0)
[15:08:35] idkill вышел(а) из комнаты
[15:08:56] <ne_formal> да, кто-нибудь делол.
[15:09:40] <tw> у меня что-то лютейшим образом операции в GLThread лочат main ui thread
[15:09:53] <tw> особливо если их делать в методе onSurfaceCreated
[15:09:59] <ne_formal> лул
[15:10:04] <tw> лiл
[15:16:16] Gerc вышел(а) из комнаты
[15:16:38] Gerc вошёл(а) в комнату
[15:31:00] freekode[e5530] вышел(а) из комнаты
[15:38:23] AkiraYamaoka вышел(а) из комнаты
[15:42:56] Я2R вошёл(а) в комнату
[15:43:26] Gerc вышел(а) из комнаты
[15:43:54] Gerc вошёл(а) в комнату
[15:44:07] Я2R вошёл(а) в комнату
[15:44:22] Я2R вышел(а) из комнаты
[15:45:02] Gerc вышел(а) из комнаты
[15:45:28] Gerc вошёл(а) в комнату
[15:46:34] Я2R вышел(а) из комнаты: Вышел из Vacuum-IM
[15:48:49] Nirdosh_ вышел(а) из комнаты
[15:53:56] ForNeVeR вышел(а) из комнаты: Disconnected: Replaced by new connection
[15:53:57] ForNeVeR вошёл(а) в комнату
[15:54:37] Gerc вышел(а) из комнаты
[15:55:07] Gerc вошёл(а) в комнату
[15:56:00] Gerc вышел(а) из комнаты
[15:56:20] Gerc вошёл(а) в комнату
[15:58:00] Gerc вышел(а) из комнаты
[15:58:29] Gerc вошёл(а) в комнату
[15:58:56] Gerc вышел(а) из комнаты
[15:59:26] Gerc вошёл(а) в комнату
[15:59:46] Gerc вышел(а) из комнаты
[16:00:15] Gerc вошёл(а) в комнату
[16:01:49] Gerc вышел(а) из комнаты
[16:02:42] Gerc вошёл(а) в комнату
[16:03:25] Gerc вышел(а) из комнаты
[16:03:42] Gerc вошёл(а) в комнату
[16:04:34] Gerc вышел(а) из комнаты
[16:05:10] Gerc вошёл(а) в комнату
[16:05:38] Gerc вышел(а) из комнаты
[16:06:06] Gerc вошёл(а) в комнату
[16:07:06] Gerc вышел(а) из комнаты
[16:07:47] Gerc вошёл(а) в комнату
[16:08:26] Gerc вышел(а) из комнаты
[16:08:53] Gerc вошёл(а) в комнату
[16:09:37] Gerc вышел(а) из комнаты
[16:10:23] Gerc вошёл(а) в комнату
[16:11:24] Gerc вышел(а) из комнаты
[16:11:48] Gerc вошёл(а) в комнату
[16:13:02] Gerc вышел(а) из комнаты
[16:13:26] Gerc вошёл(а) в комнату
[16:14:32] Gerc вышел(а) из комнаты
[16:14:56] Gerc вошёл(а) в комнату
[16:15:57] Gerc вышел(а) из комнаты
[16:16:22] Gerc вошёл(а) в комнату
[16:22:47] olgZZZ вошёл(а) в комнату
[16:38:53] <POPSuL> Форневерк ^__^
[16:39:07] <ForNeVeR> >_<
[16:51:24] Nirdosh_ вошёл(а) в комнату
[17:05:16] idkill вошёл(а) в комнату
[17:08:24] <idkill> ForNeVeR, приветы... копаю форумы, хочу огромный цикл for за счет нескольких потоков ускорить... случайно не владеешь подобного рода дзеном?
( http://stackoverflow.com/questions/19749136/java-multithreading-one-big-loop )
[17:09:40] <idkill> я всё пытаюсь скурить эту статью, но она решение кажется громоздким и не совсем подходящим в моём случае...
[17:10:10] <ForNeVeR> idkill: а какие проблемы-то? Бери ExecutorService да юзай.
[17:10:15] <idkill> ибо я делаю парсинг, а линия получается не на 100% нагружена
[17:10:30] <idkill> имеется в виду интернет
[17:10:35] <ForNeVeR> В scala с этим получше, конечно - есть из коробки.
[17:10:58] <ForNeVeR> idkill: с интернетом более правильно, имхо, переписать сетевую работу на nio. Там были select/poll.
[17:11:18] <ForNeVeR> У тебя где затык - в IOили в CPU?
[17:12:14] <idkill> в нагрузке на линию. IO
[17:13:09] <ForNeVeR> Что такое "линия"?
[17:13:13] <idkill> для мультипоточного парсинга, наскок я понимаю, не нужен octa-core. обычного амд хватит
[17:13:22] <idkill> ForNeVeR, bandwith
[17:13:24] <ForNeVeR> Если у тебя полностью сеть забита - то всё, хрен ты чего сделаешь.
[17:13:43] <idkill> ща гляну еще раз загрузку линии
[17:13:54] <ForNeVeR> А если забиты только сетевые подключения тех, кого ты окучиваешь - это другой разговор.
[17:13:57] <idkill> однако ты прав
[17:14:10] <ForNeVeR> Тогда ты можешь одновременно двоих окучить, например.
[17:15:11] <idkill> ForNeVeR, ща вот точно вижу что 3 таких потока можно запустить
[17:15:18] <ForNeVeR> ...и тогда будет профит даже от примитивной многопоточности на ExecutorService, даже без переписывания на nio.
[17:15:49] idkill курит ExecutorService
[17:15:59] <ForNeVeR> idkill: ну ок, заведи себе экземпляр ExecutorService, шедуляй в него свои задачи, а они пускай потом в какое-нибудь общее место складываются.
[17:16:20] <ForNeVeR> К сожалению, я не могу более конкретными терминами пояснить, ведь у тебя кода нету и нифига вообще.
[17:16:33] <idkill> я твои термины понимаю на 100%.
[17:16:38] <ForNeVeR> Будь осторожен с блокировками - используй synchronized etc. по необходимости.
[17:16:56] <idkill> благодарю
[17:17:18] <ForNeVeR> idkill: ну прост я бы предпочёл по хардкору пояснить - мол, вот тело вот этого цикла заверни в runnable, вот в этот массив клади под блокировкой, ну и т.п.
[17:17:43] <ForNeVeR> Ну ладно, ты запили начальную имплементацию какую-нибудь, а потом можешь показывать, если проблемы будут - разберёмся.
[17:17:57] idkill последний раз с многопоточными парсингами игрался на python версии 2.х полтора года назад. с тех пор ничего кроме интеграции сервисов на VB.NET не делал гыг
[17:18:11] <ForNeVeR> Главное, будь осторожен - многопоточность опасна.
[17:18:25] <ForNeVeR> Пыхтон и многопоточность. Ой, развеселил! Ой, насмешил!
[17:18:38] <idkill> это действительно смешно )
[17:18:53] <ForNeVeR> Программисты на Java действительно смеются над шутками про питон.
[17:19:01] <idkill> если чо это было не веб приложения
[17:19:08] <idkill> *приложение
[17:19:25] <ne_formal> ForNeVeR, поэтому питон в топе tiobe, а джява валится в безызвестность?
[17:19:30] <ForNeVeR> Да без разницы, по-моему. Всё одинаково параллелится.
[17:19:32] <idkill> там еще использовал GTK... ну и гуй делается с евентами - кругом сплошные треды
[17:19:54] <ForNeVeR> ne_formal: ну да, разумеется. Известен ли хоть один случай, чтобы миллион мух ошибся?
[17:20:09] <ne_formal> ForNeVeR, ни одного.
[17:20:16] <ForNeVeR> Ты совершенно прав.
[17:20:23] <ne_formal> я знаю.
[17:20:25] <ne_formal> а ты нет.
[17:20:36] <ForNeVeR> Да, ты прав, когда говоришь, что я неправ.
[17:20:40] <ForNeVeR> Это утверждение ложно.
[17:20:51] <ne_formal> слив засчитан.
[17:20:59] <ForNeVeR> ne_formal: (но вообще-то это же жаба в топе tiobe)
[17:21:00] ne_formal умничка
[17:21:08] <ne_formal> ForNeVeR, я давно не смотрел :3
[17:21:18] <ForNeVeR> Питон ни разу не обгонял жабу.
[17:21:25] <ne_formal> не, было. я помню.
[17:21:30] <ForNeVeR> Она с сишечкой там бодалась за первое место всегда.
[17:21:32] <ne_formal> лет 5-6 назад.
[17:21:44] <ForNeVeR> ne_formal: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
[17:22:14] <ForNeVeR> По графикам за последние 12 лет только плюсы один раз, возможно, обгоняли, ну и C.
[17:22:48] <ForNeVeR> Пыхотон в полной заднице всегда был. Модные парни пишут нынче на ObjC.
[17:22:51] <ne_formal> хз, может это усреднённые значения.
[17:22:58] <ForNeVeR> Слив засчитан.
[17:24:02] <idkill> бгг
[17:24:30] <ne_formal> ForNeVeR,
Programming language Python has become programming language of 2010. This award is given to the programming language that gained most market share in 2010. Python grew 1.81% since January 2010. This is a bit more than runner up Objective-C (+1.63%). Objective-C was favorite for the title for a long time thanks to the popularity of Apple's iPhone and iPad platforms. However, it lost too much popularity the last couples of months.
[17:24:53] <Manjago> Забавный ресурс tiobe. А что, это что-то такое известное и авторитетное?
[17:25:11] <ne_formal> это стата по запросам в гуглах
[17:25:25] <ne_formal> кто в топе, о том больше пишут и спрашивают
[17:27:06] <ForNeVeR> Писькомерка популярная.
[17:27:17] <ForNeVeR> Показательность этих рейтингов - вопрос дискуссионный.
[17:27:22] ~ArchimeD~ вышел(а) из комнаты
[17:28:49] tw вышел(а) из комнаты
[17:36:16] ~ArchimeD~ вошёл(а) в комнату
[17:40:09] Manjago вышел(а) из комнаты: http://temnenkov.ru/contacts/
[17:40:20] <idkill> ForNeVeR, http://examples.javacodegeeks.com/core-java/util/concurrent/executorservice/java-executorservice-example-tutorial/
вот в этом примере private static Future taskThree = null; напомнило мне делегаты из C#
[17:41:26] <idkill> executor.execute(taskOne);
какая-то аналогия прям прослеживается
[17:42:32] <idkill> единственное - он вместо добавления конкретного метода в "делегат" навешивает ему какую-то лапшу в виде
taskTwo = executor.submit(new MyThread("TaskTwo", 4, 200));
[17:43:15] <idkill> new MyThread(...)... мда. че-то пока что вижу мало места для манёвра
[17:43:41] <ForNeVeR> idkill: можно же анонимные типы.
[17:43:47] <ForNeVeR> А если у тебя Java8 - то и лямбды тоже.
[17:44:01] <idkill> (когда в первые сталкиваешься - приходится как в матане много в уме держать)
[17:44:05] <idkill> да, ява 8
[17:44:15] <idkill> с лямбдами я в шарпе ка раз работал!
[17:44:20] <ForNeVeR> Ну вот и отлично, юзай лямбды и в хвост, и в гриву!
[17:44:36] <idkill> то есть сразу new () {}
[17:44:43] <idkill> :)
[17:45:00] <ForNeVeR> () -> new Shit() же
[17:45:04] <ForNeVeR> Или как там? Вроде бы так.
[17:45:21] ForNeVeR пока что только приценивался к сим лямбдам.
[17:45:36] <idkill> ну в общем да ) я просто примерно написал... обычно за конкретикой лезу опять же на те же форумы =)
[17:52:56] Nirdosh_ вышел(а) из комнаты
[18:13:15] Gerc вышел(а) из комнаты
[18:13:45] anton0xf вышел(а) из комнаты
[18:13:46] Gerc вошёл(а) в комнату
[18:13:51] anton0xf вошёл(а) в комнату
[18:29:27] <idkill> ForNeVeR, слушай, а как for сочетать с этим всем?
[18:29:37] <idkill> собственно если запустить for внутри треда...
[18:29:47] Dema вошёл(а) в комнату
[18:29:57] <ForNeVeR> idkill: в первом приближении for должен сложить задачки в экзекьютор.
[18:30:00] Nirdosh_ вошёл(а) в комнату
[18:30:06] <ForNeVeR> То есть он снаружи, а не внутри.
[18:30:08] <idkill> у меня короче 160 с хреном тысяч страниц, которые нужно обработать
[18:30:41] <ForNeVeR> А потом уже оптимизируешь, занося небольшие циклы внутрь экзекьютора. Но я бы даже на таких смешных цифрах запариваться не стал.
[18:30:54] <idkill> возникала бональнейшая идея внутри фора делать i++ 3 раза и запускать потоки
[18:31:07] <idkill> причем понимаю что явно бредовая
[18:33:50] <Gerc> Executor и AcyncTask в андроиде всеравно блочат Ui
[18:35:39] rexim вошёл(а) в комнату
[18:39:39] <idkill> ForNeVeR, как сложить задачи в executor я понял... не совсем понимаю что делать с фором... блин, дичайше извиняюсь
[18:43:18] <idkill> for от 1 до 3 может набросать задачи в екзекютор. 3 задачи
[18:44:45] <ForNeVeR> idkill: а ты сделай фор от 1 до 160000.
[18:45:09] <ForNeVeR> И он накидает туда... 159999 задач!
[18:45:17] <ForNeVeR> Почти то, что нужно.
[18:45:31] <ForNeVeR> idkill: размер пула можешь поставить равный трём, это в экзекьюторе ставится, если что.
[18:45:44] <ForNeVeR> Я не шучу - серьёзно, попробуй сразу зашедулить все задачи, а там уж разберёмся.
[18:46:17] <ForNeVeR> В любой непонятной ситуации выскакивай с саблей наперевес, кони в одну сторону, белогвардейцы - в другую, головы - в третью!
[18:46:43] <ForNeVeR> Глядь - задача уже выполнена, а ты ещё даж и не вспотел.
[18:47:36] <idkill> ForNeVeR, смотри что я обрабатываю... есть страница поиска с максимум 50 результатов на 1 страницу http://stackoverflow.com/questions?pagesize=50&sort=newest
[18:47:42] <idkill> и я листаю с конца
[18:48:15] <idkill> а да!!! в стек навалять вызовов...
[18:57:04] <idkill> ForNeVeR, я извиняюсь...
ExecutorService executor = Executors.newFixedThreadPool(2);
по сути создаст 2 потока... это мы здесь создаем 160 тысяч?
[18:57:31] <ForNeVeR> idkill: да, два потока, а ты туда херни 160 тыщ задач.
[18:57:53] <ForNeVeR> Первый, кто освободится, берёт первую задачу из очереди.
[18:58:08] <idkill> создаю 3 потока... как раз загрузить линию
[18:59:26] ne_formal вышел(а) из комнаты
[18:59:51] <ForNeVeR> Ну да, не два, а три. Я перепутал.
[19:02:22] <idkill> сделаю перекур, пожалуй, на этом месте.
[19:03:44] <idkill> о, не успел сделать перекур, уже допёр что нужно создать массив Runnable и инициализировать лямбдами.
[19:03:45] <idkill> ура
[19:16:53] EGD вышел(а) из комнаты: Отключён
[19:20:46] <idkill> ForNeVeR, http://hastebin.com/uyijudanoh.coffee
[19:21:20] <idkill> не могу понять почему он ругается что я использую i
[19:21:46] <idkill> local variables referenced from a lambda expression must be final or effectively final
[19:21:54] <ForNeVeR> idkill: код не смотрел, final i
[19:22:11] <idkill> это i переменная счетчик цикла for
[19:23:51] <ForNeVeR> А, ну тогда да, нельзя её замыкать.
[19:24:04] <ForNeVeR> Если б было можно, как в C# - всё бы херово сработало всё равно.
[19:25:29] <idkill> а как мне счетчик передать? в принципе можно создать while c внешним final int _to = 160 тысяч
[19:26:35] <ForNeVeR> idkill: можешь сделать final j = i внутри тела цикла.
[19:27:05] <idkill> излишне
[19:27:08] <ForNeVeR> Шото я уже не могу сообразить, как тут по-нормальному делается. Сонный немножко стал.
[19:27:09] <idkill> и запутанно
[19:27:18] <idkill> да эт норм.
[19:29:43] Gerc вышел(а) из комнаты
[19:31:05] Gerc вошёл(а) в комнату
[19:32:10] <idkill> ForNeVeR, j = i  тоже ругается что i не финал
[19:32:13] <idkill> ))
[19:33:00] <ForNeVeR> idkill: покажи код.
[19:33:38] <idkill> http://hastebin.com/ovezomehox.coffee код уже переделал undo обратно
[19:37:39] hinst вошёл(а) в комнату
[19:43:40] <Gerc> idkill,  final int finalI = i;
            executor.submit(()
[19:45:09] <idkill> Gerc, такое пробовал. не работает. дело в том что в начале цикла фор ему будет каждый раз то же самое число назначаться
[19:45:28] <idkill> Gerc, http://stackoverflow.com/questions/23451579/java-8-lambda-within-a-lambda-cant-modify-variable-from-outer-lambda вот какой то вариант непонятный. еще не осуществил
[19:47:07] <idkill> ForNeVeR, как вариант можно передавать теоритически в параметры анонимной функции этот "i"
[19:47:24] <idkill> но выскочила другая хрень. ладно. курим дальше
[19:47:35] <Gerc> idkill, а если все что в executor.submit(() вынести в отдельный метод?
[19:47:50] <Gerc> и передавать i
[19:48:07] <idkill> Gerc, пардон. уже так быстро не соображаю. ща попробую и твою версию курнуть
[19:48:45] <Gerc> вместе с executor.submit(() выносить
[19:54:49] Dema вошёл(а) в комнату
[19:58:00] <idkill> Gerc, не совсем понимаю что и как вынести
[19:59:48] <Gerc> idkill, http://hastebin.com/devenenohi.coffee
[20:06:16] <idkill> Gerc, http://hastebin.com/obejonosoy.coffee все почти хорошо. но вынесенная функция находится в функции
[20:07:13] Gerc вышел(а) из комнаты: Replaced by new connection
[20:07:15] Gerc вошёл(а) в комнату
[20:09:14] <idkill> а вот если передавать executor не как обычную переменную... а по ссылке
[20:09:40] <Gerc> idkill, ну так void job вынеси за пределы void main
[20:11:23] <idkill> Java is always pass-by-value. The difficult thing can be to understand that Java passes objects as references and those references are passed by value.
[20:11:46] <idkill> я нифига не понял ) лол
[20:12:26] nt4t вышел(а) из комнаты
[20:13:19] <idkill> вот сделал переменную как static... больше netbeans ничего не подчеркивает
[20:13:36] <idkill> но отсутствие passing a parameter by reference - меня очень пугает
[20:13:48] <idkill> или можно и без этой фичи работать?
[20:16:09] ne_formal вошёл(а) в комнату
[20:16:22] <idkill> ForNeVeR, ГОТОВО !
[20:16:27] <idkill> в 3 раза быстрее всё пошло
[20:16:53] <ForNeVeR> Ну вот видишь, а ты боялся :3
[20:17:38] <idkill> http://pastebin.com/UZpuEuSk вот полный листинг говнокода
[20:18:10] <anton0xf> idkill: https://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_sharing
[20:21:13] <idkill> anton0xf, в теории весьма позитивно. а на яве пример можно увидеть?
[20:21:43] <idkill> пока что вижу питон
[20:25:07] <idkill> ладно, извиняюсь. уже тоже совсем сплю. перечитаю Evaluation_strategy#Call_by_sharing  утром
[20:26:49] <anton0xf> какой пример? может так понятнее будет (в сишной терминологии): примитивные типы передаются по значению, а ссылочные по ссылке.
ну или так: примитивные типы при вызовах копируются, а для ссылочных копируется только ссылка на объект, а не он сам, и производимые в нем изменения будут видны извне.
[20:35:11] <idkill> anton0xf, в целом понятно. http://cybern.ru/java-reference-type.html
[20:35:15] <idkill> премного благодарен
[20:42:59] madmercen вошёл(а) в комнату
[20:43:23] madmercen вышел(а) из комнаты
[20:43:38] madmercen вошёл(а) в комнату
[20:44:12] madmercen вышел(а) из комнаты
[20:45:46] madmercen вошёл(а) в комнату
[21:14:49] eaeee вошёл(а) в комнату
[21:18:13] eaeee вышел(а) из комнаты
[21:31:55] Akon32 вошёл(а) в комнату
[22:02:15] madmercen вышел(а) из комнаты
[22:29:12] rexim вышел(а) из комнаты
[22:31:30] aman вошёл(а) в комнату
[22:34:26] Gerc вышел(а) из комнаты
[22:52:06] Gerc вошёл(а) в комнату
[22:56:27] Dema вышел(а) из комнаты
[22:59:16] aman вышел(а) из комнаты
[23:31:18] POPSuL вышел(а) из комнаты
[23:46:16] Akon32 вышел(а) из комнаты
[23:58:14] ForNeVeR вышел(а) из комнаты
[23:58:14] ForNeVeR вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!