Java——面试题整体

平时记录一些面试题,以后面试的时候回答的也有条理一些。

一、Java基础

1、Java有哪几种基本数据类型

Java中基本数据类型共有八种,它们分别是属于哪种数据类型、分别用什么关键字来表示、内存的占用情况、各自的取值范围如下

数据类型 关键字 内存占用 取值范围
整数类型 byte 1 -128~127
  short 2 -32768~32767
  int 4 -2147483648~ 2147483647
  Long 8 -9223372036854775808~9223372036854775807
浮点类型 float 4

负数:-3.402823E+38到-1.401298E-45

正数: 1.401298E-45到3.402823E+38

  double 8

负数:-1.797693E+308到-4.9000000E-324

正数:4.9000000E-324 到1.797693E+308

字符类型 char 2 0-65535
布尔类型 boolean 1 true、false

2、Java中的引用数据类型有哪几种

类、接口、数组。

3、final关键字的用途

  1. 修饰类,类不能被继承
  2. 修饰方法,方法不能被重写
  3. 修饰变量,变量变为常量,初始化值后无法再修改该常量的值

4、== 和 equals的区别是什么

== 对于基本数据类型,它比较的是值是否相同,对于引用数据类型,它比较的是引用是否相同。

equals本质上就是==,只不过String、Integer等类重写了equals方法,把它变成了值比较。

面向对象特征

  • 封装:把对象的属性和行为结合为一个独立的整体,并尽可能隐藏对象的内部实现细节,外部只能用我们提供的功能实现需求,而不知道是如何实现的。增加安全性
  • 继承:子类继承父类的数据属性和行为,并能根据自己的需求扩展出新的行为,提高了代码的复用性
  • 多态:允许不同的对象对同一消息做出响应,就是同一消息可以根据发送对象的不同而采用多种不同的行为方式,封装和继承都是为多态而准备的,在执行期间判断引用对象的实际类型,根据其实际的类型调用其相应的方法

JVM调优

  • 设置JVM最大可用内存为3550M
  • 设置每个线程栈大小,JDK5.0以后每个线程栈大小为1M,以前每个线程栈大小为256K
  • 设置老年代为2G。整个JVM内存大小=年轻代大小  + 老年代大小 + 持久代大小
posted @ 2021-05-24 14:07  徐林俊  阅读(52)  评论(0编辑  收藏  举报