A existing charset mapping disappears when a new mapping is added by sun.nio.cs.map system property.
For example, when a new mapping is added with giving the system property,
-Dsun.nio.cs.map=Windows-31J/Shift_JIS,
the available charsets and these aliases are changed as below.
w/o -Dsun.nio.cs.map=Windows-31J/Shift_JIS
windows-31j -> [MS932, windows-932, csWindows31J]
Shift_JIS -> [shift_jis, x-sjis, sjis, shift-jis, ms_kanji, csShiftJIS]
w/ -Dsun.nio.cs.map=Windows-31J/Shift_JIS
windows-31j -> [MS932, x-sjis, shift_jis, shift-jis, ms_kanji, windows-932, csWindows31J, csShiftJIS]
The issue is reproducible in JDK 11 and 14, and not reproducible in the JDK 8u221.
It is a regression from JDK 9.