Archive for the ‘Core Java’ Category

Part 2 of this four-part series on Java SE Web services showed how to use the JAX-WS API to develop SOAP-based Web services. JAX-WS also supports RESTful-based Web services, which this article shows how to develop. It first defines and then builds and runs a library Web service, and next defines, builds, and runs a simple client that accesses this service.

Defining a library web service

The library Web service, which I’ve named Library, manages a library of books with … Read the rest

Now that Oracle wants to turn over leadership of enterprise Java’s (Java EE’s) development to a still-unnamed open source foundation, might the same thing happen with the standard edition of Java (Java SE) that Oracle also controls? Such a move could produce substantial benefits. But it does not seem unlikely, at least at the moment.

Oracle said it has no plans to make such a move. But the potential fruits of a such a move are undeniable.

If Oracle steps

Read the rest

Blue Ocean, the new user interface for the popular Jenkins continuous integration and continuous delivery (CI/CD) platform, will begin incorporating insights into code quality trends and static analyses, under an improvement plan detailed this week by the project’s creator.

The goal is to improve the developer’s visibility into the health of software projects, Blue Ocean creator James Dumay, director of project management at Jenkins technology vendor CloudBees, said. Plans also call for expanding the capabilities of Blue Ocean’s visual … Read the rest

Datastructures and algorithms are essential to computer science, which is the study of data, its representation in memory, and its transformation from one form to another. In programming, we use datastructures to store and organize data, and we use algorithms to manipulate the data in those structures. The more you understand about datastructures and algorithms, the more efficient your Java programs will be.

This article launches a three-part series introducing datastructures and algorithms. In Part 1, you’ll learn what a … Read the rest

A long time ago, developers wrote assembly code that ran fast and light. On good days, they had enough money in their budget to hire someone to toggle all those switches on the front of the machine to input their code. On bad days, they flipped the switches themselves. Life was simple: The software loaded data from memory, did some arithmetic, and sent it back. That was all.

Today, developers must work with teams spread across multiple continents where people … Read the rest

Everyone wants faster database queries, and both SQL developers and DBAs can turn to many time-tested methods to achieve that goal. Unfortunately, no single method is foolproof or ironclad. But even if there is no right answer to tuning every query, there are plenty of proven do’s and don’ts to help light the way. While some are RDBMS-specific, most of these tips apply to any relational database.

Whether you’re coding on SQL Server, Oracle, DB2, Sybase, MySQL, or some other … Read the rest

Described by the creators as a developer’s whiteboard “on steroids,” the Luna functional language promises to enable application assembly by clicking and dragging visual elements together.

Expected to be released as open source when Luna reaches beta, its compiler will produce native code for the developer’s choice of Linux, MacOS, Windows, or JavaScript. The team behind Luna is seeking candidates for a private alpha release.

Luna’s creators argue that because developers typically start sketching components and dependencies on a … Read the rest

Exploring puzzling code to figure out why it doesn’t do what seems obvious is one way to improve your programming skills. In this post, I introduce you to various Java-oriented puzzlers from Jens Dietrich, Joshua Bloch and Neal Gafter, and myself.

Java Library Evolution Puzzlers

Q: What is the Java Library Evolution Puzzlers?

A: The Java Library Evolution Puzzlers is a survey focused on changing Java libraries and then recompiling their client programs’ source codes or running these clients unchanged … Read the rest

With the initial release candidate build for Java 9 now published, Oracle has proposed that from here on out, only “showstopper” bugs be fixed for the production Java 9 release, which is due September 21.

The proposal floated this week represents a further tightening up of bug-fixing goals for RDP (Rampdown Phase) 2 of the Java upgrade. The plan calls for fixing all P1 (Priority 1) bugs critical to the success of Java Development Kit (JDK) 9. Also, builders … Read the rest

Oracle is proposing an update to the Java Virtual Machine to allow for direct-value class types, a modernization required by the advent of multicore processors. There is no schedule for when the changes might appear in the JVM.

The changes to the JVM specification would support a prototype of value classes—classes for which primitive-like non-reference value instances can be created and acted upon. “The proposals for value types in Java are about giving developers the alternative to give up identity … Read the rest