1.关于JVM,JDK 和 JRE 的认识理解
1). JVM 虚拟机 加载点class 运行点class
2).JDK 是 Java 最小的开发工具
3).JRE 是 Java 最小的运行环境
2.Java 和 c++的区别?
1).Java 是 一种纯面向对象的语言
2).c++ 是一种 即面向对象 又面向过程的语言
3.Java 应用程序与小程序之间有那些差别?
1).简单说应用程序是从主线程启动(也就是 main() 方法)。
2).applet 小程序没有 main方法,主要是嵌在浏览器页面上运行(调用init()线程或者run()来启动).
4.字符型常量和字符串常量的区别?
1)字符常量是单引号内容包含一个字符,字符只有两个字节,
字符常量相当于一个(ASCII)值,可以参加表达式运算.
2)字符串常量是双引号包含多个字符,底层就是char数组,字符有多个字节,
5. Java中有那些常见的关键字?
final关键字,static变量,public/private/protected关键字,super关键字 ,this 关键字
byte, short, int, long, char, float, double, boolean.八大基本类型.
6.方法的四种类型
1).有参有返回值
2).有参无返回值
3).无参有返回值
4).无参无返回值
7.构造器 Constructor 是否可被 override?
1).构造方法不能被重写
8.再调用子类构造方法之前会先带调用父类没有参数的构造方法,其目的是?
1).子类中所有的构造函数都会默认调用父类中的无参构造函数, 因为每一个子类构造函数内第一行都有隐式的 super();
2).若父类中没有无参构造函数, 那么子类的构造函数内必须通过 super 语句指定要调用的父类中的构造函数.
3).若子类构造函数中用 this 来指定调用子类自己的构造函数, 那么被调用的构造函数也一样会调用父类中的构造函数.
9.接口和抽象类的区别是什么?
1).接口是用Interface修饰,而抽象类是用abstract修饰
2).接口中的方法都是抽象方法,抽象类中可以看抽象方法,也可以有普通方法
3).接口中只看常量,即抽象类中可以看常量也可以看普通变量
4).接口可以继承多个接口,而抽象类是单继承
5).接口中没有构造器,抽象类有构造器
6).抽象类和接口都不能被实例化
10.try-cath-finally
1).有异常走catch里面的语句
2).没有异常不走catch里面的语句
3).finally提供了统一的出口
11.==和 equals 的区别是什么?
1).==是比较两个对象的地址
2).equals不被重写和==一样 重写之后比较两个对象的内容
12.简单介绍一些Map
1).Map是一个集和接口是一种数据容器里面是键值对的形式,左列为key右列为value,
key是唯一不可重复的 value是可重复的,每个key可以都有对应的value
2).Map有三个实现类分别是 HashMap , LinkedHashMap , TreeMap.
13.final ,finally ,finalize()区别
1).final 是修饰符
1.1).修饰变量不能被改变.
1.2).修饰方法不能被重写.
1.3).修饰类不能被继承.
2).finally 是异常捕获机制中必定会执行语句,可直接放在try语句之后也可以放在最后一个catch后面.
3).finalize方法bai是Object提供的的实例方法,du使用规则zhi如下:
当对象不再被任何对象引用时,GC会调用该对象的daofinalize()方法
finalize()是Object的方法,子类可以覆盖这个方法来做一些系统资源的释放或者数据的清理
可以在finalize()让这个对象再次被引用,避免被GC回收;但是最常用的目的还是做cleanup
Java不保证这个finalize()一定被执行;但是保证调用finalize的线程没有持有任何user-visible同步锁。