Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

200
Views
Ventaja de especificar una versión de -jvm-target / jvmTarget distinta de la 1.8

A partir de Kotlin 1.6.0, para los proyectos de Kotlin/JVM se puede especificar la opción -jvm-target version hasta Java 17 , consulte la documentación general y del complemento de Gradle .

¿Cuáles son los beneficios de hacerlo? No pude encontrar mucho sobre los beneficios de especificar algo que no sea el valor predeterminado de 1.8 .

Las únicas cosas que pude encontrar sobre esto fueron:

  • en objetivos JVM 9+, las concatenaciones de cadenas se compilan en invocaciones dinámicas (invokedynamic), consulte el blog de lanzamiento de Kotlin 1.5.20
  • en objetivos JVM 10+, se admiten los Record de Java, consulte elblog de lanzamiento de Kotlin 1.5.0 .

Ambos me parecen insignificantes.

Especialmente porque cuando se especifica un objetivo más alto, se pierde la capacidad de usar el artefacto resultante en proyectos atascados con Java 1.8, lo que parece indeseable, especialmente para las bibliotecas.

¿Hay algo que me perdí aquí?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

No sé qué usa o apoya Kotlin activamente.

Las siguientes características disponibles en entornos Java posteriores pueden brindar un beneficio a otros lenguajes de programación, incluso si no los está utilizando activamente en el código de su aplicación:

  • Las construcciones simultáneas de su idioma pueden usar VarHandle internamente incluso si no usa esta API directamente. [JDK 9]

  • Si su idioma lo necesita, reachabilityFence permite evitar la recolección de basura antes de un punto de ejecución, en lugar de depender de soluciones frágiles o costosas [JDK 9]

  • Una forma oficial de agregar clases al entorno actual de forma dinámica, en lugar de piratear las partes internas de JRE [JDK 9]

  • Ya mencionaste la concatenación de cadenas ... [JDK 9]

  • Cuando crea un módulo que declara las dependencias requeridas, puede crear un JDK personalizado que contenga solo los módulos requeridos, para implementarse con la aplicación (lo que elimina la necesidad de compatibilidad con 1.8 de todos modos). [JDK 9]

  • Las clases que pertenecen a un nido pueden acceder a los miembros private demás sin necesidad de métodos auxiliares. El compilador de su idioma puede decidir qué clases pertenecen a un nido, no tiene que ser la semántica de las clases anidadas de Java. [JDK 11]

  • Constantes dinámicas personalizadas . Puede tener constantes arbitrarias cargables mediante una instrucción ldc , que se construye mediante un método de arranque en la primera ejecución y luego se reutiliza. Esto significa que el lenguaje puede usar sus propias constantes de sus propios tipos de la misma manera que las constantes integradas de Java (piense, internamiento de cadenas). [JDK 11]

  • Cree clases anónimas dinámicas usando una API oficial en lugar de asumir la presencia del propietario sun.misc.Unsafe [JDK 15]

  • Las clases selladas son compatibles directamente con la JVM, por lo que si el lenguaje tiene ese concepto, puede traducirlo directamente en lugar de emularlo. [JDK 17]

  • Quizás algo más que sea útil para la implementación del lenguaje en particular pero que no sea obvio para nosotros, no intentar implementar el lenguaje en la JVM

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!