Java 17 is now the favorite brew of developers, along with
Java 17 surpasses Java 11 as the most widely used long-term support version, with increased adoption rates signaling rapid technology changes in the Java ecosystem. [ more ]
New Relic: Developers swiftly embracing newer Java releases
Java remains popular due to scalability and portability. Newer versions like Java 21 and 17 see accelerated adoption for their advancements in stability, security, and performance. [ more ]
Unions in Java allow for defining types that can hold various but predetermined types, offering an alternative to traditional object-oriented approaches. [ more ]
JetBrains IntelliJ IDEA 2024.1 Delivers Support for Java 22 Features
IntelliJ IDEA 2024.1 supports Java 22 features, OpenRewrite, WireMock server, and Maven Shade Plugin with enhanced features like full line code completion for Java and Kotlin. [ more ]
Graal Cloud Native Announces New Name - Graal Development Kit for Micronaut - And New Version 4.3.7
Graal Cloud Native is now Graal Development Kit for Micronaut, aligned with Micronaut framework and simplifying cloud application development. [ more ]
Java News Roundup: WildFly 32, JEPs Proposed to Target for JDK 23, Hibernate 6.5, JobRunr 7.1
JEP 476, Module Import Declarations (Preview), JEP 474, ZGC: Generational Mode by Default, and JEP 467, Markdown Documentation Comments, are proposed for JDK 23. [ more ]
Java at the heart of delivering German Health Care Insurance excellence
The German health system is funded through mandatory health care insurance with statutory and standard plans.
TK, a leading health insurance provider in Germany, uses innovative Java solutions to adapt to legislative changes and ensure quality service. [ more ]
Comparing Kotlin, Go (Golang), Rust, Scala, and Perl Programming Languages
Kotlin, Go (Golang), Rust, Scala, and Perl are programming languages that offer unique features and cater to different niches in programming.
Syntax and ease of learning vary among these languages, with Kotlin being concise, Go focusing on simplicity, Rust emphasizing safety and performance, Scala combining object-oriented and functional programming, and Perl being flexible but cryptic to newcomers. [ more ]
Using JSON Relational Duality Views with Micronaut Framework
Oracle Database 23c introduces the JSON Relational Duality View, which allows data to be stored in relational tables but accessed by applications in the form of JSON documents.
Developers can think in terms of JSON documents for data access while benefiting from efficient relational data storage.
Duality Views simplify the process of retrieving complex data by hiding the complexities of database level concurrency control. [ more ]
Takeaway 1: Java remains the most popular programming language globally due to its platform independence, stability, performance, and vibrant ecosystem.
Takeaway 2: Java continues to evolve and adapt to modern application development needs, allowing enterprises to accelerate mission-critical app development in both on-prem and cloud environments.
Takeaway 3: Oracle, the steward of Java, demonstrates commitment to open development, innovation, and providing enterprise-grade value beyond the language and platform, enabling businesses to maintain, modernize, and create Java solutions tailored for hybrid deployment environments. [ more ]
Easily install Oracle Java on Oracle Linux in OCI: It's a perfect match!
You can quickly and easily install Oracle Java and Oracle Linux on Oracle Cloud Infrastructure (OCI) by using the Oracle Cloud Infrastructure's Compute Image.
You can create an Oracle Linux image using the Oracle-provided images in the Marketplace or by using your own custom image.
The Oracle-provided images are fully configured and preconfigured, allowing you to get up and running quickly and easily on Oracle Cloud Infrastructure. [ more ]
Micronaut Framework 4: Faster, More Cloud Native, Better Than Ever
Micronaut 4 is now available, offering faster performance, improved cloud-native capabilities, and better support for Java.
Micronaut 4 features a new GraalVM native-image build time, reducing startup time to less than 1 second.
Micronaut 4 also provides support for Oracle JDK Flight Recorder and Java Mission Control, enhancing the performance of Java applications running on the platform. [ more ]
In Java and other JVM languages, "volatile" reads and writes are part of the concurrency toolbox.But adding volatile on variables can be a mistake.This is a poorly understood concept.Let's gain a better understanding.Misconceptions # Some common ones:
Volatile variables ensure "visibility" - but the notion is misleading, because it's not about visibility per se, as all updates to variables are eventually seen by all other threads, and marking a variable as volatile doesn't necessarily publish changes to that variable any sooner (although in fairness, x86 CPUs have stronger ordering guarantees than ARM CPUs in this regard, so there may be differences of behavior for normal variables, depending on what you're doing);
Volatile variables are not for "synchronization" - which is false, as volatile reads and writes are a form of synchronization, even if the guarantees are weaker than when using locks or when using compare-and-set (CAS).
We're pleased to announce the general availability of Graal Cloud Native (GCN) v3.8.5.GCN is a curated set of Micronaut framework modules that simplify multicloud application development and are designed from the ground up to be compiled ahead-of-time with GraalVM Native Image.GCN enables you to easily build portable cloud native Java microservices that start instantly and use fewer resources to reduce compute costs.. Research shows that cloud native and multicloud are becoming more prevalent.
With the whole Java Card team, I am delighted to announce the new Java Card 3.2 release.It is now live and available on the portal of Oracle: Java Card 3.2 This release continues and completes the great Java Card achievements already described and presented on the occasion of the twenty-fifth anniversary of the technology ( 25 years anniversary and 25 years we sow).
Oracle goes on hunt for Java non-compliance | Computer Weekly
Analyst Gartner has warned that new changes to Java licensing has meant Oracle will actively target organisations, even those who do not run any Oracle products, on Java compliance.Gartner reported that in the 12-month period leading up to 31 December 2022, 52% of the Oracle software compliance and audit-related interactions focused on Oracle Java.
Oracle Java licensing refit means price hikes, say expert
Oracle stands accused of "predatory" licensing tactics after making changes to the Oracle Java SE subscription model that could force businesses to pay tens of thousands of dollars more each month for running the same software.Industry experts have pointed out that businesses with limited Java use would have to license the software per employee under the new model, a dramatic shift from the one Oracle previously afforded them.
Elegance at Speed Ruby is one of my favourite programming languages.I really appreciate how expressive it is, how productive (and how much fun) it makes development.Unfortunately Ruby has a reputation for being slow compared to other languages such as JavaScript.While the performance of the default Ruby interpreter has improved, it still hasn't had the engineering investment that goes into V8.
Changes in the Oracle JDK Installers (JDK 17, 11, and 8)
JDK 19 introduced several .These changes make it easier for system administrators to keep their Java runtimes current with the most recent updates, and have the Java programs that rely on those runtimes find the updated versions.The changes are being back-ported from JDK 19 to JDK 17, 11, and 8, so they will soon apply to those versions as well.
Thomas Wuerthinger and team honored for accelerating dynamic language interpreters
The paper " Self-Optimizing AST Interpreters" by Oracle's Thomas Wuerthinger, Christian Wimmer, et al. (2012) was awarded the Dynamic Language Symposium (DLS) " Most Notable Paper Award" at Splash 2022.The paper describes how dynamic language performance can be improved by optimizing the interpreter at runtime.
Eclipse Migration Toolkit for Java (EMT4J) Simplifies Upgrading Java Applications
Adoptium has introduced the Eclipse Migration Toolkit for Java (EMT4J), an open source Eclipse project capable of analyzing and upgrading applications from Java 8 to Java 11 and from Java 11 to Java 17. EMT4J will support upgrading to future LTS versions.Organizations advise keeping the Java runtime up-to-date to get security and functional improvements.
Adoption of Java Virtual Threads will continue to grow as frameworks, such as Helidon and Vert.x, have introduced their own Virtual Threads platforms.Adoption of Native Java will also continue to grow as Project Leyden, having been dormant for two years, was resurrected in May 2022, and there is support from frameworks such as Spring.
C++ overtakes Java in programming popularity index
Java is no longer among the top three most popular programming languages in the TIOBE Index, one of several not particularly definitive yardsticks by which such things are measured.According to Paul Jansen, CEO of Netherlands-based TIOBE Software, the rising popularity of C++ has pushed Java down a notch.
and X25519 X448 named curves and key agreement operation as specified in RFC 7748.It defines a key agreement scheme that is more efficient and secure than the existing ECDH scheme, and that is also used in TLS1.3 ED25519 and ED448 named curves and related signature operation, the Edwards-Curve Digital Signature Algorithm (EdDSA), as specified in RFC 8032
Cipher Feedback mode - AES-CFB mode, typically used for stream ciphering.
Certificate API.Cryptographic certificates are critical for security and serve as a basis in a public key infrastructure (PKI) to establish trust between different entities.A notable example of a protocol using cryptographic certificates is the Transport Layer Security (TLS) protocol.Based on certificate chains, a client (such as an IoT gateway) and a server (for example, an IoT cloud service) can authenticate each other.
I have been a little bit surprised to hear during travels and events, or even within private meetings, that security certification for IoT devices is too expensive and in a way not a strict business requirement.Such statements can be refuted by basic economics, and explained by simple sociological considerations.
Prior to getting into more details about the evolution of Java Card technology in future posts, I would like to point out two common clichés about the platform : 1st cliché: "Java Card is just for smart cards.""Card" in Java Card is a misnomer.A more accurate name (but will less marketing appeal) may be "Java for resource-constrained devices to run securely Java technology-based applications".
Java Card 3.1: Enhanced deployment model and core features
Java Card 3.1 introduces an extended file format, the management of static resources, binary compatibility improvements, and the support of array views.Those features evolve the deployment and upgrade of applications, and they permit better design modularity and security as well.Extended CAP file format and deployment model The base unit in the Java Card deployment model is the Java Card converted application (CAP) file.
I always hear that when the TLS protocol is used between a client and a server then everything is secure to exchange data in between the two !I would like to stress a little bit this assumption in particular in the context of the IoT where billions of devices connect to the cloud.Indeed if we make abstraction of the way keys and sensitive secrets are generated and used on both sides the protocol is hopefully secure (version TLS 1.3 is the latest one) but we obviously need to consider the handshake part of the TLS protocol during which authentication and secrets sharing are performed.
2022 is special !This is the 25 years anniversary of Java Card as reflected in a previous post where experts detail the history and the reasons of its success story.How this success story makes Java Card technology so pervasive in our lives ?When you pay - leading payment institutions trust Java Card to host their applications on cards or mobile phones When you make a call - Cellular connectivity flexibility security is enabled by Java Card for telcommunications, the Internat of Things and Automotive When you pass a border - Governments depend upon Java Card to secure electronic ID and passport When you access the cloud - Enterprise and cloud services rely on Java Card to securely authenticate access Security, Interoperability and Standardization are key words of this success !Want to discover and learn more about Java Card ?
javacardx.framework.eventEvent sources that represent any external peripheral or I/O interface with the host or another device.This could also include an internal source of event (hardware or software).These source of events could be for example: a GPIO pin or port, an UART interface, a memory-mapped I/O, an I2C bus, a watchdog timer... Once an event source is defined and the corresponding class made available by platform implementer, the application can use it to register itsEvent Listener​ to receive events data from this source.
VMware Brings Java 17 Support to Spring Boot Framework
By: Mike Vizard on VMware this week made a Spring Boot 3.0 update for building microservices-based Java applications that is based on the latest long-term support release for the Java Standard Edition (SE) platform.Michael Minella, senior director of software engineering at VMware, said the latest edition of the framework supports Java 17.
Java write/save FAQ: Can you share an example of how to write to a file in Java?Sure.Here are two "Java file save" or "Java file write" examples, taken from my Java file utilities article ( Java file utilities to write, save, open, read, and copy files).I'm not going to explain these too much, but if you need a simple method to write to a file in your Java programs, I hope these methods will help you.
Creating and populating a Java ArrayList (Java 9 and newer)
If you want to create and populate a Java ArrayList with Java 9, 11, and newer, you can use this syntax:
List<> ints = ArrayList<Integer>(List.of(1,2,3));As shown, this uses the usual ArrayList constructor and the Java List.of method.Once you have an ArrayList like this you can continue to add new elements to it as usual:
Introduction There has been a lot of interest in the past few years about "native Java".You've probably read articles or seen conference talks on the subject.TL;DR - "native Java" Traditionally Java programs are compiled to bytecode.At runtime the bytecode is first interpreted and eventually compiled to native machine code by a JVM.
Oracle's Java Management Service can shine a light on which versions of Java you're running, what apps are running on them, and which installs are outdated.
The GraalVM 22.3 release delivers several new features including much anticipated support for Java 19 along with preview support for Project Loom virtual threads in both JVM JIT and Native Image ahead-of-time compiled applications.
JDK 19.0.1, 17.0.5, 11.0.17, and 8u351 Have Been Released!
The Java SE 19.0.1, 17.0.5, 11.0.17, and 8u351 update releases are now available.You can download the latest JDK releases from the Java SE Downloads page.
Did you know #JavaOne is back ?Among a plethora of great sessions, two Java Card sessions will be on stage.This is a great opportunity to follow up on the technology and features to come.
Oracle joins Micronaut Foundation as Engineering Partner
As a significant contributor of development resources to the open source Micronaut® framework, Oracle is proud to announce that it has joined the newly-launched Micronaut® Foundation Engineering Partner program.
go back and forward is such an amazing feature, probably one of the big reasons I use idea. i wish i could use more sublime/vscode but intellij is still the winner for me