Does Java have a limit on the class name length?

后端 未结 4 1210
既然无缘
既然无缘 2020-12-05 22:57

This question came up in Spring class, which has some rather long class names. Is there a limit in the language for class name lengths?

4条回答
  •  醉酒成梦
    2020-12-05 23:37

    65535 characters I believe. From the Java virtual machine specification:

    The length of field and method names, field and method descriptors, and other constant string values is limited to 65535 characters by the 16-bit unsigned length item of the CONSTANT_Utf8_info structure (§4.4.7). Note that the limit is on the number of bytes in the encoding and not on the number of encoded characters. UTF-8 encodes some characters using two or three bytes. Thus, strings incorporating multibyte characters are further constrained.

    here:

    https://docs.oracle.com/javase/specs/jvms/se6/html/ClassFile.doc.html#88659

提交回复
热议问题