Groovy, Scala, and Clojure offer many extension mechanisms, whereas inheritance is virtually the Java language's only option. This installment looks at category classes, the ExpandoMetaClass, implicit casts, and protocols as ways to extend Java classes with the Java.next languages.
Rapidly changing application environments require a flexible mechanism to
store and communicate data between different application tiers. JSON (Java
Script Object Notation) has proven to be a key technology for mobile,
interactive applications by reducing overhead for schema designs and
eliminating the need for data transformations.
DB2 JSON enables developers to write applications using a popular
JSON-oriented query language created by MongoDB to interact with data stored in IBM DB2
for Linux, UNIX, and Windows or IBM DB2 for z/OS. This driver-based solution
embraces the flexibility of the JSON data representation within the context of
a RDBMS, which provides established enterprise features and quality of service. This DB2
NoSQL capability supports a command-line processor, a Java API, and a wire
listener to work with JSON documents. In this article, you will set up a DB2
database to support NoSQL applications and walk through a scenario that introduces
basic features of the DB2 JSON command-line processor to help you get started with
your own applications.
In this series, HTML5 maven David Geary shows you how to implement an HTML5 2D
video game one step at a time. In this installment, you'll complete Snail Bait's
mechanics by learning how to incorporate gravity when the runner falls.
Then, you'll see how to implement sound — both a musical soundtrack and sound effects.
DB2 JSON enables developers to write applications using a popular JSON-oriented query
language created by MongoDB to interact with data stored in IBM DB2 for Linux, UNIX, and Windows or IBM DB2 on z/OS. This driver-based solution embraces the flexibility of the JSON data
representation within the context of a RDBMS with well-known enterprise features and
quality of service. This DB2 NoSQL capability supports a command-line processor,
a Java API, and a wire listener to work with JSON documents.
In this article, the IBM NoSQL Wire Listener for DB2 is introduced. It parses messages based on the MongoDB wire protocol.
It thus enables using MongoDB community drivers, and the skills acquired when working with these drivers, to store, update
and query JSON documents with DB2 as JSON store.
DB2 JSON enables developers to write applications using a popular
JSON-oriented query language created by MongoDB to interact with data stored
in IBM DB2 for Linux, UNIX, and Windows or IBM DB2 for z/OS. This driver-based solution embraces
the flexibility of the JSON data representation within the context of a RDBMS
with well-known enterprise features and quality of service. This DB2 NoSQL
capability supports a command-line processor, a Java API, and a wire listener
to work with JSON documents. The DB2 JSON Java API is the backbone of the
command-line processor and the wire listener, and supports writing custom
applications. The article introduces basic methods with a sample Java program
and discusses options to optimize storing and querying JSON documents.
The IBM Monitoring and Diagnostic Tools for Java – Garbage Collection and Memory Visualizer, new tooling from IBM, is designed to
help diagnose and analyze memory-related Java performance problems. This article,
the second in a four-part series, explains how to obtain and use the toolkit and
demonstrates how you can use it to quickly diagnose some common problems.
Java applications have become increasingly complex; as a
result, diagnosing problems in these applications is a non-trivial task and may
require extensive work with an external service organization. A helpful pointer in
the right direction could save both time and expense. The IBM Diagnostic and Monitoring Tools for Java – Dump Analyzer
is a tool that performs basic analysis against a formatted system dump and produces
a concise report indicating what it thinks your next course of action should be.
IBM Monitoring and Diagnostic Tools for Java – Health Center is a tool for monitoring a running Java application. It reports on all aspects of system health via charts, graphs, and tables, and it makes recommendations for fixing problems. The Health Center includes an extremely low-overhead method profiler, a garbage-collection visualizer, a locking profiler to identify contention bottlenecks, and a configuration explorer. Find out how you can use this tool to diagnose and fix performance, configuration, and stability issues in your applications.
Uncover the basics of cross-site scripting attacks and learn how you can
prevent them using a Java-based approach to encode HTML output from a server.
Redis is a key-value NoSQL datastore solution. Spring Data Redis is a Spring
portfolio project that helps Java developers build Spring applications with Redis,
without needing to work directly with the low-level Redis API. This article introduces
Redis and then shows how to build a simple dictionary application by using the Spring Data Redis API.
JMeter is a powerful testing tool that you can use to test applications
that run in the cloud. But managing and maintaining JMeter scripts can be
challenging if you don't know how to use JMeter effectively. This article
presents techniques that can help you implement well-designed, automated
JMeter tasks in your cloud-based application testing.
The Java language's primary paradigm, object orientation with single
inheritance, effectively models most but not all programming problems. The Java.next languages extend this paradigm in various ways, including mixins and traits. This Java.next installment defines the mechanisms that mixins and traits share, and it delves into the subtle differences between mixins in Groovy and traits in Scala.
Apache Lucene and Solr are highly capable open source search
technologies that make it easy for organizations to enhance data access
dramatically. With the 4.x line of Lucene and Solr, it's easier than ever to
add scalable search capabilities to your data-driven applications. Lucene and
Solr committer Grant Ingersoll walks you through the latest Lucene and Solr
features that relate to relevance, distributed search, and faceting. Learn how
to leverage these capabilities to build fast, efficient, and scalable
next-generation data-driven applications.
develop systems of engagement. In this article, see the results achieved by an
IBM Extreme Blue team who used Node and MongoDB with IBM Passes,
an application that demonstrates the notion of systems of engagement. Their
experience with Node and MongoDB provides interesting insight into how rapid
application development can be achieved with these solutions that are starting
to appear in the enterprise.
Banner grabbing is often the first step before a full-blown cyber attack, but
it's easy to prevent. Learn how to secure your Apache Tomcat installation against version-based exploits by overriding the default parameters in your Server.xml and ServerInfo.properties files.
All of the Java.next languages include currying and partial application
but implement them in different ways. This installment explains both
techniques, distinguishes between them, and shows implementation details —
and practical uses — in Scala, Groovy, and Clojure.
All of the Java.next languages include functional programming
constructs, which enable you to think at a higher level of abstraction.
However, differences in terminology among the languages can make it difficult
to see similar constructs. This installment shows how common functional
programming constructs manifest in the Java.next languages, pointing out some
subtle differences in the implementation details of those features.
Java 8 incorporates important new language features that give you easier
ways to construct programs. Lamba expressions define a new syntax for inline
code blocks that gives you the same flexibility as anonymous inner classes,
with much less boilerplate. Interface changes make it possible to add to
existing interfaces without breaking compatibility with existing code. Learn
how these changes work together.
Combine DITADoclet and DITA API specialization to save time and still
produce quality API documentation directly from the Java source
Java 8 incorporates new language features and added classes that give
you easier ways to construct programs, including concurrent programs. Learn
about new, powerful parallel-processing support in the language made possible
by Java 8 extensions, including CompletableFuture and streams. You'll
recognize similarities between these new features and some of the Scala
capabilities that you explored in the first article of this series.