java部分面试题

目录

1.String 是最基本的数据类型吗?

2.String s = "Hello";s = s + " world!";这两行代码执行后,原始的 String 对象中的内容到底变了没有?

3.是否可以继承 String 类

4.String s = new String("xyz");创建了几个 String Object? 二者之间有什么区别?( xyz 是字面量)

5.String 和 StringBuffer 的区别

6.try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会不会被执行,什么时候被执行,在 return 前还是后?

7.final, finally, finalize 的区别

8.运行时异常与一般异常有何异同?

9.error 和 exception有什么区别?

10.sleep() 和 wait()有什么区别?

11.同步和异步有何异同,在什么情况下分别使用他们?

12.当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的其它方法?

13.多线程有几种实现方法?同步有几种实现方法?

14.启动一个线程是用 run()还是 start()?


1.String 是最基本的数据类型吗?

不是,java.lang.String 类是 final 类型的。

2.String s = "Hello";s = s + " world!";这两行代码执行后,原始的 String 对象中的内容到底变了没有?

没有。因为 String被设计成不可变(immutable)类,所以它的所有对象都是不可变对象。

3.是否可以继承 String 类

String 类是 final 类故不可以继承。

4.String s = new String("xyz");创建了几个 String Object? 二者之间有什么区别?( xyz 是字面量)

创建了2个对象。一个放在常量区,不管写多少遍,都是同一个。New String 每写一遍,就创建一个新。

5.String 和 StringBuffer 的区别

1.string是被final所修饰的一个固定的一个字符串。

2.StringBuffer是字符串的容器,可进行修改。

6.try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会不会被执行,什么时候被执行,在 return 前还是后?

try catch结构,finally的代码必然会执行,try先执行,如果里面有返回值return,那么中断,执行完finally中代码再唤醒中断代码。

7.final, finally, finalize 的区别

final修饰类但不能够被继承,修饰方法不可以被重写,修饰变量不可以改变引用指向。代表最终的。

finally 是异常处理语句结构的一部分,表示总是执行。

finalize是垃圾回收机制中的一个方法

8.运行时异常与一般异常有何异同?

运行时异常不需要声明或者是捕捉。

一般异常在编译器就声明或捕捉异常。

9.error 和 exception有什么区别?

error为错误,不能通过程序来解决。

exception为异常,表示程序运行正常就不会发生。

10.sleep() 和 wait()有什么区别?

sleep()主动被唤醒,wait()是手动唤醒。

11.同步和异步有何异同,在什么情况下分别使用他们?

同步一次性只能做一件事,异步同一时间点可以做多种事情。

如果想提高效率则使用多线程,想保证安全性使用同步。

12.当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的其它方法?

1.其他方法前是否加了 synchronized 关键字,如果没加,则能。

2.如果这个方法内部调用了 wait,则可以进入其他 synchronized 方法。

3.如果其他个方法都加了 synchronized 关键字,并且内部没有调用 wait,则不能

13.多线程有几种实现方法?同步有几种实现方法?

多线程有两种实现方法,分别是继承 Thread 类与实现 Runnable 接口。

同步的实现方面有两种,分别是 synchronized,wait与notify

14.启动一个线程是用 run()还是 start()?

run()放的是执行的代码块,start()则是开启线程 。  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值