Best of JDK2024

  1. 1
    Article
    Avatar of communityCommunity Picks·2y

    Become a Better Java Developer: 19 Tips for Staying Ahead in 2024

    Tips for becoming a better Java developer, including upgrading Java versions, learning Kotlin, exploring other languages/frameworks, understanding Loom and Structured Concurrency, getting coverage from Oracle, learning Groovy and Scala, practicing Continuous Feedback, using Ktor, building side projects, focusing on observability, staying connected with the Java community, reading professional developer blogs, following influencers on social media, and signing up for a Java articles reading list.

  2. 2
    Article
    Avatar of jetbrainsJetBrains·2y

    Top Tools for Java Developers in 2024

    Discover the top tools for Java developers in 2024, including the essential JDK, powerful IDEs, build and dependency management tools like Maven and Gradle, and tools for version control, monitoring, database management, containerization, CI/CD, and AI integration. Enhance productivity and streamline your development processes with these crucial tools.

  3. 3
    Article
    Avatar of java_libhuntAwesome Java Newsletter·2y

    Everything you need to know about Java 22

    Java 22 has introduced several updates and features including JEPs, underscore usage, String Templates, 'Statements before super()', 'Implicitly Declared Classes', Stream Gatherer interface, G1 garbage collector, Region Pinning, and the Foreign Function & Memory API.

  4. 4
    Article
    Avatar of inside_javaInside Java·1y

    Better Java Streams with Gatherers

    The post introduces the Gatherers API added in JDK 24, designed to enhance the Java 8 Stream API intermediary operations. It offers a comprehensive step-by-step guide on using this API efficiently through various examples. Key topics include understanding intermediate and terminal operations, the working of internal mutable state, stream interruption, and parallelization. It also highlights advanced features like flat-mapping for element validation and mapMulti() to optimize stream object creation.

  5. 5
    Article
    Avatar of infoworldInfoWorld·2y

    JDK 23: The new features in Java 23

    Java Development Kit (JDK) 23, set for release on September 17, will feature previews of module import declarations, stream gatherers, structured concurrency, and scoped values. Notably, string templates have been dropped. JDK 23 will also bring enhancements such as a new functional interface for scoped values, deprecation of certain memory-access methods in `sun.misc.Unsafe`, and a generational mode default for the Z Garbage Collector. Furthermore, it includes updates to the vector API, Markdown documentation comments, and primitive types in patterns, `instanceof`, and `switch`.

  6. 6
    Article
    Avatar of infoworldInfoWorld·2y

    JDK 24: The new features in Java 24

    JDK 24, set for release on March 18, 2025, will include improvements to the G1 garbage collector and introduce warnings for unsafe uses of the Java Native Interface (JNI). Other potential features could follow previews from JDK 23, such as enhancements to the class-file API, stream gatherers, structured concurrency, and the vector API. JDK 24 will be a non-long-term support release, receiving only six months of Premier-level support.

  7. 7
    Article
    Avatar of inside_javaInside Java·2y

    Data Oriented Programming in Java 21 – Inside.java

    Introduction to data-oriented programming (DOP) in Java, including the four principles and the use of pattern matching for ad-hoc polymorphism.

  8. 8
    Article
    Avatar of faunFaun·2y

    Java 23

    Java 23, released on September 17, 2024, introduces numerous features enhancing developer productivity, performance, and accessibility. Key updates include pattern matching for primitive types, a Class-File API, Markdown support in JavaDoc comments, vector API improvements, and more efficient garbage collection with ZGC. It also simplifies modular programming and lowers the entry barrier for beginners with implicit class declarations and instance main methods. Safety in concurrent programming is improved through structured concurrency and scoped values.

  9. 9
    Article
    Avatar of javaworldJava World·2y

    JDK 23: The new features in Java 23

    JDK 23, the next version of standard Java, is scheduled to be released on September 19. It will include a class-file API for parsing, generating, and transforming Java class files. Other potential features include primitive types in patterns, improved constructors, string templates, stream gatherers, scoped values, and more.

  10. 10
    Article
    Avatar of inside_javaInside Java·2y

    Sip of Java – Inside.java

    JDK 22 is set to be released with final and preview features including enhancements for garbage collection, native libraries, unnamed variables and patterns, multi-file source-code programs, and more.

  11. 11
    Article
    Avatar of foojayioFoojay.io·2y

    Where do you get your Java?

    Java distribution options have evolved, and there are now multiple vendors providing their own OpenJDK-based distributions. IBM Semeru Runtimes stands apart with its support for multiple platforms and its use of the Eclipse OpenJ9 JVM.

  12. 12
    Video
    Avatar of java_libhuntAwesome Java Newsletter·1y

    Java 24 Language & API Changes - Inside Java Newscast #81

  13. 13
    Article
    Avatar of communityCommunity Picks·1y

    Are virtual threads making reactive programming obsolete?

    Java 21 introduces virtual threads and structured concurrency, enhancing scalability and performance by simplifying concurrent programming. Virtual threads minimize the complexity of reactive programming, making the asynchronous programming model easier and more efficient. Structured concurrency groups related tasks for improved error handling and observability. Scoped values offer a better alternative to ThreadLocal variables by being immutable and optimized for performance. These features collectively promise higher throughput and more maintainable code.

  14. 14
    Article
    Avatar of inside_javaInside Java·2y

    Leveraging JDK Tools and Updates to Help Safeguard Java Applications

    The JDK includes tools like jcmd and jdeps, which help administrators and developers secure Java applications by identifying classes, analyzing dependencies, and configuring runtime options. Tools such as jlink allow the creation of custom runtime images to minimize unnecessary functionality and potential attack surfaces. This guidance helps enhance security through proper use of system properties, environment variables, and carefully configured JDK runtimes.

  15. 15
    Article
    Avatar of jrebelJRebel·2y

    What's New With Java 22

    Oracle released Java 22 with 12 JEPs including permanent and preview features. It introduces Region Pinning for G1, Foreign Function & Memory API, Unnamed Variables & Patterns, and Launch Multi-File Source-Code Programs as permanent features. The preview features include Statements before super(...), Class-File API, String Templates, Stream Gatherers, Structured Concurrency, Implicitly Declared Classes and Instance Main Methods, and Scoped Values. JRebel 2024.2.0 adds support for Java 22.

  16. 16
    Article
    Avatar of inside_javaInside Java·2y

    Modern Java in Action – Inside.java

    A presentation about Modern Java in Action that covers various topics such as virtual threads, pattern matching, and structured concurrency. The end result is a GitHub Crawler with several Java features.

  17. 17
    Article
    Avatar of inside_javaInside Java·1y

    JDK 24 Prepares Restricted Native Access – Inside.java

    JDK 24 introduces restricted native access to improve integrity by requiring explicit approval for operations between Java and native code. Warnings will be issued for restricted operations, with plans to turn these into exceptions in the future. Developers can enable or disable these operations using new command-line options. A new tool, jnativescan, can help identify libraries using restricted methods.

  18. 18
    Article
    Avatar of java_libhuntAwesome Java Newsletter·2y

    Class File API: Not Your Everyday Java API

    The Class-File API, introduced in Java 22 and evolved in JDK 23, is designed for manipulating Java bytecode, specifically targeting developers who work on frameworks, tools, or advanced performance tuning. It aims to reduce reliance on third-party libraries like ASM by providing a more modern, efficient, and type-safe interface. Key features include lazy parsing and a focus on immutability and composability. While it offers significant benefits, broad adoption may take time due to the entrenched use of existing libraries.

  19. 19
    Video
    Avatar of java_libhuntAwesome Java Newsletter·2y

    Java Language Futures - Spring 2024 Edition

    Gavin Bman from Oracle’s Java Platform Group outlines the new features introduced in JDK 22 and provides insights into the future of Java programming through Project Amber. The talk highlights productivity-oriented features such as records, sealed classes, and pattern matching, while reflecting on the motivation behind these enhancements. These features aim to enhance developer experience and introduce new programming styles. Additionally, the session describes the iterative approach of previewing features for community feedback before finalization.

  20. 20
    Article
    Avatar of infoworldInfoWorld·2y

    Java proposal would shrink JDK by 25%

    An OpenJDK proposal aims to reduce the Java Development Kit (JDK) size by about 25% using the jlink tool to create custom runtime images without JMOD files. This would enhance Java performance in cloud environments by improving efficiency in copying JDK-inclusive container images over networks. The proposal introduces a build-time configuration option, --enable-linkable-runtime, to achieve this reduction.

  21. 21
    Article
    Avatar of flutter_communityFlutter Community·2y

    A common error for Flutter build apk

    Many Flutter plugins now require JDK 17, and failing to have it installed can lead to errors during APK builds. To resolve this, download JDK 17, set the JDK path in the project gradle.properties file, and optionally add the path to your system's environment variables.