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?