Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java 10 introduceert Time-Based Release Versioning voor voorspelbare halfjaarlijkse updates

JEP 322 – Time-Based Release Versioning

Vanaf Java 10 heeft Oracle een strikt tijdsgebaseerd release-versioneringsmodel ingevoerd. Java heeft nu elke 6 maanden een grote release. Java 10 kwam uit in maart 2018; alle toekomstige grote versies zijn gepland voor maart en september. Releases vallen in drie categorieën:

  • Feature Release – Bevat taalfeatures, JVM-features, nieuwe/verbeterde API's, verwijdering/deprecatie van API's. Het moment is vast; er is geen dwang om specifieke features in een bepaalde release te krijgen. Als een feature niet klaar is, schuift hij naar de volgende release.

  • Update Release – Bevat bugfixes, beveiligingsfixes, regressiefixes. Elke update release is per kwartaal gepland (januari, april, juli, oktober). Elke Feature Release ontvangt twee Update Releases voordat de volgende Feature Release aangekondigd wordt.

  • Long Term Support (LTS) Release – Wordt elke drie jaar aangekondigd, beginnend september 2018. Oracle biedt 3 jaar support en updates. Bedoeld voor bedrijven die Java in productie draaien.

Versieformaat

Een versie volgt nu het formaat:

$FEATURE.$INTERIM.$UPDATE.$PATCH

Waarbij:

  • $FEATURE – Hoofdkenmerkrelease; incrementeert met 1 na elke Feature Release. Voor Java 10 is dit 10.

  • $INTERIM – Niet-feature, niet-update release met bugfixes en verbeteringen, geen incompatibele wijzigingen of API-verwijdering. Een Feature Release heeft deze teller op 0.

  • $UPDATE – Updaterelease na een Feature Release. Bijv. update in april 2018 is JDK 10.0.1, juli 2018 is JDK 10.0.2, enz.

  • $PATCH – Noodrelease, alleen verhoogd bij kritieke issues die dringend gepromoot moeten worden.

Voorbeeld

Programma dat de versioneringsdetails van Java 10 toont:

public class Tester {
    public static void main(String[] args) {
        Runtime.Version version = Runtime.version();
        System.out.printf(" feature: %s%n interim: %s%n update: %s%n patch: %s%n",
            version.feature(), version.interim(), version.update(), version.patch());
    }
}

Uitvoer

feature: 10
interim: 0
update: 2
patch: 0

Java

  1. Eclipse Hono lanceert MongoDB-gebaseerde Device Registry – Schaalbaar, Productie-klaar
  2. Java-operators beheersen: typen, syntax en praktische voorbeelden
  3. Java-commentaar: typen, gebruik en best practices
  4. Java Enhanced For-lus beheersen: syntax, voorbeelden en best practices
  5. Java Strings beheersen: aanmaken, methodes en best practices
  6. Java interfaces meesteren: concepten, implementatie en best practices
  7. Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
  8. Java Try-with-resources meesteren: automatische resource management uitgelegd
  9. Java Annotaties uitgelegd: typen, plaatsing en praktische voorbeelden
  10. Java Assertions: een praktische gids voor bugdetectie en codebetrouwbaarheid
  11. Java Vector begrijpen: Gebruik, Kenmerken en Vergelijking met ArrayList