$30 off During Our Annual Pro Sale. View Details »

El valor de Java para las empresas

El valor de Java para las empresas

JConf Peru 2025
El valor de Java para las empresas por Aurelio Garcia Ribeyro

Exploraremos por qué Java sigue siendo clave a nivel empresarial: estabilidad, seguridad, rendimiento y ecosistema. Abordaremos los desafíos de mantener aplicaciones existentes (compatibilidad, deuda técnica, ciclos de soporte) y cómo adoptar gradualmente las nuevas versiones y características del lenguaje y la plataforma (LTS, mejoras de rendimiento, productividad y seguridad).

Avatar for Carlos Zela Bueno

Carlos Zela Bueno

December 04, 2025
Tweet

More Decks by Carlos Zela Bueno

Other Decks in Programming

Transcript

  1. The Value of Java for Enterprises Getting the most of

    your Java Applications Dec 3, 2025
  2. Disculpas a los puristas Esta presentación no ha sido traducida

    al español. La presentación incluye muchos términos que, de ser traducidos, se dificultaría buscar información adicional en Internet. Contiene también conceptos que no sabríamos traducir sin cambiar el significado.
  3. What developers asked for Features as soon as they are

    ready… 6 Copyright © 2025, Oracle and/or its affiliates Faster is Better! No waiting! Move quickly! Snooze, lose I need it yesterday!
  4. You can't move quickly if you carry anchors Judicious pruning

    is required New features are constrained by previous choices You can minimize pain with proper notices… but you can't eliminate it Also keep it easy to maintain • Simple • Portable • Secure 7 Copyright © 2025, Oracle and/or its affiliates https://designer.microsoft.com/image-creator
  5. https://designer.microsoft.com/image-creator You can't move quickly if you carry anchors Judicious

    pruning is required New features are constrained by previous choices You can minimize pain with proper notices… but you can't eliminate it Also keep it easy to maintain • Simple • Portable • Secure 8 Copyright © 2025, Oracle and/or its affiliates
  6. What system administrators asked for 11 Copyright © 2025, Oracle

    and/or its affiliates Stability is why we chose Java! If it isn't broken, don't fix it Stay out of my system! I won't use that feature JDK 8 11 17 21 is all everyone will ever need A major release every 5 years
  7. Keep my programs stable 12 Copyright © 2025, Oracle and/or

    its affiliates Despite a changing world… Address Security Vulnerabilities Critical Bug Fixes Time zone updates Keep up with new Cryptography • Use longer keys and new algorithms as needed (but don't use more time/resources to do so) • Disable older, weak algorithms (without disrupting the programs that used them) Allow me to update and upgrade my Operating System as needed • And adopt newer architectures when I want to
  8. Alexander the Great cuts the Gordian Knot Jean-Simon Berthélemy (1743–1811)

    The solution is simple: Do both 13 Copyright © 2025, Oracle and/or its affiliates Image Source: https://en.wikipedia.org/wiki/File:Alexander_cuts_the_Gordian_Knot.jpg
  9. Conflicting Priorities 14 Copyright © 2025, Oracle and/or its affiliates

    Rapid Innovation Stability The Tip The Tail(s) First Priority: Also First Priority:
  10. The Tip and Tail JEP 15 Copyright © 2025, Oracle

    and/or its affiliates Informational JEP for Software Library Developers Documents some of the pitfalls of one-size[-mostly]-fits-all [JDK versions] Proposes backporting as little as possible from tip to tail[s]. Meant for library developers. Has useful insights for enterprise developers
  11. Oracle JDK Releases 8 11 LTS 17 LTS 21 LTS

    22 23 24 25 LTS 26 2020 2019 2021 2022 2024 2023 2026 2028 2029 2030 2031 2032 2033 2025 2027 2018 Free Use Java License Free for dev and personal use; Subscription or OCI for production 27 16 Copyright © 2025, Oracle and/or its affiliates
  12. Oracle JDK Releases 8 11 LTS 17 LTS 21 LTS

    22 23 24 LTS25 26 2020 2019 2021 2022 2024 2023 2026 2028 2029 2030 2031 2032 2033 2025 2027 2018 Free Use Java License Free for dev and personal use; Subscription or OCI for production 27 Tip Tails 17 Copyright © 2025, Oracle and/or its affiliates
  13. Value of Java for Developers • Very rapid cadence of

    incremental improvements (every 6 months) • Rapid cadence for transformational changes (e.g. Virtual Threads, Foreign Function and Memory APIs, Records, ZGC) • Stable platform: experience with prior releases applies to current and future versions • High quality information on new functionality (e.g. JEPs and about 95% of content in conferences like this one) • Allows to delegate most of the long-term support of applications to a system administrator applying updates 18 Copyright © 2025, Oracle and/or its affiliates
  14. 19 Copyright © 2025, Oracle and/or its affiliates The rest

    of this deck focuses on the heroes tasked with keeping existing applications running
  15. Nobody really wants "no change" because of When a user

    says: "Don't change anything" They mean: "Keep my program running… as if it had been developed today" * "Tail" users too must apply quarterly updates Tails extend the stable period… (they don't make it eternal) And give you choices for when and where to upgrade Priority Stability != No change/updates 20 Copyright © 2025, Oracle and/or its affiliates * this is really hard!
  16. The value of Java 21 Copyright © 2025, Oracle and/or

    its affiliates for those charged with keeping an existing application running… Java Applications written and compiled into bytecode 5, 10, 15, and 20+ years ago run today… [in updated and upgraded runtimes] • Using less memory to store strings • Handling characters that didn't exist before • Encrypting securely with algorithms that hadn't been invented • Running on Operating Systems and Architectures introduced years later • With much shorter GC pauses (microseconds instead of millisecond) Without a single line of [your] code changed, without even re-compiling or re-distributing… … better than when they were written
  17. Creating a Native Application #include<stdio.h> int main(void) { printf("Hello World\n");

    return 0; } 23 Copyright © 2025, Oracle and/or its affiliates
  18. Creating a Java Application class HelloWorld { public static void

    main(String[] args) { System.out.println("Hello, World!"); } } javac Java bytecode 24 Copyright © 2025, Oracle and/or its affiliates
  19. Running a Java Application class HelloWorld { public static void

    main(String[] args) { System.out.println("Hello, World!"); } } javac Java bytecode 25 Copyright © 2025, Oracle and/or its affiliates
  20. Updating a Java Application class HelloWorld { public static void

    main(String[] args) { System.out.println("Hello, World!"); } } javac Java bytecode 21.0.9 21.0.9 21.0.9 21.0.9 26 Copyright © 2025, Oracle and/or its affiliates
  21. Updating a Java Application class HelloWorld { public static void

    main(String[] args) { System.out.println("Hello, World!"); } } javac Java bytecode 21.0.10 21.0.9 21.0.9 21.0.9 27 Copyright © 2025, Oracle and/or its affiliates
  22. Updating a Java Application class HelloWorld { public static void

    main(String[] args) { System.out.println("Hello, World!"); } } javac Java bytecode 21.0.10 21.0.10 21.0.10 21.0.10 28 Copyright © 2025, Oracle and/or its affiliates
  23. Upgrading a Java Application class HelloWorld { public static void

    main(String[] args) { System.out.println("Hello, World!"); } } javac Java bytecode 25.0.1 17.0.15 17.0.15 17.0.15 29 Copyright © 2025, Oracle and/or its affiliates
  24. Upgrading a Java Application class HelloWorld { public static void

    main(String[] args) { System.out.println("Hello, World!"); } } javac Java bytecode 25.0.1 25.0.1 25.0.1 25.0.1 30 Copyright © 2025, Oracle and/or its affiliates
  25. User's experience: Developer Business Logic 3rd party Dependencies Corporate Policies

    User Screens Reports Data Integration Common Libraries Security • Sec Vulnerability fixes • Cryptography OS Integration Memory Management Time-zones Updates Root Certificates Java Application + Java Runtime 31 Copyright © 2025, Oracle and/or its affiliates
  26. User's experience: Developer Business Logic 3rd party Dependencies Corporate Policies

    User Screens Reports Data Integration Common Libraries Security • Sec Vulnerability fixes • Cryptography OS Integration Memory Management Time-zones Updates Root Certificates Third Party + Java Runtime + Third Party Components Java Application 32 Copyright © 2025, Oracle and/or its affiliates
  27. Requirement 1: 33 Copyright © 2025, Oracle and/or its affiliates

    To get benefit of the long support tails Be careful when selecting third party components … and update them periodically You own all the virtues and vices of the components you include
  28. Sir Isaac Newton 1643-1727 For every action, there is an

    equal and opposite reaction 34 Copyright © 2025, Oracle and/or its affiliates Image source: https://en.wikipedia.org/wiki/Isaac_Newton
  29. Loose coupling of Application and Runtime introduces challenges 35 Copyright

    © 2025, Oracle and/or its affiliates 1) How can I tell which runtime is being used by each application? a) C:\Program Files\my company\HR System\monthlyconsolidation\jdk-21 b) C:\Program Files\my company\common\jdk-21 \jdk-25 c) C:\Program Files\Java\jdk-17 (default installation location for Windows) 2) Dynamic Loading means Java applications "pay a tax" in startup and warm up times • Technical improvements have made this insignificant for most use cases • For extreme cases, new technologies like the ongoing work of Project Leyden promise the option of trading performance for dynamism
  30. Requirement 0: 36 Copyright © 2025, Oracle and/or its affiliates

    To get benefit of the long support tails Use tip for development and tails for stable applications Obvious… but many companies miss this.
  31. Typical JDK corporate adoption (so far) JDK X 37 Copyright

    © 2025, Oracle and/or its affiliates
  32. Typical JDK corporate adoption (so far) JDK X JDK X+1

    38 Copyright © 2025, Oracle and/or its affiliates
  33. Typical JDK corporate adoption (so far) JDK X JDK X+1

    39 Copyright © 2025, Oracle and/or its affiliates
  34. Typical JDK corporate adoption (so far) JDK X JDK X+1

    JDK X+2 40 Copyright © 2025, Oracle and/or its affiliates
  35. Typical JDK corporate adoption (so far) JDK X JDK X+1

    JDK X+2 JDK X+3 41 Copyright © 2025, Oracle and/or its affiliates
  36. Typical JDK corporate adoption (so far) JDK X JDK X+many

    https://designer.microsoft.com/image-creator 42 Copyright © 2025, Oracle and/or its affiliates
  37. Typical JDK corporate adoption (so far) JDK X JDK X+many

    https://designer.microsoft.com/image-creator 43 Copyright © 2025, Oracle and/or its affiliates
  38. Typical JDK corporate adoption (so far) JDK 8 2014 JDK

    17 2021 JDK 18 2022 JDK 19 JDK 20 2023 JDK 22 2024 JDK 21 JDK 23 44 Copyright © 2025, Oracle and/or its affiliates JDK 24 2025 JDK 25
  39. Better JDK corporate adoption JDK X JDK X+1 46 Copyright

    © 2025, Oracle and/or its affiliates
  40. Better JDK corporate adoption JDK X JDK X+1 JDK X+2

    47 Copyright © 2025, Oracle and/or its affiliates
  41. Better JDK corporate adoption JDK X JDK X+1 JDK X+2

    JDK X+3 48 Copyright © 2025, Oracle and/or its affiliates
  42. Better JDK corporate adoption JDK X JDK X+1 JDK X+2

    JDK X+3 49 Copyright © 2025, Oracle and/or its affiliates
  43. Better JDK corporate adoption JDK X JDK X+1 JDK X+2

    JDK X+3 JDK X+4 50 Copyright © 2025, Oracle and/or its affiliates
  44. Choosing the Right JDK Version: An Unofficial Guide 51 Copyright

    © 2025, Oracle and/or its affiliates https://blogs.oracle.com/java/post/choosing-the-right-jdk-version New projects in development: Latest [viable] LTS, or even non-LTS if possible Actively maintained (new features being added) applications: Consider up-taking new LTS within 2 years of release In production, not actively maintained: Stay where you are unless - Your JDK has < 1 year to go (and your application more) - Tools and third parties reaching EOL - Too much memory/CPU usage
  45. Today's problems come from yesterday's "solutions." 52 Copyright © 2025,

    Oracle and/or its affiliates The Fifth Discipline, Peter Senge, 1990
  46. Using multiple JDK versions at the same time increases update

    complexity 53 Copyright © 2025, Oracle and/or its affiliates java.com/releases - view by month
  47. 54 Copyright © 2025, Oracle and/or its affiliates Update Upgrade

    Using multiple JDK versions at the same time increases update complexity java.com/releases - view by month
  48. Which Runtime versions are up to date today? 55 Copyright

    © 2025, Oracle and/or its affiliates a) 25.0.2 b) 21.0.6 c) 17.0.17 d) 11.0.20 e) 8u471
  49. Which Runtime versions are up to date today? 56 Copyright

    © 2025, Oracle and/or its affiliates a) 25.0.2 Not released yet. Scheduled for Jan 2026 b) 21.0.6 11 months old, from Jan 2025 c) 17.0.17 ✓ Released Oct 2025 d) 11.0.20 2 years and 5 months old, from Jul 2023 e) 8u471 ✓ Released Oct 2025 We were looking at the answer just a moment ago…
  50. So.. what is available for those using tails? Tools and

    services for long lived applications and for large deployments 57 Copyright © 2025, Oracle and/or its affiliates
  51. At least 8 years-worth of updates for each Long Term

    Support Release 58 Copyright © 2025, Oracle and/or its affiliates
  52. Oracle JDK Releases 59 Copyright © 2025, Oracle and/or its

    affiliates 8 11 LTS 17 LTS 21 LTS 22 23 24 25 LTS 26 2020 2019 2021 2022 2024 2023 2026 2028 2029 2030 2031 2032 2033 2025 2027 2018 Free Use Java License Free for dev and personal use; Subscription or OCI for production 27 8 years 8 years 8 years 13y 4m 16y 7m
  53. Oracle JDK Releases 60 Copyright © 2025, Oracle and/or its

    affiliates 8 11 LTS 17 LTS 21 LTS 22 23 24 25 26 2020 2019 2021 2022 2024 2023 2026 2028 2029 2030 2031 2032 2033 2025 2027 2018 Free Use Java License Free for dev and personal use; Subscription or OCI for production 27 May 2020 Extension Sep 2023 Extension
  54. Support for new platforms and updates to existing ones New

    Platform Support - JDK 8 62 Copyright © 2025, Oracle and/or its affiliates
  55. Support for new platforms and updates to existing ones New

    Platform Support - JDK 8 63 Copyright © 2025, Oracle and/or its affiliates Notice these
  56. Security Vulnerability Fixes Scheduled Quarterly Releases & Security Alerts if

    needed 64 January 2025 October 2024 July 2024 Apr 2024 Copyright © 2025, Oracle and/or its affiliates
  57. Cryptographic Updates With advanced notice and instructions to revert changes

    65 Copyright © 2025, Oracle and/or its affiliates
  58. Cryptographic Updates With advanced notice and instructions to revert changes

    66 Copyright © 2025, Oracle and/or its affiliates
  59. Plus smaller fixes Complete list on our public bug DB,

    most notable changes in release notes. 67 Copyright © 2025, Oracle and/or its affiliates From JDK 11.0.26
  60. Java Management Service 68 Copyright © 2025, Oracle and/or its

    affiliates OCI-native service to help you manage your Java investment on-premise or in any cloud
  61. How JMS works 69 Copyright © 2025, Oracle and/or its

    affiliates JMS On premise (OCI and non-OCI) Cloud
  62. How JMS works 70 Copyright © 2025, Oracle and/or its

    affiliates JMS On premise (OCI and non-OCI) Cloud
  63. JMS Capabilities 71 Copyright © 2025, Oracle and/or its affiliates

    Available to all Basic Java Usage Tracking and Discovery • Find all Java runtimes in managed instances • File scanning (of common locations) • Configure and enable Usage Tracking • Determine which application is using each runtime • Identify outdated and unused runtimes • Recommend updates/upgrades when appropriate Java Downloads & Release Information (no agent installation required) • Manual and Scriptable JDK Downloads • Java Release Information via Public APIs Java Usage Tracker File Scan
  64. JMS Capabilities 72 Copyright © 2025, Oracle and/or its affiliates

    Advanced Features – For Java SE Subscribers and OCI Workloads Additional Insights and tools for Java Workloads • Discover potential vulnerabilities in third-party Java libraries • Optimize Java workload performance with JVM tuning recommendations • Evaluate migrating Java applications to newer JDK versions • Get notified of potential impact on your applications from upcoming cryptographic changes. • Identify Java services running in application servers • Gather application insights with JDK Flight Recorder • Manage lifecycle of Java Runtimes
  65. Enterprise Performance Pack Run JDK 8 applications with JDK 17

    performance! There have been significant performance improvements added to Java since Java 8 • Especially with respect to latency, scalability and garbage collection Enterprise performance pack is a Java SE Subscription product, or available when running Java workloads on OCI Available as a separate Oracle JDK binary * • Server usage only • Linux (Intel & ARM), 64 bit, headless 74 Oracle JDK 8 JVM from Oracle JDK 17 Enterprise Performance Pack * In addition to (not instead of) JDK 8 LTS Updates
  66. The most dedicated Java Organization 75 Copyright © 2022, Oracle

    and/or its affiliates. All rights reserved.
  67. Java Experts at your side 76 Copyright © 2025, Oracle

    and/or its affiliates Supporting all your Java Workloads Support team with decades of Java expertise Part of the Java Platform Team • Tasked with helping you keep your applications running (not just break-fix) • Access to the Java Development Team • Expertise not just with runtimes but with common tools and libraries Java Value Engineering • Help with Subscription Entitlements • Java Management Service, Enterprise Performance Pack • Interactive Workshops • Customized Services
  68. 79 • Experiential and educational format • Java + relevant

    complementary technologies • Sessions are ~45% core JDK team + Oracle, ~55% Java ecosystem + Sponsors • Meet the Java Architects from Oracle's team • Livestreaming JDK 26 Launch and keynotes • Record all learning sessions for on-demand replay on youtube.com/java Core Tenants