1 final finally finalize 的区别?
final:是关键字,修饰属性,属性不可被改变;修饰方法,方法不可被重载;修饰类,该类不可以被继承。
finally:是异常处理的一部分,总是会执行的,一般用来关闭资源的。
finalize():是Object类的一个方法,finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
2 java支持的数据类型, 及包装的数据类型有哪些?
八种基本数据类型:char byte int float double boolean short long
对应的包装数据类型 Char Byte Integer Float Double Boolean Short Long
3 接口与抽象类的区别?
1 抽象类里可以有构造方法,而接口内不能有构造方法。
2 抽象类中可以有普通成员变量,而接口中不能有普通成员变量。
3 抽象类中可以包含非抽象的普通方法,而接口中所有的方法必须是抽象的,不能有非抽象的普通方法。
4 抽象类中的抽象方法的访问类型可以是public ,protected和默认类型,但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。
5 抽象类中可以包含静态方法,接口内不能包含静态方法。
6 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static类型,并且默认为public static类型。
7一个类可以实现多个接口,但只能继承一个抽象类。
4 java集合类的基本接口有哪些?
List(数据重复 有序) Set Map(key唯一,) Collection
5 hashMap与 hashTable的区别?
都实现接口:Map。
键值:HashTable的键值都不允许为空,HashMap的键值只允许其中一个为空。
线程安全:HashTable线程安全,HashMap线程不安全。
6 ArrayList 和LinkedList的区别?
1 ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2 在对数据进行删除插入添加数据时,LinkedList较快。
7 线程中sleep()与wait()方法的区别?
sleep()方法导致了程序暂停执行指定的时间,让出其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。
在调用sleep()方法的过程中,线程不会释放对象锁。
而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法(或者notifyAll()方法)后本线程才进入对象锁定池准备
获取对象锁进入运行状态。
8 数组有length属性,string有length()方法。
9 set集合元素怎样做到不重复的?
主要使用equals和hashcode方法。
10 error与exception的区别?
error:与自己写的程序无关,表示由 JVM 所侦测到的无法预期的错误,这是不可捕捉到的,无法采取任何恢复的操作,只能显示错误信息。
exception:与自己写的程序有关,表示有自己写的程序出错,这是可以捕捉,可是恢复的。
11 构造器可不可以被继承?String类是被final修饰的。
不可以,可以被重载。
12 执行线程调用方法,线程状态?
调用start()方法。
线程状态::新建状态(New)、就绪状态(Runnable)、运行状态(Running)、阻塞状态(Blocked)、死亡状态(Dead)。
13 在java中重载和重写的区别?
重载:方法名相同;参数列表不同(参数个数,类型);返回值类型可以相同也可以不同。
重写:子类对父类方法的重写,方法名相同,参数列表相同,相同的返回类型。子类的访问修饰权限不能小于父类的。
14 启动线程的方法有哪些?
1 继承Thread类,重写run()方法。
2 实现Runnable接口,实现run()方法。
13 java中String,StringBuffer,StringBuilder的区别?
String是不可变的字符序列;StringBuffer线程安全的可变字符序列;StringBuilder线程不安全的可变字符序列。
一般来说效率:效率比较String<StringBuffer<StringBuilder。
不考虑线程安全的话,StringBuilder会比StringBuffer效率高些。
13 MVC架构?
12 多个线程使用同一个对象该怎么办?
继续 杂问题 牛客网--java问答题