![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| makados |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 2.10.2007 Где: Киев Репутация: нет Всего: 1 |
||||
|
||||
| Vurn |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 24.5.2007 Репутация: 2 Всего: 3 |
Java значительно быстрей Delphi, наравне с C#, C++, примерно на 20% медленней С.
|
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
||||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
опять за свое взялись...
|
|||
|
||||
| makados |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 2.10.2007 Где: Киев Репутация: нет Всего: 1 |
||||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Это сообщение отредактировал(а) powerOn - 17.11.2007, 22:27 |
|||
|
||||
| Elfix |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 13.7.2005 Репутация: нет Всего: нет |
В Java нет конструкции with. Она бывает очень удобной в некоторых случаях. Всегда можно создать экземпляр класса, но при этом не иметь ссылку на него, но тем не менее работая с ним неоднократно. Пример:
Зато потерять ссылку на такой объект, все равно что сделать ошибку в программе - ресурсы за нас никто не освободит. В Java же есть сборщик мусора. Опять же, наверно не понимаю как он работает, но я бы предпочел сам ресурсы освобождать, чем ждать когда за меня это сделает машина. Пример. Класс имеет поле типа массив. Массив содержит несколько тысяч записей. После работы с этими записями (сортировка, уничтожение дубликатов, устранение орфографических ошибок и т. д.) класс сохранит записи в файл и так и будет висеть в памяти, пока его не уничтожит мусорщик. Вопрос только в том, когда он захочет уничтожить такой огромный кусок памяти? А вдруг в тот момент, когда программа будет записывать информацию в базу данных и для юзера максимально быстрая ее запись туда является жизненно необходимой? |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
вызови gc сам и не жди. Добавлено через 34 секунды
в оооочень некоторых.а вообще от неё больше зла. |
|||
|
||||
| AlexeyVorotnikov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 10 Всего: 18 |
В Java невозможно принудительно вызвать GC. Это сообщение отредактировал(а) AlexeyVorotnikov - 18.11.2007, 12:01 -------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
| Elfix |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 13.7.2005 Репутация: нет Всего: нет |
Согласен, я with'ом пользуюсь крайне редко, в основном кода собираю мусор в исходниках группирую элементы в with для красоты. Только видишь, в Delphi я могу ими пользоваться, а могу и не пользоваться. У меня есть право выбора. То же касается и свойств. В Java же права выбора у меня нет. Не могу сказать плохо это или хорошо. Я сам себе разработчик, мне плохо, а те, кто работает в команде наверно только рады, что вариантов игры с кодом теперь меньше и будет легче понимать своих коллег. |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
||||
|
||||
| nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Извиняюсь, за офтоп, но вынужден напомнить прописную истину - вызов System.gc() не обязует Garbage Collector провести немедленную принудительную сборку мусора. Этот вызов всего лишь сообщает GC, что программист в этот момент хотел бы провести очистку памяти. GC же волен вообще проигнорировать сие пожелание. Когда переходишь на джаву с С++ (ну или хотя бы с дельфи), очень недостаёт возможности очищать память самостоятельно по желанию. С другой стороны, намного меньше (имхо, порядка на два) возникает ошибок с утечкой памяти, т.к. не приходится пытаться запомнить все случаи, когда объекты создавались динамически, а потом ещё и стараться отследить все ситуации, когда эти объекты перестают быть нужны. Принимая общую идеологию джавы довольно быстро привыкаешь к GC и учишься по возможности не создавать гигабайтных массивов данных. К тому же, если хорошенько подумать, можно догадаться до того, что такие объёмы в памяти требуются крайне редко. В основном, на крупных серверных системах. Но, уж извините, крупные сервера - на то и крупные, чтобы быть мощнее десктопов и уметь справляться с повышенными нагрузками. Хотя и там лучше заменить прямую работу с данными в памяти на работу с БД, файлами или ещё чем - в зависимости от нужд программы. Добавлено через 9 минут и 29 секунд
Может, тогда стоит обратить внимание на ассемблер? Вот уж где наибольшая свобода. А про медленность разработки на нём особо не рассказывайте - при наличии необходимых библиотек (алгоритмы, работа с сетью и много чего ещё) писать можно практически с той же скоростью, что и на других языках. По поводу "плохо или хорошо". Джава такая, какая есть. Потому она и джава. Хочется свойств - дельфи или билдер (кстати, в вижуале свойств не было - это борланд придумал для популяризации; сами по себе свойства удобны, но код становится непереносимым на другие компиляторы, что редко радует; хотя, микрософт тоже любит делать свои диалекты). Мораль: у каждой технологии своя ниша. И свои поклонники. И фанаты. Наиболее правильно - разобраться с технологией и научиться её использовать в подходящих местах. Да, есть джава-машина реального времени. Но лично я для работы в реальном масштабе времени выберу си, либо ассемблер. Чтобы наверняка не "проколоться". -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
| Elfix |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 13.7.2005 Репутация: нет Всего: нет |
|
||||
|
|||||
| serger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 19.6.2007 Где: Ижевск Репутация: 1 Всего: 5 |
Люди, имейте совесть!!! Вылазит чел и Delphi форума и понеслось.. Каждому своё!!! ВААЩЕ сравнение языков во многом бесмысленно. Язык определяет мышление, а в этом контексте сравнивать практически не возможно. Задачи на разных языках мб совершенно по-разному реализованы. Если ты силён в чём-то, то смысл дрейфовать туда-сюда следя за модой? Или ты спец в одном деле или "ванька-встанька" (хотя иметь общее представление всё равно не помешает). А если уж переходишь, то лучше отбросить все предыдущие навыки на время, и начать с азов, чтобы не охать и ахать, почему тут так, а там было так! Или мне не удобно, потомучто привык так! Это сообщение отредактировал(а) serger - 19.11.2007, 08:42 -------------------- упс! |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |