Как вы лечите свою жабу?

User avatar
M. Ridcully
Уже с Приветом
Posts: 12017
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Как вы лечите свою жабу?

Post by M. Ridcully »

Интеррапт wrote:до Java 7 (вернее даже до какого-то из апдейтов к Java 7) при вызове substring - новая строка использовала символьный буфер (char[]) от родительской строки (за счет использования offset/count полей в String). В новых версиях семерки (включая Java 8 ес-но тоже) - offset/count поля вообще убрали и теперь substring всегда создает копию символьного буфера. В большинстве случаев это конечно хорошо для memory consumption...
Быть может, дело не только (не столько?) в memory consumption, но в multithreading - скопировал и голова не болит по поводу синхронизации, кэшей и т.д.?

(К Java никакого отношения не имею, так, исключительно догадка из общих соображений.)
Мир Украине. Свободу России.
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Как вы лечите свою жабу?

Post by Интеррапт »

M. Ridcully wrote: Быть может, дело не только (не столько?) в memory consumption, но в multithreading - скопировал и голова не болит по поводу синхронизации, кэшей и т.д.?

(К Java никакого отношения не имею, так, исключительно догадка из общих соображений.)
Строки в Java immutable, так что мультипоточность, включая синхронизацию, тут никаким боком. Так что нет, догадка не верна.
Там еще были хитрые проблемы с substring и memory leak (ну почти memory leak), например, у вас очень длинная временная строка (скажем, из файла прочли) на 5 мегабайт. Вы ей делаете substring на 10 символов и выносите результат в долгоживущий class member. Временная строка выходит из области видимости (т.е. должна быть кандидатом на garbage collection). А фиг, буфер от этой строки остается в памяти, так как на него теперь ссылается новый строковой обьект. Получается, что вы думаете, что ваш обьект держит в памяти 10 символов, а он держит все 5 мегабайт.
А теперь читаем 100 файлов по 5 мегабайт каждый. Каждый файл уходит в строку, каждой строке делается substring на 10 символов, этот substring возвращает новый строковой обьект, который мы (для наших нужд) заносим в хеш таблицу. Думаем, что пару килобайт в памяти держим, а на самом деле эта хеш таблица будет удерживать пол гигабайта.
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Как вы лечите свою жабу?

Post by Сабина »

Забавно что в такой теме дошел разговор и о подробностях Джавы :)
https://www.youtube.com/watch?v=wOwblaKmyVw
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Как вы лечите свою жабу?

Post by Интеррапт »

Сабина wrote:Забавно что в такой теме дошел разговор и о подробностях Джавы :)
Ну ОК, ОК, не буду больше оффтопить.
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Как вы лечите свою жабу?

Post by Сабина »

Интеррапт wrote:
Сабина wrote:Забавно что в такой теме дошел разговор и о подробностях Джавы :)
Ну ОК, ОК, не буду больше оффтопить.
Too late now :umnik1: I am afraid this is already something like .... -0.5 + (-0.5) = - 1
https://www.youtube.com/watch?v=wOwblaKmyVw
Zorkus
Уже с Приветом
Posts: 6969
Joined: 26 Feb 2011 17:40

Re: Как вы лечите свою жабу?

Post by Zorkus »

Мое мнение (без малейших понтов, просто трезвая оценка) - если вы чтобы найти работу ищете ее, вас зовут на собеседование, куда вы приходите, там вас спрашивают несколько из "десятка два типовых задач", вы пишете на доске код, и потом отвечаете на вопросы по нему - тест на реального кабана вы уже провалили :( Я, например, проваливаю его.
User avatar
Ljolja
Уже с Приветом
Posts: 2924
Joined: 01 Apr 2004 04:22

Re: Как вы лечите свою жабу?

Post by Ljolja »

Zorkus wrote:Мое мнение (без малейших понтов, просто трезвая оценка) - если вы чтобы найти работу ищете ее, вас зовут на собеседование, куда вы приходите, там вас спрашивают несколько из "десятка два типовых задач", вы пишете на доске код, и потом отвечаете на вопросы по нему - тест на реального кабана вы уже провалили :( Я, например, проваливаю его.
и не хожу на интервью, где надо писать код на доске и отвечать на ?? по нему :D . Тест "на реального кабана", когда вас приглашают в ресторан (хороший) говорят о том о сем, ну и о задаче, кот. требуется решить и спрашивают: "what do you think about?"
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)
Zorkus
Уже с Приветом
Posts: 6969
Joined: 26 Feb 2011 17:40

Re: Как вы лечите свою жабу?

Post by Zorkus »

Ljolja wrote:
Zorkus wrote:Мое мнение (без малейших понтов, просто трезвая оценка) - если вы чтобы найти работу ищете ее, вас зовут на собеседование, куда вы приходите, там вас спрашивают несколько из "десятка два типовых задач", вы пишете на доске код, и потом отвечаете на вопросы по нему - тест на реального кабана вы уже провалили :( Я, например, проваливаю его.
и не хожу на интервью, где надо писать код на доске и отвечать на ?? по нему :D . Тест "на реального кабана", когда вас приглашают в ресторан (хороший) говорят о том о сем, ну и о задаче, кот. требуется решить и спрашивают: "what do you think about?"
На совсем позорные интервью стараюсь не ходить, а так конечно хожу. Куда еще деваться, чтоб стать реальным кабаном? Поработать в команде с признанными кабанами надо.
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Как вы лечите свою жабу?

Post by Сабина »

Ljolja wrote: и не хожу на интервью, где надо писать код на доске и отвечать на ?? по нему :D . Тест "на реального кабана", когда вас приглашают в ресторан (хороший) говорят о том о сем, ну и о задаче, кот. требуется решить и спрашивают: "what do you think about?"
круто :great:
Срочно научите как дожить до жизни такой.
Что делать ?
https://www.youtube.com/watch?v=wOwblaKmyVw
User avatar
dotcom
Уже с Приветом
Posts: 9035
Joined: 25 Oct 2011 19:02
Location: SVO->ORD->SFO

Re: Как вы лечите свою жабу?

Post by dotcom »

Ljolja wrote: и не хожу на интервью, где надо писать код на доске и отвечать на ?? по нему :D . Тест "на реального кабана", когда вас приглашают в ресторан (хороший) говорят о том о сем, ну и о задаче, кот. требуется решить и спрашивают: "what do you think about?"
В ресторан кабанов не приглашают, они созданы решать конкретные задачи. На доске, за клавиатурой, в голове или еще как и чем - не важно. А на отвлеченные вопросы может любой поросенок ответить, главное чтобы хрюкалка работала складно. :umnik1:
User avatar
Ljolja
Уже с Приветом
Posts: 2924
Joined: 01 Apr 2004 04:22

Re: Как вы лечите свою жабу?

Post by Ljolja »

Сабина wrote:
Ljolja wrote: и не хожу на интервью, где надо писать код на доске и отвечать на ?? по нему :D . Тест "на реального кабана", когда вас приглашают в ресторан (хороший) говорят о том о сем, ну и о задаче, кот. требуется решить и спрашивают: "what do you think about?"
круто :great:
Срочно научите как дожить до жизни такой.
Что делать ?
ну начать с того, что бы доводить начатое до конца. Потом переходить к решению задач с которыми другие не справились :wink:
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)
MG14
Уже с Приветом
Posts: 1475
Joined: 14 Sep 2008 01:22

Re: Как вы лечите свою жабу?

Post by MG14 »

Сабина wrote:
Ljolja wrote: и не хожу на интервью, где надо писать код на доске и отвечать на ?? по нему :D . Тест "на реального кабана", когда вас приглашают в ресторан (хороший) говорят о том о сем, ну и о задаче, кот. требуется решить и спрашивают: "what do you think about?"
круто :great:
Срочно научите как дожить до жизни такой.
Что делать ?
И вы тоже говорите (с)
MG14
Уже с Приветом
Posts: 1475
Joined: 14 Sep 2008 01:22

Re: Как вы лечите свою жабу?

Post by MG14 »

dotcom wrote:
Ljolja wrote: и не хожу на интервью, где надо писать код на доске и отвечать на ?? по нему :D . Тест "на реального кабана", когда вас приглашают в ресторан (хороший) говорят о том о сем, ну и о задаче, кот. требуется решить и спрашивают: "what do you think about?"
В ресторан кабанов не приглашают, они созданы решать конкретные задачи. На доске, за клавиатурой, в голове или еще как и чем - не важно. А на отвлеченные вопросы может любой поросенок ответить, главное чтобы хрюкалка работала складно. :umnik1:
Настоящий кабан знает что "теста на кабана" нет. И не парится по этому поводу.
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Как вы лечите свою жабу?

Post by Сабина »

перепутала темы упс :oops:
Last edited by Сабина on 19 Jan 2014 21:46, edited 1 time in total.
https://www.youtube.com/watch?v=wOwblaKmyVw
User avatar
Sergunka
Уже с Приветом
Posts: 34164
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Как вы лечите свою жабу?

Post by Sergunka »

Ljolja wrote:Потом переходить к решению задач с которыми другие не справились :wink:
Приведите хоть один пример такой задачи?
"A patriot must always be ready to defend his country against his government." Edward Abbey

Return to “Работа и Карьера в IT”