Java BigDecimal is a class that provides immutable, arbitrary-precision decimal arithmetic. It is used when more precision than the Java double type can provide is required, such as in financial calculations. BigDecimal allows for exact representation and control over rounding behavior, avoiding the issues that arise from floating-point arithmetic. Introduced in Java 1997 with Java 1.2, BigDecimal is widely used in applications that require precise calculations, such as accounting software or scientific applications.
https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html