Java uses UNICODE (Universal Code) representation which accepts all the language formats in the world. Java used as a internationalize so, its work in different languages and need to space more than one byte, that's why its take 2byte of space in char.
Why is a Java character 2 bytes?
And, every char is made up of 2 bytes because Java internally uses UTF-16. For instance, if a String contains a word in the English language, the leading 8 bits will all be 0 for every char, as an ASCII character can be represented using a single byte.
Why char uses 2 bytes in Java and what is u0000?
Java was designed for using Unicode Transformed Format (UTF)-16, when the UTF-16 was designed. The 'char' data type in Java originally used for representing 16-bit Unicode. Therefore the size of the char data type in Java is 2 byte, and same for the C language is 1 byte. Hence Java uses Unicode standard.