在面向对象的世界,Class是java的基础。java.lang.Class实际上是继承自java.lang.Object。 class有一个方法叫做getName,该方法会返回(class, interface, array class, primitive type,或者 void)的Class名字。 如果你经常调试JVM的话,会看到下面这样奇怪的内容: 这些奇怪的内容都是class name,下面我们就来看看他们都表示什么含义。 class name其实分为三类。 如果类对象是primitive类型或者void,那么他们的class name就是相对应的关键词或者void。 输出结果: 如果是引用类型,则会返回该类的class名字: 输出结果: Array类型就有点复杂,根据Array的层级关系,会在class name之前添加[,有多少级Array就添加多少个[。 同时相应的类型会转换为相应的编码: 我们举个例子: 输出结果: 好了,上面的jcmd的输出结果是不是可以理解了? 本文的例子https://github.com/ddean2009/learn-java-base-9-to-20 本文作者:flydean程序那些事 本文链接:http://www.flydean.com/java-class-name/ 本文来源:flydean的博客 欢迎关注我的公众号:程序那些事,更多精彩等着您!jcmd 1234 GC.class_histogram
primitive类型或者void
//primary class log.info(int.class.getName()); log.info(short.class.getName()); log.info(float.class.getName()); log.info(double.class.getName()); log.info(long.class.getName()); log.info(byte.class.getName()); log.info(char.class.getName()); log.info(boolean.class.getName()); //void log.info(void.class.getName());
[main] INFO com.flydean.classname.ClassNameUsage - int [main] INFO com.flydean.classname.ClassNameUsage - short [main] INFO com.flydean.classname.ClassNameUsage - float [main] INFO com.flydean.classname.ClassNameUsage - double [main] INFO com.flydean.classname.ClassNameUsage - long [main] INFO com.flydean.classname.ClassNameUsage - byte [main] INFO com.flydean.classname.ClassNameUsage - char [main] INFO com.flydean.classname.ClassNameUsage - boolean [main] INFO com.flydean.classname.ClassNameUsage - void
引用类型
//object class log.info(Object.class.getName());
[main] INFO com.flydean.classname.ClassNameUsage - java.lang.Object
Array类型
元素类型
编码
boolean
Z
byte
B
char
C
class or interface
Lclassname;
double
D
float
F
int
I
long
J
short
S
//Array log.info(int[].class.getName()); log.info(short[].class.getName()); log.info(float[].class.getName()); log.info(double[].class.getName()); log.info(long[].class.getName()); log.info(byte[].class.getName()); log.info(char[].class.getName()); log.info(boolean[].class.getName()); log.info(Object[].class.getName()); //multiple arrays log.info(int[][][].class.getName());
[main] INFO com.flydean.classname.ClassNameUsage - [I [main] INFO com.flydean.classname.ClassNameUsage - [S [main] INFO com.flydean.classname.ClassNameUsage - [F [main] INFO com.flydean.classname.ClassNameUsage - [D [main] INFO com.flydean.classname.ClassNameUsage - [J [main] INFO com.flydean.classname.ClassNameUsage - [B [main] INFO com.flydean.classname.ClassNameUsage - [C [main] INFO com.flydean.classname.ClassNameUsage - [Z [main] INFO com.flydean.classname.ClassNameUsage - [Ljava.lang.Object; [main] INFO com.flydean.classname.ClassNameUsage - [[[I
总结
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算