【JavaGuide学习笔记】Day.1

目录

Java基础常见面试题(上)

1.JDK?JRE?JVM?

2.为什么说Java语言是“编译与解释并存”?

3.Java基本数据类型

4.基本类型和包装类型的区别

5.包装类型的缓存机制

6.自动装箱与拆箱了解吗?原理是什么?

7.为什么浮点数运算的时候会有精度丢失的风险?

8.如何解决浮点数运算的精度丢失问题?

9.超过 long 整型的数据应该如何表示?


Java基础常见面试题(上)

1.JDK?JRE?JVM?

JDK包含JRE,JRE包含JVM

JDK是提供给开发者的工具,包含创建和编译Java程序、调试、注释工具等等...

JRE是Java运行时环境,仅包含Java应用程序的运行时的环境和必要的类库。

JVM是运行Java字节码的虚拟机,做到使用相同的结果,字节码(.class文件)和不同系统的JVM实现是Java语言‘一次编译,多处运行’的关键所在。

2.为什么说Java语言是“编译与解释并存”?

编译型:将源代码一次性翻译成机器码。

解释型:将源代码一句一句的解释为机器代码后执行。

Java程序要先编译后解释,先经过编译生成字节码,然后字节码由Java解释器来解释执行。

3.Java基本数据类型

整数型:byte(1)、short(2)、int(4)、long(8)

浮点型:float(4)、doule(8)

字符类型:char(2)

布尔类型:boolean

4.基本类型和包装类型的区别

用途:基本类型定义常量或局部变量。包装类型做方法参数、对象属性。并且包装类型可用于泛型,基本类型不可以。

存储方式:

占用空间:

默认值:

比较方式:

5.包装类型的缓存机制

重点看代码示例,创建后判断相等(因为缓存可能用的是一个常量)

6.自动装箱与拆箱了解吗?原理是什么?

装箱:将基本类型用它们对应的引用类型包装起来;

拆箱:将包装类型转换为基本数据类型;

7.为什么浮点数运算的时候会有精度丢失的风险?

8.如何解决浮点数运算的精度丢失问题?

BigDecimal

9.超过 long 整型的数据应该如何表示?

BigInteger 内部使用 int[] 数组来存储任意大小的整形数据。

你可能感兴趣的:(笔记,java,linux,学习,后端,javaguide)