没有合适的资源?快使用搜索试试~ 我知道了~
2018java面试宝典

温馨提示
自己面试总结的一些面试题,对java相关面试题做了全面系统的总结。特别是加入了Activivi、Redis等相关的面试题,希望对大家能有帮助!
资源推荐
资源详情
资源评论








初中级程序员面试题宝典
基础部分
与区别?
&和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假;但是&&当第一个条件
不成之后,后面的条件都不执行了,而&则还是继续执行,直到整个条件语句执行完为止。
使用 关键字修饰一个变量时,是引用不能变,还
是引用的对象不能变?
使用 nal 关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内
容还是可以改变的。
静态变量和实例变量的区别?
在语法定义上的区别:
静态变量前要加 static 关键字,而实例变量前则不加。
在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例
变量才会被分配空间,才能使用这个实例变量。
静态变量不属于某个实例对象,而是属于类, 所以也称为类变量,只要程序加载了类的字
节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。
总之,实例变量必须创建对象后才可以通过这个对象 来使用,静态变量则可以直接使用类
名来引用。
静态变量使用时,通过类名.名称,实例变量必须要初始化后才能使用。实例变量是实例化后
才会分配空间,而静态变量当类加载时会分配空间。
是否可以从一个 方法内部发出对非 方法
的调用?
不可以。因为非 static 方法是要与对象关联在一起的,必须创建一个对象后,才可以在该
对 象上进行方法调用,而 static 方法调用时不需要创建对象,可以直接调用。也就是说,
当一 个 static 方法被调用时,可能还没有创建任何实例对象,如果从一个 static 方法中

发出对非 static 方法的调用,那个非 static 方法是关联到哪个对象上的呢?这个逻辑无
法成立,所以, 一个 static 方法内部不可以发出对非 static 方法的调用。非 static 方法
可以访问 static 方法.static 方法不能访问非 static 方法
和 方法究竟有什么区别?
==如果判断值类型的话,判断内容是否相同。如果判断引用类型则是判断内存地址是否
相同
Equals 判断值内容是否相等
与 的区别
Integer是引用类型,默认值是 null。而 int 是是值类型默认值是 0
请说出作用域 , , !,以及
不写时的区别
这四个作用域的可见范围如下表所示。
说明:如果在修饰的元素上面没有写任何访问修饰符,则表示 friendly。
作用域 当前类 同一包( package) 子孙类 其他包( package)
""""
!"""#
默认不写 √ √ ##
"###
$重载与重写区别?
重载是同一个类中,方法名称相同, 但是参数或个数不同。与返回值没有关系。
重写是在多个类中, 产生继承关系。父类与子类的方法必须相同。
%接口与抽象类的区别?
区别:
①.接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。
②.类可以实现很多个接口,但是只能继承一个抽象类
③.类如果要实现一个接口,它必须要实现接口声明的所有方法。但是,类可以不实现抽象
类声明的所有方法,当然,在这种情况下,类也必须得声明成是抽象的。

④.抽象类可以在不提供接口方法实现的情况下实现接口。
⑤.Java 接口中声明的变量默认都是 nal 的。抽象类可以包含非 nal 的变量。
⑥.Java 接口中的成员函数默认是 public 的。抽象类的成员函数可以是
private,protected 或者是 public。
⑦.接口是绝对抽象的,不可以被实例化。抽象类也不可以被实例化,但是,如果它包含
main 方法的话是可以被调用的。
&'(')的区别。
nal用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
内部类要访问局部变量,局部变量必须定义成 nal类型,例如,一段代码……
nally是异常处理语句结构的一部分,表示总是执行。
nalize是 Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,
可
以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。 JVM不保证此方法总被
调用
*、*+, 与 *+! 的区别
String 字符串常量
StringBu/er 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)
所有的类都继承于 - 类,你用过的 - 类的
直接子类有哪些, - 类常用的方法有哪些.
①.clone 方法
保护方法,实现对象的浅复制,只有实现了 Cloneable 接口才可以调用该方法,否则抛出
CloneNotSupportedException 异常。
②.getClass 方法
nal 方法,获得运行时类型。
③.toString 方法
该方法用得比较多,一般子类都有覆盖。
④.nalize 方法
该方法用于释放资源。因为无法确定该方法什么时候被调用,很少使用。
⑤.equals 方法
该方法是非常重要的一个方法。一般 equals 和==是不一样的,但是在 Object 中两者是
一样的。子类一般都要重写这个方法。
⑥.hashCode 方法

该方法用于哈希查找,重写了 equals 方法一般都要重写 hashCode 方法。这个方法在一
些具有哈希功能的 Collection 中用到。
一般必须满足 obj1.equals(obj2)==true。可以推出 obj1.hash-
Code()==obj2.hashCode(),但是 hashCode 相等不一定就满足 equals。不过为了提
高效率,应该尽量使上面两个条件接近等价。
⑦.wait 方法
wait 方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有
该对象的锁。wait()方法一直等待,直到获得锁或者被中断。wait(long timeout)设定一
个超时间隔,如果在规定时间内没有获得锁就返回。
调用该方法后当前线程进入睡眠状态,直到以下事件发生。
(1)其他线程调用了该对象的 notify 方法。
(2)其他线程调用了该对象的 notifyAll 方法。
(3)其他线程调用了 interrupt 中断该线程。
(4)时间间隔到了。
此时该线程就可以被调度了,如果是被中断的话就抛出一个 InterruptedException 异常。
⑧.notify 方法
该方法唤醒在该对象上等待的某个线程。
⑨.notifyAll 方法
该方法唤醒在该对象上等待的所有线程
数组有没有 /01这个方法.* 有没有
/01这个方法?
答:数组没有 length()这个方法,有 length 的属性。String 有 length()这个方法。
-中有几种类型的流?23为每种类型的流提供
了一些抽象类以供继承, 为每种类型的流提供了一些抽象
类以供继承,请说出他们分别是哪些类?
字节流,字符流。字节流继承于 InputStreamOutputStream,字符流继承于
InputStreamReader OutputStreamWriter。在 java.io包中还有许多其他的流,主要
是为了提高性能和使用方便。

和 4 的区别
Error:表示系统级错误和程序不必处理的异常,是 java 运行环境中的内部问题或硬件错误。
比如:内存资源不足等。对于这种错误,程序基本上无能为力,除了退出程序外别无选择,
它是由 java 虚拟机抛出的。
Exception:表示需要捕捉或程序处理的异常,它处理的是程序设计瑕疵而引起的问题或者
在外的输入等引起的一般性问题,是程序必须处理的。
说出常见的几种运行时异常
(5674 )
①java.lang.NullPointerException(空指针异常)
②java.lang.ClassNotFoundException(指定的类不存在)
③java.lang.ArrayIndexOutOfBoundsException(数组下标越界)
④java.sql.SQLException(Sql 语句执行异常 )
⑤java.io.IOException(输入输出异常 )
多线程部分
什么是多线程?
在一个应用程序中,同时有多个不同的执行路径。
说一下多线程的好处?
提高程序效率。
线程和进程有什么区别?
线程是进程的一条执行路径,而进程是线程的集合。
剩余37页未读,继续阅读
资源评论

- clearsan2018-08-20不值5分。。。。。。

qq_39266354
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
