实习小白 java 面试基础知识汇总-day1
1.简单叙述java的跨平台原理
2.分析 JVM , JRE ,JDK
3.java基本数据类型
4..面向对象的特征有哪些方面
5.四个权限修饰符的区别
6.包装类型,装箱和拆箱
7.“==”和equals的区别
1.简单叙述java的跨平台原理
不同的操作系统支持的指令集不是完全一致的,因此我们的程序会在不同的操作系统执行的不同的程序代码。这时,java提供了统一的接口,针对不同的操作系统我们可以安装相对应的jvm( 虚拟机 ),然后java程序只要遵循java规范,就可以实现在所有的操作系统中运行java程序。
2.分析JVM,JRE,JDK
JVM:java虚拟机,java依靠虚拟机实现跨平台性
JRE:java的运行环境,由JVM和java的核心类库组成
JDK:java的开发工具包,由JRE和java的开发工具(如编译工具 javac . exe 、打包工具jar.exe)组成
注:由于开发完的程序,要运行一下看看结果,所有JDK中包含一个JRE
3.java基本数据类型
数据类型大小(二进制位数)默认值大小
byte80-128~127
short160-32768~32767
int320
long640
char16‘u0000’( unicode 编码,表示null,控制台输出空格)
boolean1false
float320.0f
double640.0d
注:引用数据类型由:接口,数组,类,枚举,注解
4…面向对象的特征有哪些方面
抽象 :将事物的相似和共性找出来,再将这些事物形成一个类,这个类可以看成对象,虽然存在属性和行为,但是没有具体的实现过程。而且抽象类不能直接实例化
封装:将数据和操作数据的方法绑定在一起,对数据的访问有提供已定义的接口(get/set)
继承:从已有类获得继承信息创造新类的过程。提供继承信息的类叫父类,获得继承信息的类叫子类。
多态 :父类引用变量指向子类的对象.多态通常具有三个条件:方法重写,继承,向上转型
5.四个权限修饰符的区别
6.包装类型,装箱和拆箱
对于基本数据类型有相对应的包装类型
eg:int–>Integer…
出现包装类型的原因:虽然基本数据类型存在栈中,对变量的创建和销毁速度快于 存入堆中的类对象,但是java语言本身是面向对象(oop)的编程语言。
装箱:将基本数据类型转换为包装类型,如Integer,valueof(1)
拆箱:将包装类型转换为基本数据类型,借用intValue()方法
具体参考
7.“==”和equals的区别
==:运算符,在基本数据类型中用于比较数据的值,在引用数据类型中比较在堆中的地址是否一致
equals:方法,所有基于Object的类都存在,不用于基本数据类型,一般来说是比较引用类型指向的对象所在的堆的地址。但是像String.Date对该方法进行了重写,进行的是值的比较。