Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2011, 01:07   #1
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
Смущение Глупый вопрос по Java

Здравствуйте. С JAVA дел не имел никогда, решил разузнать, что он из себя представляет. Читаю на вики, по ходу дела возникают вопросы, помогите разобраться:
Цитата:
Программы на Java транслируются в байт-код, выполняемый виртуальной машиной Java (JVM) — программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор.
Т.е. это значит что на компьютере конечного пользователя обязательно должна стоять JVM? А сама программа компилируется не в формат .ехе(Для Windows), а в jar(или что там эта JVM кушает) и никак иначе?
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 08.07.2011, 01:10   #2
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Именно. Java является не компилируемым, а интерпретируемым языком программирования по своей сути. Кстати, именно благодаря этому свойству все программы на Java кроссплатформенные (поскольку существуют реализации JVM для разных систем).
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 08.07.2011, 01:18   #3
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Цитата:
Java является не компилируемым, а интерпретируемым языком программирования по своей сути.
Тогда сразу вопросы в лоб:
Раз
1) Интерпретируемый -> легковзламываемый?
2) Интерпретируемый -> медленный?

И еще вопрос про технологию JIT, написано что возможно во время выполнения байткода компилировать его в машинный увеличивая при этом скорость работы программ. А предкомпилируемых решений вообще нет?
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 08.07.2011, 01:26   #4
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Цитата:
1) Интерпретируемый -> легковзламываемый?
Что понимать под взломом? Получение исходного кода программы? Если да - то да, это несложно. Хотя, средства обфускации никто не отменял.
Цитата:
2) Интерпретируемый -> медленный?
Зависит от реализации JVM и качества самого кода. Насколько мне известно, в Java есть стандартные механизмы поддержки паттернов проектирования, что приводит к увеличению скорости исполнения программы. Но добиться производительности таких языков, как C или C++, невозможно.
Цитата:
А предкомпилируемых решений вообще нет?
Противоречит главному принципу Java - кроссплатформенность. Именно из-за этого Sun Microsystems подала в суд на Microsoft - их язык J++ не удовлетворял сему требованию.
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 08.07.2011, 01:49   #5
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Предкомпилируемые решения есть, точно не вспомню конкретных, но, кажется gcj умеет выдавать бинарники, правда сам ими никогда не пользовался, и ничего не могу сказать конкретного о них. Но смысла в этом особо нет, ведь главный козырь java - это как раз jvm. В целом, программы на java могут достигать скорости программ на C/C++, но, в основном, при больших нагрузках, когда ф-ции вызываются много тысяч раз и на лету оптимизируются виртуальной машиной для как можно более быстрого выполнения.
netrino вне форума Ответить с цитированием
Старый 08.07.2011, 02:19   #6
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Докатились, теперь языки учат по википедии..
Levsha100 вне форума Ответить с цитированием
Старый 08.07.2011, 02:28   #7
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Цитата:
Докатились, теперь языки учат по википедии..
Что это значит? Я не собираюсь Java учить. Я просто читаю о нем и некоторых вещей не понимаю, вот и спрашиваю.
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 08.07.2011, 02:40   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Т.е. это значит что на компьютере конечного пользователя обязательно должна стоять JVM?
да, так же как и для dotNET приложений нужен фреймворк.
Цитата:
А сама программа компилируется не в формат .ехе(Для Windows), а в jar(или что там эта JVM кушает)
да, компилируется в специальный байт-код.
Цитата:
1) Интерпретируемый -> легковзламываемый?
не скажу что сильно проще чем обычный exe(не считая упаковщиков), хотя если не было защиты то исходный код получить легко.
Цитата:
2) Интерпретируемый -> медленный?
не сильно медленнее, на современных машинах разница не ощутима практически.
Цитата:
А предкомпилируемых решений вообще нет?
берите Qt тогда.
цель JAVA обеспечить переносимость бинарников полученных на любой из систем.
да и толку от этого мало, ибо это уже не джава(интерпритация байт-кода), всетаки JVM, как любая VM такого рода, обеспечивает более высокий контроль за кодом.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.07.2011, 10:42   #9
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Цитата:
Сообщение от MyLastHit Посмотреть сообщение
Т.е. это значит что на компьютере конечного пользователя обязательно должна стоять JVM? А сама программа компилируется не в формат .ехе(Для Windows), а в jar(или что там эта JVM кушает) и никак иначе?
У меня тоже возникал такой вопрос, только относительно .NET. И у Спольского тоже.
ds.Dante вне форума Ответить с цитированием
Старый 08.07.2011, 10:50   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

если еще интересно, насчет dotNET могу ответить в личку.(или в теме созданной для этого)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# глупый вопрос PMike Помощь студентам 3 08.04.2009 08:26
CheckBox - глупый вопрос JRcoker Общие вопросы Delphi 3 17.08.2008 21:51
глупый вопрос ryton Свободное общение 3 06.06.2008 13:44
глупый вопрос по функциям steck Общие вопросы Delphi 2 17.06.2007 15:40