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

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

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2013, 10:43   #1
WizarD.89
Форумчанин
 
Аватар для WizarD.89
 
Регистрация: 02.12.2010
Сообщений: 160
Радость JVM и новые версии Java

Здравствуйте. У меня вопрос, при заработке новой версии java, добавляются ли новые инструкции в JVM?

Есть язык программирования Scala который работает на JVM. Там присутствует поддержка лямда выражений, но в Java 7 ее еще нет. Как тогда она получается работает на JVM?


Получается можно сделать вывод что инструкции JVM не меняются, и получается возможности java 7(например switch со String-ом), будут работать в JVM от 6 java?
WizarD.89 вне форума Ответить с цитированием
Старый 02.07.2013, 00:41   #2
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

У явы обратная совместимость. Все эти новшества - синтаксический сахар. Но ява-машины они не доходят.
Carbon вне форума Ответить с цитированием
Старый 02.07.2013, 17:29   #3
WizarD.89
Форумчанин
 
Аватар для WizarD.89
 
Регистрация: 02.12.2010
Сообщений: 160
По умолчанию

Carbon, спасибо. а как же тогда происходят различные оптимизации, если JVM не знает о языке который будет его использовать?
WizarD.89 вне форума Ответить с цитированием
Старый 03.07.2013, 01:40   #4
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

А кто сказал, что машина не меняется от версии к версии? Обратная совместимость требует, чтобы новый скомпиленный код работал на старых машинах. Это достигается за счет собственных инструкций, которые независимы от оси, версии явы, семейства процессоров и т.д. Но никто не мешает в новых версиях машины применять улучшенные методы обработки этих самых инструкций.
Carbon вне форума Ответить с цитированием
Старый 03.07.2013, 05:43   #5
WizarD.89
Форумчанин
 
Аватар для WizarD.89
 
Регистрация: 02.12.2010
Сообщений: 160
По умолчанию

Понятно, получается код будет работать, просто скорость будет медленнее. А как же тогда эти оптимизации работают с другими языками программирования, например scala или чисто функциональным языком программирования Clojure работающим на JVM? это же совсем другая парадигма)
WizarD.89 вне форума Ответить с цитированием
Старый 06.07.2013, 10:16   #6
WizarD.89
Форумчанин
 
Аватар для WizarD.89
 
Регистрация: 02.12.2010
Сообщений: 160
По умолчанию

Я использовал multi catch-и которые есть только в 7 java, и скомпилировал, попытался запустить jvm от 6 версии, не получилось почему так?
WizarD.89 вне форума Ответить с цитированием
Старый 06.07.2013, 11:51   #7
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Вы еще лямбды из 8й скомпильте и запускайте на 1.5...
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как установить шаблон версии 9.7 на движок версии 9.8? Vallerik WordPress и другие CMS 1 26.03.2013 12:34
Новые версии программ Altera Свободное общение 39 28.11.2010 00:36
новые версии oracle, Java , C# Fog Свободное общение 12 08.11.2010 11:00
Определение версии java-машины WennY Общие вопросы по Java, Java SE, Kotlin 1 15.03.2010 12:57
Как увеличить память jvm на netbeans? kudaybaha Общие вопросы по Java, Java SE, Kotlin 0 30.10.2008 20:42