JDK-8035279 : Clean up internal deprecations in BigInteger
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.math
  • Affected Version: 9
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2014-02-18
  • Updated: 2017-05-17
  • Resolved: 2014-03-07
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
9 b06Fixed
Related Reports
Relates :  
Relates :  
BigInteger has some rather ugly legacy deprecations of some private instance variables, to wit bitCount, bitLength, firstNonzeroIntNum and lowestBitSet. These should be cleaned up while ensuring that serialization backward and forward compatibility is maintained. Also, the calculations of the respective values of these variables are subject to non-critical race conditions, but this does not appear to be something which needs to be addressed.
See the comments in JDK-6348370 for some discussion of memory-model impacts of volatiles and final fields in BigInteger.

I believe the offending changes were added under JDK-6622432. Review thread: http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-February/001105.html

Discussion thread: http://mail.openjdk.java.net/pipermail/core-libs-dev/2014-February/025202.html