Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

281
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda