面试5- se
来源:互联网 发布:怎样制做淘宝原图 编辑:程序博客网 时间:2024/06/06 09:39
1、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
(1)Overload是重载的意思,Override是覆盖的意思,也就是重写。
A.重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。
B.重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,这相当于把父类中定义的那个完全相同的方法给覆盖了。
2、abstract class和interface有什么区别?
含有abstract修饰符的class即为抽象类,abstract 类不能创建的实例对象。含
接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为public abstract类型,接口中的成员变量类型默认为public static final。
下面比较一下两者的语法区别:
1.抽象类可以有构造方法,接口中不能有构造方法。
2.抽象类中可以有普通成员变量,接口中没有普通成员变量
3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。
3、String是最基本的数据类型吗?
不是,基本数据类型包括byte、int、char、long、float、double、boolean和short。
4、String 和StringBuffer的区别
String和StringBuffer,它们可以储存和操作字符串,String类表示内容不可改变的字符串。而StringBuffer类表示内容可以被修改的字符串。
5、error和exception有什么区别?
error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。
exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
6、请写出你最常见到的5个runtime exception。
NullPointerException、ArrayIndexOutOfBoundsException、ClassCastException(类转换异常),ClassnotfoundException
一个整数“除以零”时,抛出ArithmeticException异常
7、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?
有两种实现方法,分别是继承Thread类与实现Runnable接口
用synchronized关键字修饰同步方法
8、sleep() 和 wait() 有什么区别?
sleep是线程类(Thread)的方法,导致此线程暂停执行,指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。
wait是Object类的方法,调用wait方法导致本线程放弃对象锁
9、同步和异步有何异同,在什么情况下分别使用他们?举例说明。
(1)如果数据将在线程间共享。(例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,)必须进行同步存取。
(2)当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。
10、启动一个线程是用run()还是start()? .
启动一个线程是调用start()方法,使线程就绪状态。一个线程必须关联一些具体的执行代码,run()方法是该线程所关联的执行代码。
11、线程的基本概念、线程的基本状态以及状态之间的关系
线程:是进程中的一个执行控制单+元,执行路径
一个进程中至少有一个线程在负责控制程序的执行
12、线程的生命周期
新建 -- start() --> 获取cpu的执行权 --》 执行---> run() 方法结束 --> 死亡
sleep() 需要等待
同步阻塞 获取锁
wait 需要 notify()
13、List、Map、Set三个接口,存取元素时,各有什么特点?
(1) 首先,List与Set它们都是单列元素的集合,Set无序且不重复
(2) List 以特定次序来存储元素,可有重复元素
(1) Map是双列的集合,Map 保存的键值对,键不能重复
14、说出ArrayList,Vector,LinkedList的存储性能和特性
ArrayList和Vecto底层实现是数组,查询快,增删慢
LinkedList底层实现是链表,查询慢,增删快
15、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。
1. 把java对象变成字节流的形式进行传输,就是序列化。
- 面试5- se
- java se 基础题面试
- java se面试小考题
- java-SE-5
- se
- se
- SE
- Java SE 5 也支持 Java SE 6新特性
- Java SE 5 新特性
- Java SE 5 新特性
- java SE复习笔记5
- cyc 的面试宝典之(面试1(java se 基础篇))
- 5 java se(5)----IO流
- Java SE 5中的枚举类型
- Java SE 5服务周期已终结
- Java SE 学习笔记 Lesson 5
- 圣思园——Java SE Lesson 5
- 北京圣思园_Java SE Lesson 5
- Ajax实现分页二
- 数据库分区分表
- 开贴宣言
- 安装64位oracle用PLSQL Developer连接报错问题
- 公众号“今日作文素材”文章列表 (20170826-20170901)
- 面试5- se
- LeetCode Two Sum
- softmax介绍
- [Ubuntu--Install]Ubuntu16.04安装中文输入法
- Http状态码
- oracle实例创建步骤总结
- Python实用黑科技——总汇
- Python中对文件的操作
- oracle中chr()和ascii()函数(附常用字符与ascii对照表)