BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Java Content on InfoQ

  • Type Annotations in Java 8: Tools and Opportunities

    With Java 8, annotations can be written not only on declarations, but on any use of a type such as types in declarations, generics, and casts. This article introduces the new type annotation syntax and practical tools to boost productivity and build higher-quality software.

  • Intuitive, Robust Date and Time Handling, Finally Comes to Java

    Date and time are fundamental concepts to many applications, yet Java SE had no good API to handle them; until now! With Java SE 8, java.time provides a well-structured API to cover date and time. In this article, JSR-310 (Java Date and Time API's) spec-lead and Jodatime author Stephen Colbourne discusses the new API's as well as the background for Date and Time handling in Java 8.

  • Nashorn - The Combined Power of Java and JavaScript in JDK 8

    With JDK 8, Nashorn replaces Rhino as Java’s standard JavaScript engine for the benefit of improved performance and compatibility. Avatar.js brings the popular Node framework’s programming model to Nashorn, enabling many JavaScript server applications to run in a Java environment. In this article JavaScript expert Oliver Zeigermann explains the hows and the why's.

  • Exploring Micro-Frameworks: Spring Boot

    Get started with Spring Boot, a Java-orientated micro-frameworks. In this tutorial, you will learn how to install it, develop a Spring Boot app, develop a microservice step by step, also checking for security and how to package your Spring Boot app. It includes code snippets.

  • OpenJDK and HashMap …. Safely Teaching an Old Dog New (Off-Heap!) Tricks

    The OpenJDK Off-Heap JEP will be a radical departure from traditional Java priorities, seeking to standardize a facility for efficiently manipulating off-heap memory. This article surveys the impact this JEP will have to empower Java HashMap with new off-heap capabilities. Simply put, this JEP may be just the magic that can “teach” HashMap (that lovable old dog) some new tricks.

  • Interview with Andy Piper on the Eclipse Paho project and the Internet of Things

    MQTT provides the communications link for low-power systems. InfoQ caught up with Andy Piper, lead of the Eclipse Paho project, to find out more about the history of MQTT and why it is being used by internet scale companies such as Facebook.

  • Custom Assertions in Java Tests

    Using so-called "matcher libraries" to implement custom assertions to make tests more readable and maintainable.

  • From Imperative Programming to Fork/Join to Parallel Streams in Java 8

    The authors compare different methods to compute the variance of a large data set using an imperative style, The fork/join framework and the new Streams API in Java 8

  • Modern Enterprise Performance Analysis Antipatterns

    In this article we present some of the most common performance analysis antipatterns in the enterprise platform, expressed in terms of their basic causes along with remediation strategies.

  • ActiveJPA – Active Record Pattern for JPA

    ActiveJPA is a Java implementation of Martin Fowler’s Active Record pattern that wraps around JPA and provides useful abstractions to simplify data access. With ActiveJPA, models themselves act as a DAO and interact with the database without requiring additional code for the DAL. In this article the primary committer discusses ActiveJPA and provides plenty of usage examples.

  • Discover and Diagnose Java Concurrency Problems Using Contemplate's ThreadSafe

    Writing Java software that correctly and safely makes use of concurrency requires careful thought. Software that incorrectly accounts for concurrency can contain intermittent defects that elude even the most rigorous testing regimes. Static analysis tools can analyze source code or compiled bytecode to discover latent bugs hidden within code, long before it is executed.

  • Pragmatic Techniques for Maintaining a Legacy Application

    Maintaining a legacy application can make you feel like mice in a maze. In this article Ping Chen shares her experiences on how to pragmatically maintain a large legacy application. "Pragmatic” is the operative word; since a legacy application can have lots of technical debt, one has to be strategic in choosing the right battles.

BT