# Kotlin support for Java 9 and Java 10

**URL:** <https://discuss.kotlinlang.org/t/kotlin-support-for-java-9-and-java-10/8054>\
**Category:** Support\
**Created:** [June 6, 2018, 1:45pm UTC](https://discuss.kotlinlang.org/t/kotlin-support-for-java-9-and-java-10/8054 "2018-06-06T13:45:51Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![KishoreKarunakaran](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/kishorekarunakaran/32/4794_2.png) [@KishoreKarunakaran](https://discuss.kotlinlang.org/u/KishoreKarunakaran)\
**Post date:** [June 6, 2018, 1:45pm UTC](https://discuss.kotlinlang.org/t/kotlin-support-for-java-9-and-java-10/8054/1 "2018-06-06T13:45:51Z")

</div>

What’s the plan for supporting Java 9 and Java 10 in Kotlin ?

Kotlin currently doesn’t support JVM 9 bytecode generation

---

<div class="post-metadata">

**Author:** ![udalov](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/udalov/32/5679_2.png) [@udalov](https://discuss.kotlinlang.org/u/udalov)\
**Post date:** [June 12, 2018, 9:58am UTC](https://discuss.kotlinlang.org/t/kotlin-support-for-java-9-and-java-10/8054/2 "2018-06-12T09:58:42Z")

</div>

Here’s an issue that tracks adding the JVM target bytecode version 9 to Kotlin: [https://youtrack.jetbrains.com/issue/KT-21959](https://youtrack.jetbrains.com/issue/KT-21959). Meanwhile note that using JVM target 1.6 or 1.8 is completely fine because Java 9 and 10 fully support class files of previous versions.

---

<div class="post-metadata">

**Author:** ![mbogdanov](https://avatars.discourse-cdn.com/v4/letter/m/838e76/32.png) [@mbogdanov](https://discuss.kotlinlang.org/u/mbogdanov)\
**Post date:** [June 12, 2018, 10:45am UTC](https://discuss.kotlinlang.org/t/kotlin-support-for-java-9-and-java-10/8054/3 "2018-06-12T10:45:29Z")

</div>

For what cases do you need jvm 9/10 bytecode generation?

---

<div class="post-metadata">

**Author:** ![KishoreKarunakaran](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/kishorekarunakaran/32/4794_2.png) [@KishoreKarunakaran](https://discuss.kotlinlang.org/u/KishoreKarunakaran)\
**Post date:** [June 12, 2018, 2:09pm UTC](https://discuss.kotlinlang.org/t/kotlin-support-for-java-9-and-java-10/8054/4 "2018-06-12T14:09:55Z")

</div>

I don’t have any specific use cases, I agree to @udalov comment.

IMO, Java 9 and 10 has improved version of container integration in the language, so it will be good for kotlin to support Java 9 & 10 and can reuse that feature.

Also,

1. Parallel Full GC for G1
2. Compact Strings
3. Enhanced Method Handles
4. More Security features check [here](https://docs.oracle.com/javase/9/whatsnew/toc.htm#JSNEW-GUID-71A09701-7412-4499-A88D-53FA8BFBD3D0)
5. Improvements in byte code generation in enhanced for loop(Java 10)

---

<div class="post-metadata">

**Author:** ![darksnake](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/darksnake/32/2479_2.png) [@darksnake](https://discuss.kotlinlang.org/u/darksnake)\
**Post date:** [June 12, 2018, 2:40pm UTC](https://discuss.kotlinlang.org/t/kotlin-support-for-java-9-and-java-10/8054/5 "2018-06-12T14:40:17Z")

</div>

Everything but item 5 does not require Java 9/10 byte code, just Java 9/10 JVM when running the program.  
For me currently the only problem with Java 9 is that `tornadofx` uses hacks to access private javafx methods and therefore does not work on Java 9 JVM, but it has nothing to do with kotlin core.

---

<div class="post-metadata">

**Author:** ![SackCastellon](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/sackcastellon/32/4553_2.png) [@SackCastellon](https://discuss.kotlinlang.org/u/SackCastellon)\
**Post date:** [June 12, 2018, 6:42pm UTC](https://discuss.kotlinlang.org/t/kotlin-support-for-java-9-and-java-10/8054/6 "2018-06-12T18:42:32Z")

</div>

In my opinion instead of adding support for **Java 9** , which no longer has support, and/or **Java 10** , which will lose support on September, they should wait for **Java 11** , which is the next LTS release.

---

<div class="post-metadata">

**Author:** ![darksnake](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/darksnake/32/2479_2.png) [@darksnake](https://discuss.kotlinlang.org/u/darksnake)\
**Post date:** [June 13, 2018, 5:48am UTC](https://discuss.kotlinlang.org/t/kotlin-support-for-java-9-and-java-10/8054/7 "2018-06-13T05:48:45Z")

</div>

The only principally new feature in Java 9-11 for kotlin is Jigsaw. It would be definitely nice to see kotlin as a Jigsaw module, but it would hardly change anything.

I think it is much more important to implement Java 8 features like invokedynamic and repeatable annotations.

---

<div class="post-metadata">

**Author:** ![fvasco](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/fvasco/32/1961_2.png) [@fvasco](https://discuss.kotlinlang.org/u/fvasco)\
**Post date:** [June 13, 2018, 10:27am UTC](https://discuss.kotlinlang.org/t/kotlin-support-for-java-9-and-java-10/8054/8 "2018-06-13T10:27:46Z")

</div>

> [@darksnake](#):
>
> Everything but item 5 does not require Java 9/10 byte code

This is a `javac` improvement, the Java 10 bytecode is unchanged (except for major/minor version)

---

<div class="post-metadata">

**Author:** ![darksnake](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/darksnake/32/2479_2.png) [@darksnake](https://discuss.kotlinlang.org/u/darksnake)\
**Post date:** [June 13, 2018, 10:40am UTC](https://discuss.kotlinlang.org/t/kotlin-support-for-java-9-and-java-10/8054/9 "2018-06-13T10:40:29Z")

</div>

I mean that you can compile it for JDK 8 and run on JDK 10 and still get all of the benefits. I am currently stuck with JDK 8 because tornadofx won’t compile on JDK 9. ☹

---

<div class="post-metadata">

**Author:** ![medium](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/medium/32/10404_2.png) [@medium](https://discuss.kotlinlang.org/u/medium)\
**Post date:** [June 13, 2018, 11:05am UTC](https://discuss.kotlinlang.org/t/kotlin-support-for-java-9-and-java-10/8054/10 "2018-06-13T11:05:09Z")

</div>

I can only support that the Kotlin team should concentrate on Java LTS releases (next is Java 11). The releases in between are not much more than public development snapshots. Oracle doesn’t even fix bugs reliably. Adjusting to a new version every six month is just a waste of time.

---

<div class="post-metadata">

**Author:** ![j0s3f](https://avatars.discourse-cdn.com/v4/letter/j/439d5e/32.png) [@j0s3f](https://discuss.kotlinlang.org/u/j0s3f)\
**Post date:** [June 18, 2018, 11:40am UTC](https://discuss.kotlinlang.org/t/kotlin-support-for-java-9-and-java-10/8054/11 "2018-06-18T11:40:19Z")

</div>

One big thing to add would be [JEP 280: Indify String Concatenation](http://openjdk.java.net/jeps/280)

---

<div class="post-metadata">

**Author:** ![fvasco](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/fvasco/32/1961_2.png) [@fvasco](https://discuss.kotlinlang.org/u/fvasco)\
**Post date:** [June 18, 2018, 1:37pm UTC](https://discuss.kotlinlang.org/t/kotlin-support-for-java-9-and-java-10/8054/12 "2018-06-18T13:37:50Z")

</div>

[https://youtrack.jetbrains.com/issue/KT-21147](https://youtrack.jetbrains.com/issue/KT-21147)

---

<div class="post-metadata">

**Author:** ![medium](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/medium/32/10404_2.png) [@medium](https://discuss.kotlinlang.org/u/medium)\
**Post date:** [August 1, 2018, 6:38am UTC](https://discuss.kotlinlang.org/t/kotlin-support-for-java-9-and-java-10/8054/13 "2018-08-01T06:38:29Z")

</div>

Oracles new release model and licensing is not as good as I thought! Only Oracle JDK will get Long Term Support (LTS) releases and if you use that in production, Oracle will charge you a fee. If you want to use Open JDK and want to have bug fixes and security patches, too, you have to update the JDK every 6 months. However, not all bugs will be fixed in the then current JDK, but sometimes only in the next release.

> **[What Comes After JDK 8?](https://www.azul.com/blog/what-comes-after-jdk-8/)**
>
> As the Azul alternate representative on the JCP Executive Committee (EC), I get to attend all the EC meetings and take part in the various discussions. One topic that the EC has been devoting a lot of energy to recently is the adoption of the Java...

---

<div class="post-metadata">

**Author:** ![scellow](https://avatars.discourse-cdn.com/v4/letter/s/7c8e57/32.png) [@scellow](https://discuss.kotlinlang.org/u/scellow)\
**Post date:** [August 3, 2018, 10:20am UTC](https://discuss.kotlinlang.org/t/kotlin-support-for-java-9-and-java-10/8054/14 "2018-08-03T10:20:49Z")

</div>

+1

For jlink

---

<div class="post-metadata">

**Author:** ![mochadwi](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/mochadwi/32/5282_2.png) [@mochadwi](https://discuss.kotlinlang.org/u/mochadwi)\
**Post date:** [January 16, 2020, 6:52am UTC](https://discuss.kotlinlang.org/t/kotlin-support-for-java-9-and-java-10/8054/15 "2020-01-16T06:52:20Z")

</div>

thanks +1

---

<div class="post-metadata">

**Author:** ![Wasabi375](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/wasabi375/32/4741_2.png) [@Wasabi375](https://discuss.kotlinlang.org/u/Wasabi375)\
**Post date:** [January 16, 2020, 7:19am UTC](https://discuss.kotlinlang.org/t/kotlin-support-for-java-9-and-java-10/8054/16 "2020-01-16T07:19:09Z")

</div>

Guys this forum has the heart feature for a reason. No need to spam “+1”.
