Short answer is Unicode -but that's not enough.
From Java Language Specification:
"Except for comments (?.7), identifiers, and the contents of character and string literals (?.10.4, ?.10.5), all input elements (?.5) in a program are formed only from ASCII characters (or Unicode escapes (?.3) which result in ASCII characters). ASCII (ANSI X3.4) is the American Standard Code for Information Interchange. The first 128 characters of the Unicode character encoding are the ASCII characters."
There's more that applies, I'll not quote it, read chapter 3 of JLS for details.
http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html