其他分享
首页 > 其他分享> > 面试题整理

面试题整理

作者:互联网

1.java跨平台的原理

具有平台无关性

Java是“一次编写,到处运行(Write Once,Run any Where)"的语言,因此采用Java语言编写的程序具有很好的可移植性,而保证这一点的正是Java的虚拟机机制。在引入虚拟机之后,Java语言在不同的平台上运行不需要重新编译。

Java跨平台原理

  由源文件(.java)—>字节码文件(.class)(二进制文件)-----> 解释---->Unix,Win,Linux等机器。

   1.一次编译,到处运行

2.编译器的作用:将源文件编译成class文件

3.虚拟机的作用:将字节码文件解释成对应平台机器码并执行。

4.java可以实现跨所有的平台?只有提供并且安装了相对应的虚拟机就可以跨该平台。

5.虚拟机和解释器的关系:解释器是虚拟机的一个重要的组成部分。

6.Java语言的执行要经过编译和解释两个阶段。


2.基本数据类型

整型:

  byte   1个字节  二进制位8位  00000001  -128~127  1byte = 8bit  默认值:0

  short  2个字节  二进制位16位  是int的二分之一

  int    4个字节  二进制位32位

  long   8个字节  二进制位64位  long l1 = 10L;

  字符型: 

  char  1个字节    c = 'a';

  浮点型:

  float  4个字节    f1 = 1.1f;  //单精度

  double 8个字节  d1 = 2.2;  //双精度

  布尔型:

  boolean 1个字节  b2 = true;



3.java中标识价格BigDecimal

1.不论是float 还是double都是浮点数,而计算机是二进制的,浮点数会失去一定的精确度。

2.Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。

4.双精度&单精度

1.单精度和双精度精确的范围不一样

2.单精度,一般在计算机中存储占用4字节,也就是32位,有效位数为7位;

3.双精度〈double〉在计算机中存储占用8字节,64位,有效位数为16位。

4.单精度在一些处理器上比双精度更快而且只占用双精度一半的空间.

5.但是当值很大或很小的时候.它将变得不精确。当你需要小数部分并且对精度的要求不高时,单精度浮点型的变量是有用的。

 

单精度是这样的格式,1位符号,8位指数,23位小数。

 

 

 

 

 

 

双精度是这样的格式,1位符号,11位指数,52位小数。 

 

 

 


5.面向对象三大特征(封装,继承,多态)

封装。也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
继承。它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为“子类"或"派生类",被继承的类称为“基类"、“父类"或“超类"。
多态。它是指在父类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为,这使得同一个属性或方法在父类及其各个子类中具有不同的含义。

6.装箱&拆箱

Java为每一个基本数据类型都引入了对应的包装类型,从Java 5开始引入了自动装箱/拆箱机制,把基本类型转换成包装类型的过程叫做装箱;反之,把包装类型转换成基本类型的过程叫做拆箱,使得二者可以相互转换。

1.包装类型可以为null,而基本类型不可以。

2.包装类型可用于泛型,而基本类型不可以。

3.基本类型比包装类型更高效。基本类型在栈中直接存储的具体数值,而包装类型则存储的是堆中的引用。很显然,相比较于基本类型而言,包装类型需要占用更多的内存空间。

6.1自动装箱:将基本数据类型重新转化为对象

  自动拆箱:将对象重新转化为基本数据类型

6.2int和Integer有什么区别?

  1. Integer是int的包装类;int是基本数据类型;
  2. Integer变量必须实例化后才能使用; int变量不需要;
  3. Integer实际是对象的引用,指向此new的Integer对象;int是直接存储数据值;
  4. Integer的默认值是null; int的默认值是0。


7.子类继承父类,子类必须能够访问到父类的构造方法,protected肯定能访问到

 

标签:面试题,Java,字节,单精度,int,虚拟机,类型,整理
来源: https://www.cnblogs.com/Nickeyhu/p/15902368.html