1.JVM运行原理
首先要对字节码文件进行类的加载,进行类的加载时需要java类库的支持,然后通过字节码解释器和JIT即时编辑器分别执行引擎,最后将结果输出到硬件上.
2.float类型和long类型哪个取值范围更大
float类型在java中占四个字节,long类型占八个字节,但是float类型的取值范围比long类型的取值范围更大,这是因为float类型的32位,被分成了几个区域,第一位是符号位,第二位到第九位为指数,最后第十位到第三十二位为尾数位.
所以它的计算公式为V=(-1)^s * M * 2^E
所以float类型的范围是:一3.403E38~3.403E38
而long类型的取值范围为:-2^63~2^63-1
所以float的取值范围比long的取值范围更大.
3.数据类型解析
数据类型分为基本数据类型和引用数据类型
其中基本数据类型又分为数字型和非数字型
其中数字型为 byte short int long float double
非数字型 char boolean
数据类型 | 位数 | 字节 | 取值范围 | 默认值 |
---|---|---|---|---|
字节型 byte | 8 | 1 | -128~127 | 0 |
短整型 short | 16 | 2 | -32768~32767 | 0 |
整型 int | 32 | 4 | -2^31-2^31 - 1 | 0 |
长整型 long | 64 | 8 | -2^63-2^63 -1 | 0 |
浮点型 float | 32 | 4 | 一3.403E38~3.403E38 | 0.0f |
双精度 double | 64 | 8 | 0.0d | |
字符型 char | 16 | 2 | \u0000-\uffff | |
布尔型 bollean | 1 | true or false | false |