Section 3.1 Unicode of the JLS states:
The Java programming language represents text in sequences of 16-bit code units, using the UTF-16 encoding.