Java

Manipulating emojis in Java, or: What is 🐻 + 1?

Manipulating emojis in Java, or: What is 🐻 + 1?

Warning: The code you’re about to see has no redeeming qualities whatsoever. We hope you enjoy it as much as we do. 

If you’re like us, you’ve probably been wondering about how to manipulate emojis in your Java programs. Or perhaps you’ve been thinking about that age-old question, “What is 🐻 + 1?” Thanks to a recent coding session in which yr author spent what could have been several productive hours going down a 🐰🕳(rabbit hole), we can help you answer that question.

Continue reading “Manipulating emojis in Java, or: What is 🐻 + 1?”

Share
DevNation Live: Revisiting Effective Java in 2019

DevNation Live: Revisiting Effective Java in 2019

DevNation Live tech talks are hosted by the Red Hat technologists who create our products. These sessions include real solutions and code and sample projects to help you get started. In this talk, Edson Yanaga, Director of Developer Experience at Red Hat, reviews some tips from the classic Effective Java book to help you update your Java skills.

Continue reading “DevNation Live: Revisiting Effective Java in 2019”

Share
DevNation Live: 17-million downloads of Visual Studio Code Java extension

DevNation Live: 17-million downloads of Visual Studio Code Java extension

DevNation Live tech talks are hosted by the Red Hat technologists who create our products. These sessions include real solutions and code and sample projects to help you get started. In this talk, you’ll learn about Visual Studio Code from Bob Davis, Principal Product Manager in Red Hat’s Developer Tools Group.

Continue reading “DevNation Live: 17-million downloads of Visual Studio Code Java extension”

Share
API-first design with OpenAPI and Red Hat Fuse

API-first design with OpenAPI and Red Hat Fuse

API-first design is a commonly used approach where you define the interfaces for your application before providing an actual implementation. This approach gives you a lot of benefits. For example, you can test whether your API has the right structure before investing a lot of time implementing it, and you can share your ideas with other teams early to get valuable feedback. Later in the process, delays in the back-end development will not affect front-end developers dependent on your service so much, because it’s easy to create mock implementations of a service from the API definition.

Much has been written about the benefits of API-first design, so this article will instead focus on how to efficiently take an OpenAPI definition and bring it into code with Red Hat Fuse.

Continue reading “API-first design with OpenAPI and Red Hat Fuse”

Share
Shenandoah GC in JDK 13, Part 3: Architectures and operating systems

Shenandoah GC in JDK 13, Part 3: Architectures and operating systems

In this series, I’ve been covering new developments of Shenandoah GC coming up in JDK 13. In part 1, I looked at the switch to load reference barriers, and, in part 2, I looked at plans for eliminating an extra word per object. In this article, I’ll look at a new architecture and a new operating system that Shenandoah GC will be working with.

Continue reading “Shenandoah GC in JDK 13, Part 3: Architectures and operating systems”

Share
Shenandoah GC in JDK 13, Part 1: Load reference barriers

Shenandoah GC in JDK 13, Part 1: Load reference barriers

In this series of articles, I will introduce some new developments of the Shenandoah GC coming up in JDK 13. Perhaps the most significant, although not directly user-visible, change is the switch of Shenandoah’s barrier model to load reference barriers. This change resolves one major point of criticism against Shenandoah—the expensive primitive read-barriers. Here, I’ll explain more about what this change means.

Continue reading “Shenandoah GC in JDK 13, Part 1: Load reference barriers”

Share