The article is top notch.. Thank you for such a brilliant explanation!
Small addition here, In Java, ‘char’ or ‘Character’ requires 16 bits (or 2 byte) memory because Java uses UNICODE (Universal Code) format which includes regional characters as well (like Chinese, Russian, etc). Whereas in older language like C, ‘char’ requires 8 bits (or 1 byte) memory because it only supports ASCII (American Standard Code for Information Exchange) characters.