Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хочу поучавствовать в проекте за опыт. 
:(
    Опции темы
initmax
Дата 9.10.2009, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 24.7.2009

Репутация: нет
Всего: нет



Цитата(Myryan @  9.10.2009,  11:19 Найти цитируемый пост)
На одном из собеседований меня спросили код символа пробел в Аски.


Ахтунх..

А им кто нужен был справочник, или человек умеющий логически мыслить? smile
На мой взгляд необходимо уметь мыслить, а в кодовую табличку можно и подсмотреть...
Касательно нейротренинга вот сайтик бы посоветовал ТУТ


PM MAIL   Вверх
necromancer
Дата 9.10.2009, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 317
Регистрация: 26.7.2006
Где: Москва

Репутация: 6
Всего: 7



тебе уже дали проект, договаривайся с этим человеком


--------------------
С уважением, 
                 Виталий Смык
----------------------------------------------------------------------------------------------
SCJP, SCWCD, OCA
http://dev.maryno.net/video/
PM MAIL WWW ICQ Skype   Вверх
Myryan
Дата 9.10.2009, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 6.10.2009
Где: СПб

Репутация: нет
Всего: нет



ок.

Вспомнил еще одну интересную вещь. 
Спрашивали почему вот так делать не хорошо.
Код

String d = "";
for (int i = 0; i < 1000; i++) {
    d += i;
}

Получается, что при каждой следующей итерации в пуле строк создается новая строка, а ссылка на предыдущую теряется.
Но если скомпилить и посмотреть .class файл декомпилером, то код превращается:
Код

String d = "";
for(int i = 0; i < 10; i++)
    d = (new StringBuilder()).append(d).append(i).toString();
System.out.println(d);


Что ж получается, что никаких новых строк не создается, а получается одна строка, содержащее необходимое нам значение.
То есть, если мы уходим от объектной логики и используем примитивы, то, в случае со String, StringBuilder является как бы оберткой
для String? То есть происходит autoboxing для строки и пул строк остается красивым и невредимым?

Это сообщение отредактировал(а) Myryan - 9.10.2009, 12:25
PM MAIL ICQ Skype   Вверх
necromancer
Дата 9.10.2009, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 317
Регистрация: 26.7.2006
Где: Москва

Репутация: 6
Всего: 7



проблема не в создании новой строки как таковой =)  а в том что идет утечка памяти =)
и то что он автоматом подставил StringBuilder вовсе не означает,
что в реальных условиях произойдет то же самое.
ну и в целом new StringBuilder() - тоже создание объекта и помещение в него массива символов. что по сути в данном случае эквивалентно созданию новой Строки =) просто идет на 2 операции со строками меньше =)

Добавлено @ 13:10
А вообще тема профилирования это отдельная статья расходов вместе с рефакторингом =)))
Кстати вот о чем бы  я еще спросил это о Java Code Convention и Refactoring =)

А так же тенденции в использовании новых "фич" языка =)
мало кто задумывался что 
Код

    for ( Iterator<String> flavoursIter = aFlavours.iterator(); flavoursIter.hasNext(); ) {
      System.out.println( flavoursIter.next() );
    }

медленне чем
Код

 for (int i=0; i< list.size() ; i++) {
  
 }

почти в 2 раза =) ладно бы еще медленнее, так код становится менее читабельным ИМХО ;)

Это сообщение отредактировал(а) necromancer - 9.10.2009, 13:13


--------------------
С уважением, 
                 Виталий Смык
----------------------------------------------------------------------------------------------
SCJP, SCWCD, OCA
http://dev.maryno.net/video/
PM MAIL WWW ICQ Skype   Вверх
magicfly
Дата 9.10.2009, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 21.2.2007

Репутация: 1
Всего: 1



будьте добры подкиньте еще вопросов.

а так ?

Код

for (Object obj: list)
{
sysout(obj);
}


Так тоже медленно?
PM MAIL   Вверх
necromancer
Дата 9.10.2009, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 317
Регистрация: 26.7.2006
Где: Москва

Репутация: 6
Всего: 7



вместо того что бы спрашивать возьмите и замерьте и все станет ясно =)


--------------------
С уважением, 
                 Виталий Смык
----------------------------------------------------------------------------------------------
SCJP, SCWCD, OCA
http://dev.maryno.net/video/
PM MAIL WWW ICQ Skype   Вверх
Myryan
Дата 9.10.2009, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 6.10.2009
Где: СПб

Репутация: нет
Всего: нет



Вот сижу на работе делать нечего.   smile 
Решил провести эксперимент:
Код

Long begin;
        ArrayList<String> foo = new ArrayList<String>();
        begin = System.currentTimeMillis();
        for (int i = 0; i < 1000000; i++) {
            foo.add(String.valueOf(i));
        }
        System.out.println("Время добавления: " + (System.currentTimeMillis() - begin));

        begin = System.currentTimeMillis();
        for (int i = 0; i < foo.size(); i++) {
            String s = foo.get(i);
        }
        System.out.println("Время чтения(без итератора): " + (System.currentTimeMillis() - begin));

        begin = System.currentTimeMillis();
        for (Iterator<String> it = foo.iterator(); it.hasNext();) {
            String string = it.next();

        }
        System.out.println("Время чтения(c итератором): " + (System.currentTimeMillis() - begin));

        begin = System.currentTimeMillis();
        for (String s : foo) {

        }
        System.out.println("Время чтения(for each): " + (System.currentTimeMillis() - begin));


Результат говорит сам за себя. 
Время добавления: 390
Время чтения(без итератора): 16
Время чтения(c итератором): 31
Время чтения(for each): 32


Это сообщение отредактировал(а) Myryan - 9.10.2009, 16:07
PM MAIL ICQ Skype   Вверх
Shurr
Дата 12.10.2009, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 24.10.2006

Репутация: 1
Всего: 7



Цитата(magicfly @ 9.10.2009,  14:35)
а так ?
Код
for (Object obj: list)
{
sysout(obj);
}
Так тоже медленно?

Цитата(necromancer @ 9.10.2009,  14:43)
вместо того что бы спрашивать возьмите и замерьте и все станет ясно =)

А лучше все же не "взять и замерить", а "взять и почитать" на тему того, как именно работает данная конструкция, и каким боком к ней привязан интерфейс Iterable. Тогда станет понятно, должна ли она работать быстрее, или нет. 
PM MAIL   Вверх
necromancer
Дата 12.10.2009, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 317
Регистрация: 26.7.2006
Где: Москва

Репутация: 6
Всего: 7



почитать это одно =) а на практике убедиться совсем другое smile
далее вы 100% уверены что все что написано именно так и  работает? smile 
тогда вы аналитик, а не программист =)))

Это сообщение отредактировал(а) necromancer - 12.10.2009, 16:33


--------------------
С уважением, 
                 Виталий Смык
----------------------------------------------------------------------------------------------
SCJP, SCWCD, OCA
http://dev.maryno.net/video/
PM MAIL WWW ICQ Skype   Вверх
serghd
Дата 13.10.2009, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 5.10.2009

Репутация: нет
Всего: нет



какой ещё списочек вопросов? ну вы даёте. Лучшее тестирование знаний кандидата это дать ему работу и поставить сроки. Успел и хорошо сделал - значит принят. А всякими вопросами такими только психологическое давление хорошо оказывать, а полезного ничего. 
PM MAIL   Вверх
necromancer
Дата 15.10.2009, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 317
Регистрация: 26.7.2006
Где: Москва

Репутация: 6
Всего: 7



Лучшее тестирование знаний кандидата это дать ему работу и поставить сроки.
в этот момент вы как работодатель попадаете на деньги.
Есть даже такой способ аферы.
Список вопросов в первую очередь дает возможность оценить знания кандидата перед такими же безликими кандидатами.
Не будете же вы всем ставить задачи и ждать сроков smile хотя и такой способ аферы есть =)


--------------------
С уважением, 
                 Виталий Смык
----------------------------------------------------------------------------------------------
SCJP, SCWCD, OCA
http://dev.maryno.net/video/
PM MAIL WWW ICQ Skype   Вверх
fantomst
Дата 14.11.2009, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 14.11.2009

Репутация: нет
Всего: нет



Myryan, ты уже нашел себе проект?
PM MAIL   Вверх
COVD
Дата 14.11.2009, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 4
Всего: 43



Цитата

в этот момент вы как работодатель попадаете на деньги

Работодатель "попадает на деньги" в любом случае. Это бизнес. А выбрать, с кем из претендентов на вакансию рискнуть, помогает собеседование,  резюме, сертификаты с дипломами. Чрезмерное увлечение тестами иногда происходит от высокомерного недоверия к системе образования, дипломам, резюме. Иногда это средство самоутверждения для тестирующего.
PM MAIL   Вверх
Myryan
Дата 16.11.2009, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 6.10.2009
Где: СПб

Репутация: нет
Всего: нет



2fantomst: да.
PM MAIL ICQ Skype   Вверх
CaligoSpiritus
Дата 17.11.2009, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 8.12.2006

Репутация: 1
Всего: 2



Тогда темку пора и закрывать.
А я-то надеялся тебя в свой проект заполучить smile
PM WWW Skype GTalk   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0881 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.