Well, the data for "abcd" is 4 characters. Read up on "Unicode Character Representations" in the doc for Character to see how much memory each character might use.
I'm not clear if you're asking about that size, or the size of the object. We're not meant to know how much memory any Java object takes, leaving the JVM implementors some freedom in how they do things or even change from one release to another.
Finally, Strings have some special handling with literal pools and interning and such. See String doc for more on that.
Did any of that hit the mark?
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi