Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

锋哥开始收Java学员啦!

典型JAVA面试试题及答案 PDF 下载


分享到:
时间:2020-09-11 09:47来源:http://www.java1234.com 作者:小锋  侵权举报
典型JAVA面试试题及答案 PDF 下载
失效链接处理
典型JAVA面试试题及答案 PDF 下载

本站整理下载:
 
相关截图:
 
主要内容:

一 基础篇
1. 谈谈 final, finally, finalize 的区别
final 是一个修饰符, 修饰类的时候表示类不可继承 , 所以一个类不可能既是 abstract 又 是 final 的; 修饰变量的时候表示这个变量不可被更改并且必须赋初始值 ; 修饰方法的时候
表示方式不可被重写。
finally 通常和 try-catch 一起 , 在 finally 里代码无论是否发生异常都会执行到
finalize 是一个方法名。 方式是定义在 Object 类中,在对象从内存中释放之前会调用此
方法进行一些必要的清理工作。
2. Annoy Inner Class (匿名类 ) 是否可以 extends (继承 )其他类,是否可以 implements (实现 )
interface 接口?
Annoy Inner Class 由于没有类名所以不可以 extends其他类;可以实现 interface
3. Static Nested Class 和 Inner Class 的不同
Static Nested Class 不需要外部类的实例来创建内部类的实例;内部类不能访问外部类
的非静态方法;它能具有静态的数据,属性,和匿名内部类。
4. & 和 && 的不同
&表示位运算符; && 表示逻辑运算符;
5. HashMap 和 Hashtable 的区别
HashMap 允许一个 null 或者多个 null 作为 key, 而 Hashtable 不行
Hashtable 是线程同步的 , 而 HashMap 不是的
HashTable 的原理:通过节点的关键码确定对象的存储位置。给定节点的关键码 k,通
过一定的散列函数 H(k) ,得到散列值,这个值就是节点的存储地址
6. Colleciton 和 Collections 的区别
Collection 在 java.util 下面,是所有集合类的父接口
Collections 也在 java.util 下面,他封装了集合类的一些操作
7. 什么时候用 assert?
assert 是一条包含布尔表达式的语句,程序运行到当前语句的时候假定布尔返回值是
true,如果是 false 则会抛出异常。 常用语保证程序的最基本的正确性。 断言在默认情况下是
禁用的,在编译时启用断言用 -source 1.4 标记,在运行时启用可以用 -ea 来标记,在运行
时禁用用 -dsa 来标记。
8. GC 是什么?为什么要用 GC?
GC 是垃圾回收机制,使用 GC 程序员就不用关心程序的内存管理。使用 System.gc()和
Runtime.getRuntime().gc(); 能增加 GC 启动的优先级,但是不保证一定执行。
9. String s = new String("xyz"); 创建了几个 String Object.
2 个
10. Math.round(11.5) 等于多少? Math.round(-11.5) 等于多少?
12;-11; round 表示 4 舍 5 入
11. short s1 = 1; s1 = s1 + 1; 有什么错? short s1 = 1; s1 += 1;有什么错?
s1 = s1 + 1; 有错,因为 1 是 int 型,所以 s1 + 1 后的类型是 int ,int 隐形转化为 short
类型
s1 += 1;没有问题
12. sleep() 和 wait() 有什么区别?
sleep() 表示让当前运行的线程暂停一段时间,在时间满了后,这个线程被并不一定会
被立即执行, 除非这个线程的优先级比当前线程的优先级高, 或者当前线程执行完毕, 或者
当前线程阻塞住了
wait()如果线程对一个同步对象发出 wait 请求后,该线程会暂停执行,进入等待状态
直到被唤醒或者等待时间到
两者的另一个关键区别是:前者不会释放对象锁;后者会释放对象锁
13. Java 有没有 goto ?
有但是没有用
14. 数组有没有 length()方法? String 有没有 length() 方法?
数组没有 length() 方法,但是数组有 length 属性
String 有 length() 方法
15. overload 和 override 的区别。
overload 和 override 都是 Java 多态的一种表现, overload 是同一个类中的多态性的
表现, override 是子类和父类多态的一种表现
overload 表示重载,一个类中同样一个方法名可以有不同的参数
override 表示重写,子类中可以重新实现父类的方法
overload 的返回值不可变
16. Set 里的元素是不能重复的, 用什么方法来区分重复与否呢?用 = = 还是 equals()? 他
们有和区别?
用 equals 方法, = = 方法是比较对象的引用地址, equal 默认是比较引用,但是可以被
重写是逻辑相等,一般重写 equal 也要修改相应的 hashCode 方法
17. 给我你最常见的一个 runtime exception
NullpointException, IllegalArgumentException, IndexOutofBoundsException
18. Object 对象中的方法
toString()/hashCode()/equals()/notify()/notifyAll()/getClass()/wait()

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐