qqp question1: Pls tell me in detail, how this thing actually works in java.Unicode is 16 bit character set, but then how int type of 32 bit works? Im confused? question2: How it is possible for pointer to store address of more than 2 bytes?