NAG Library for Java Release 2 enables the calling of precisely 1,784 mathematical and statistical routines to aid complex computation, and enhanced error reporting enables increased precision from computation results. It provides abstract classes for callback functions. Additional features include multi-start (global) optimization, non-negative least squares (local optimization), nearest correlation matrix, inhomogeneous time series, Gaussian mixture model, confluent hypergeometric function (1F1), Brownian bridge and random fields, best subsets, real sparse eigenproblems, matrix functions, and two-stage spline approximation. Detailed documentation provides background information and function specification, guiding users to the right function for their problem via decision trees.