![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 02.12.2010
Сообщений: 160
|
![]()
Здравствуйте. У меня вопрос, при заработке новой версии java, добавляются ли новые инструкции в JVM?
Есть язык программирования Scala который работает на JVM. Там присутствует поддержка лямда выражений, но в Java 7 ее еще нет. Как тогда она получается работает на JVM? Получается можно сделать вывод что инструкции JVM не меняются, и получается возможности java 7(например switch со String-ом), будут работать в JVM от 6 java? |
![]() |
![]() |
![]() |
#2 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
![]()
У явы обратная совместимость. Все эти новшества - синтаксический сахар. Но ява-машины они не доходят.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 02.12.2010
Сообщений: 160
|
![]()
Carbon, спасибо. а как же тогда происходят различные оптимизации, если JVM не знает о языке который будет его использовать?
|
![]() |
![]() |
![]() |
#4 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
![]()
А кто сказал, что машина не меняется от версии к версии? Обратная совместимость требует, чтобы новый скомпиленный код работал на старых машинах. Это достигается за счет собственных инструкций, которые независимы от оси, версии явы, семейства процессоров и т.д. Но никто не мешает в новых версиях машины применять улучшенные методы обработки этих самых инструкций.
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 02.12.2010
Сообщений: 160
|
![]()
Понятно, получается код будет работать, просто скорость будет медленнее. А как же тогда эти оптимизации работают с другими языками программирования, например scala или чисто функциональным языком программирования Clojure работающим на JVM? это же совсем другая парадигма)
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 02.12.2010
Сообщений: 160
|
![]()
Я использовал multi catch-и которые есть только в 7 java, и скомпилировал, попытался запустить jvm от 6 версии, не получилось почему так?
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 639
|
![]()
Вы еще лямбды из 8й скомпильте и запускайте на 1.5...
ICQ: 677936656 Gmail: ekEmbed@gmail.com
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как установить шаблон версии 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 |