>>635
そのパフォーマンスを改善するために

BigDecimal.ZERO, BigDecimal.ONE, BigDecimal.TEN
というものが用意されているわけだが。

Factory MethodパターンやProxyパターンなどを使って一度newした値を
再利用することでパフォーマンスを改善することができるぞ。ZEROもONEもそれと同じ仕組みだ。
Number#valueOf()はみんなそういう仕組み。

ただし小数を引数にしてBigDecimal#valueOf(double)で型を生成するのは
10進2進変換誤差が生じるのでやはり
new BigDecimal(String, MathContext)をお勧めするが。

どうしてもパフォーマンスが気になるなら
よく使うと想定される数字は

final BigDecimal PI = 3.14 = new BigDecimal("3.14");
のようにあらかじめつくっておくといい。

Factory Methodを使うのもお勧め