Java 101: Datastructures and algorithms in Java, Part 4

See the original posting on JavaWorld

Like arrays, linked lists are a fundamental datastructure category upon which more complex datastructures can be based. Unlike a sequence of elements, however, a linked list is a sequence of nodes, where each node is linked to the previous and next node in the sequence. Recall that a node is an object created from a self-referential class, and a self-referential class has at least one field whose reference type is the class name. Nodes in a linked list are linked via a node reference. Here’s an example:


class Employee
{
   private int empno;
   private String name;
   private double salary;
   public Employee next;
   // Other members.
}

In this example, Employee is a self-referential class because its next field has type Employee. This field is an example of a link field because it can store a reference to another object of its class–in this case another Employee object.

To read this article in full, please click here

5 common pitfalls of CI/CD—and how to avoid them

See the original posting on JavaWorld

Devops may be one of the haziest terms in software development, but most of us agree that five activities make devops what it is: continuous integration, continuous delivery, cloud infrastructure, test automation, and configuration management. If you do these five things, you do devops. Clearly, all five are important to get right, but all too easy to get wrong. In particular, continuous integration and continuous delivery (CI/CD) may be the most difficult devops moves to master.

Continuous integration (CI) is a process in which developers and testers collaboratively validate new code. Traditionally, developers wrote code and integrated it once a month for testing. That was inefficient—a mistake in code from four weeks ago could force the developers to revise code written one week ago. To overcome that problem, CI depends on automation to integrate and test code continuously. Scrum teams using CI commit code daily at the very least, while a majority of them commit code for every change introduced.

To read this article in full, please click here

Java 11 roadmap: The new features you can expect

See the original posting on JavaWorld

GitHub’s tool reduces open source software license violations

See the original posting on JavaWorld

GitHub has open-sourced its Licensed tool, a Ruby gem that caches and verifies the status of license dependencies in Git repos.

Licensed has helped GitHub engineers who use open source software find potential problems with license dependencies early in the development cycle. The tool reports any dependencies needing review.