Могу ли я использовать JDK 9 для разработки программного обеспечения Java 7 / Java 8?
Целевые среды моего кода используют более старые версии Java (Java 7, Java 8). Я использую JDK 7 для разработки.
Будут ли преимущества, если я буду использовать самую последнюю версию JDK для своей разработки, а именно JDK 9 (и указать source=1.7 и target=1.7)?
Я знаю, что мой код не должен использовать API, который недоступен на целевой платформе.
1 ответ
Для я могу? Да. Поскольку обратная совместимость важна в Java, нет технической причины, по которой вы не могли бы это сделать. Иногда политики компании предписывают разработку конкретной версии JDK.
В общем, главное преимущество использования более поздней версии JDK, чем то, для чего вы разрабатываете, это знакомство с более поздней версией. Это также может повысить ваш интерес к переносу самого программного обеспечения на более позднюю версию, если вы заметите, что это полезно: например, вы заметили, что любите лямбды, поэтому вы переходите с Java 7 на Java 8.
Поскольку результирующий байт-код один и тот же (не то, чтобы это действительно имеет значение), а используемые вами инструменты обычно не зависят от JDK, у него очень мало другого эффекта. Вы можете (обычно) безопасно выполнять код на более новых JRE, так что в этом нет никакой разницы.
Для чего я должен?
Нужно ли начинать использовать JDK 9 сейчас - это в первую очередь вопрос мнения. Как отметил Олег, он не везде активно продвигается, поэтому, по крайней мере, вы не опаздываете и у вас есть время подумать о том, чтобы еще немного продвинуться вперед (возможно, сначала поиграйте с ним, прежде чем рассматривать его для работы). Из-за больших архитектурных различий между Java 8 и Java 9, я ожидал бы, что будет гораздо больший разрыв в принятии, чем между старыми версиями.
Однако не все так мрачно. Здесь довольно неплохо подведены итоги работы, и даже если вы на данный момент придерживаетесь проектов Java 7/8, я не вижу причин не делать этого на JDK 9, когда вы чувствуете, что готовы посмотреть. на это (и нет никакой спешки). Я еще не установил его, хотя я читал о решениях (хороший выбор они не удалили Unsafe
).