1.重载函数的签名(区别是否是重载函数)
答:方法名+参数类型+参数顺序(返回值不是)
2.finalize的工作原理
答:一旦垃圾收集器准备好释放对象占用的存储空间,它首先调用finalize(),而且只有在下一次垃圾收集过程中,才会真正回收对象的内存.所以如果使用finalize(),就可以在垃圾收集期间进行一些重要的清除或清扫工作。此外系统进行垃圾回收时并不保证一定会调用它,所以可以说它和对象被回收没有必然关系。
3. final、finally、finalize 的区别
答: 1.final的方法和类都不允许覆盖和继承。private默认实现了final。
2.finally 语句块是在 try 或者 catch 中的 return 语句之前执行
3.一个对象的创建过程
答:例如有一个Dog类:
1.即使没有static,构造器其实也是静态方法,所以当首次创建Dog时或者Dog的静态域或者静态方法被访问的时候,Dog的class对象会被加载。
2.在加载Dog的class的时候可能会发现其有基类,此时先暂停Dog的加载,转而去加载其基类。所以基类的static域比子类先初始化。
3.载入class文件之后,会创建一个该该类的class对象,所有关于静态初始化的动作会被执行,所以静态初始化只在Class对象首次加载时进行一次。
4.当使用new的时候,首先为Dog对象在堆上分配足够内存空间。这块内存控件会被清零,所有实例都被初始化成了默认值,包括基类。
5.执行所有字段定义处的初始化,从基类开始。
6.执行构造器。(在第一行会执行基类的构造器)
4.对象的销毁是按照创建的逆序来进行的。
5.简述内部类的特点
6.形式参数可被视为local variable,也就是说形式参数相当于在方法中定义了一个局部变量a,当传入c时,只是将c指向的对象给a
7.重写的特性
8.简述jvm中默认的classLoader与功能
9.类加载过程
10.switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。String类型是java7开始支持
11.反射
12.!=和==,当用于基本类型时候,是比较值是否相同;当用于引用类型的时候,是比较对象是否相同,比较内存地址
13.null可以被强制类型转换成任意类型的对象,于是通过它来执行静态方法
15.静态属性和静态方法是否可以被继承
16.解释一下java代码的原子性
17.Java 四大引用
18.Java 的泛型
19.接口、抽象类的区别
20.为什么内部类会默认持有外部类的引用?
21.String,StringBuffer,StringBuilder的区别
1.String不可改变对象,一旦创建就不能修改,StringBuffer,StringBuilder创建之后,可以去修改
2.StringBuilder是线程不安全的,执行效率高于StringBuffer, 同一个线程中使用StringBuilder。3.StringBuffer是线程安全的,当多个线程同步操作数据,使用StringBuffer
4.当字符赋值少使用String,字符赋值频繁使用StringBuilder
本文深入探讨了Java中的重载函数、final关键字用法、对象创建与销毁的过程、内部类特点及String系列类的区别等内容,帮助读者更好地理解Java核心概念。
2258

被折叠的 条评论
为什么被折叠?



