Loading...

Follow JavaWorld on Feedspot

Continue with Google
Continue with Facebook
or

Valid

Single-repo OpenJDK projects would move from Mercurial to Git version control under a JDK Enhancement Proposal (JEP) being reviewed by Mark Reinhold, chief architect of the Java platform group at Oracle.

A primary motivation behind the effort is reducing the size of version control metadata, which would preserve disk space and reduce clone size. The proposal notes that the .git directory of the jdk/jdk repo is approximately 300 MB with Git while the .hg directory is around 1.2 GB with Mercurial, depending on the version of Mercurial in use.

To read this article in full, please click here

  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Jakarta EE 8, an Eclipse Foundation implementation of enterprise Java that promises to be fully compatible with Java Enterprise Edition 8, is expected to arrive September 10, 2019. Eclipse has made the Jakarta EE platform specifications available on GitHub.

The foundation reported progress this week on Jakarta TCK (Technology Compatiblity Kit) Jobs, Jakarta Specification Project Names, and Jakarta Specification Scope Statements. The TCK 1.0 process document is expected to be completed in the near future. This document will cover aspects such as the materials a TCK must have in order to be considered suitable for providing portability, the process for challenging tests, and resolving them.

To read this article in full, please click here

  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Facebook has built a JavaScript engine, called Hermes, that improves the performance of React Native applications on Android devices. While the open-source engine is optimized for React Native today, it could be used to improve the performance of JavaScript-based mobile applications generally. 

Specifically, Hermes is geared to fast startup, leveraging compact bytecode and ahead-of-time static optimization. In many cases, enabling Hermes will improve startup time, decrease memory usage, and result in smaller app size.

[ Using Visual Studio Code? Don’t miss these 10 Visual Studio Code extensions for every developer. • Learn what’s new in the latest version of Visual Studio Code. | Keep up with hot topics in programming with InfoWorld’s App Dev Report newsletter. ]

Hermes currently is an opt-in feature in React Native. Most of Facebook’s React Native products on Android are already using Hermes, including Crisis Response and the Oculus companion app.

To read this article in full, please click here

  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Go (golang) 1.13, the next version of Google’s open source language, is now in a beta stage. The update supports a more uniform and modernized set of number literal prefixes.

Go 1.13 is expected to graduate to production release status in August 2019. Language changes in the release abide by the golang number literal proposal, which extends the language to make it easier for developers to move between Go and other “C-numbered” languages including C, C++, C#, Java, and JavaScript. 

To read this article in full, please click here

  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

If you’re starting a new machine learning or deep learning project, you may be confused about which framework to choose. As we’ll discuss, there are several good options for both kinds of projects.

TensorFlow

To read this article in full, please click here

(Insider Story)
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 
JavaWorld by Jeff Friesen - 3d ago

Java interfaces are different from classes, and it's important to know how to use their special properties in your Java programs. This tutorial introduces the difference between classes and interfaces, then guides you through examples demonstrating how to declare, implement, and extend Java interfaces.

You'll also learn how the interface has evolved in Java 8, with the addition of default and static methods, and in Java 9 with the new private methods. These additions make interfaces more useful to experienced developers. Unfortunately, they also blur the lines between classes and interfaces, making interface programming even more confusing to Java beginners.

To read this article in full, please click here

  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

A proposal floating in the OpenJDK community seeks to jumpstart Java on Apple’s iOS. The plan involves restarting work on the OpenJDK Mobile project, which is intended to build the OpenJDK classes and API for iOS and Android, said Johan Vos, CTO at mobile developer Gluon.

Vos recently posted a bulletin pertaining to these efforts. OpenJDK Mobile centers on providing the same APIs in the latest version of the OpenJDK source repository to iOS and Android, leveraging tools familiar to Java developers. The first focus, though, is on iOS, which has lacked traditional support for Java. Apple has not allowed the Java Virtual Machine to run on the platform.

To read this article in full, please click here

  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Java would get a new graphics rendering pipeline for MacOS based on Apple’s Metal graphics APIs, under a proposal called the Lanai Project, being floated in the OpenJDK community.

Engineers from Oracle and JetBrains already have been exploring the Metal APIs, working on proofs of concept and prototypes in the JDK sandbox. Metal was designed as a long-term replacement for OpenGL as a rendering pipeline on Apple platforms, offering better performance and simpler GPU designs.

[ The new Java is coming! Learn everything you need to know about what’s new in Java JDK 13. | Discover the Jakarta EE enterprise Java roadmap. | Keep up with hot topics in programming with InfoWorld’s App Dev Report newsletter. ]

The Java Development Kit and OpenJFX currently use OpenGL, which Apple has deprecated. Currently, if OpenGL is not present in a MacOS system, JDK desktop APIs cannot function and will not start. OpenJFX is in a similar spot. Goals of Lanai include:

To read this article in full, please click here

  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Classes and objects in Java must be initialized before they are used. You've previously learned that class fields are initialized to default values when classes are loaded and that objects are initialized via constructors, but there is more to initialization. This article introduces all of Java's features for initializing classes and objects.

Note that code examples in this tutorial compile and run under Java 12.

How to initialize a Java class

Before we explore Java's support for class initialization, let's recap the steps of initializing a Java class. Consider Listing 1.

To read this article in full, please click here

  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Oracle’s shift from doing a major release of standard Java every three years to doing releases every six months, a plan announced in September 2017, has resulted in versions with far fewer new capabilities than before. And that are perhaps far less interesting.

Java Development Kit (JDK) 13, due in September, has just five new features, including a preview of text blocks and an enhancement to the Z garbage collector. Now in a rampdown phase in its development, JDK 13 follows JDK 12, released in March. JDK 12 had eight new features, including a preview of switch expressions.

To read this article in full, please click here

Read for later

Articles marked as Favorite are saved for later viewing.
close
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Separate tags by commas
To access this feature, please upgrade your account.
Start your free month
Free Preview