|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.06.2013, 10:43 | #1 |
Форумчанин
Регистрация: 02.12.2010
Сообщений: 160
|
JVM и новые версии Java
Здравствуйте. У меня вопрос, при заработке новой версии java, добавляются ли новые инструкции в JVM?
Есть язык программирования Scala который работает на JVM. Там присутствует поддержка лямда выражений, но в Java 7 ее еще нет. Как тогда она получается работает на JVM? Получается можно сделать вывод что инструкции JVM не меняются, и получается возможности java 7(например switch со String-ом), будут работать в JVM от 6 java? |
02.07.2013, 00:41 | #2 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
У явы обратная совместимость. Все эти новшества - синтаксический сахар. Но ява-машины они не доходят.
|
02.07.2013, 17:29 | #3 |
Форумчанин
Регистрация: 02.12.2010
Сообщений: 160
|
Carbon, спасибо. а как же тогда происходят различные оптимизации, если JVM не знает о языке который будет его использовать?
|
03.07.2013, 01:40 | #4 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
А кто сказал, что машина не меняется от версии к версии? Обратная совместимость требует, чтобы новый скомпиленный код работал на старых машинах. Это достигается за счет собственных инструкций, которые независимы от оси, версии явы, семейства процессоров и т.д. Но никто не мешает в новых версиях машины применять улучшенные методы обработки этих самых инструкций.
|
03.07.2013, 05:43 | #5 |
Форумчанин
Регистрация: 02.12.2010
Сообщений: 160
|
Понятно, получается код будет работать, просто скорость будет медленнее. А как же тогда эти оптимизации работают с другими языками программирования, например scala или чисто функциональным языком программирования Clojure работающим на JVM? это же совсем другая парадигма)
|
06.07.2013, 10:16 | #6 |
Форумчанин
Регистрация: 02.12.2010
Сообщений: 160
|
Я использовал multi catch-и которые есть только в 7 java, и скомпилировал, попытался запустить jvm от 6 версии, не получилось почему так?
|
06.07.2013, 11:51 | #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 |