目录

1.String 和StringBuffer的区别。

2.数组有没有length()这个方法? String有没有length()这个方法?

3.final, finally, finalize的区别。

4.Errror , Exception,RuntimeException区别

5.Java语言如何进行异常处理,关键字:throws、throw、try、catch、finally分别如何使用。

6.throw和throws有什么区别?

7.请说一下你常用的几种异常?

8.线程的基本概念?线程的基本状态以及状态之间的关系

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

10.多线程有几种实现方法?


1.String 和StringBuffer的区别。

1、String是个不可变长度的字符串,而StringBuffer是个可变长度的字符串;

2、在对String类进行操作的时候(例如增加字符),实际上是在内存中产生了一个新的String对象; 而StringBuffer是给原对象增加字符,不是新创建一个对象;

2.数组有没有length()这个方法? String有没有length()这个方法?

数组没有length()这个方法,有length的属性。String有length()这个方法。

3.final, finally, finalize的区别。

final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

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

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。JVM不保证此方法总被调用

4.Errror , Exception,RuntimeException区别

Error(错误)表示系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题。比如:内存资源不足等。对于这种错误,程序基本无能为力,除了退出运行外别无选择,它是由Java虚拟机抛出的。

Exception(违例)表示需要捕捉或者需要程序进行处理的异常,它处理的是因为程序设计的瑕疵而引起的问题或者在外的输入等引起的一般性问题,是程序必须处理的。

Exception又分为运行时异常,受检查异常。

运行时异常,表示无法让程序恢复的异常,导致的原因通常是因为执行了错误的操作,建议终止程序,因此,编译器不检查这些异常。

受检查异常,是表示程序可以处理的异常,也即表示程序可以修复(由程序自己接受异常并且做出处理), 所以称之为受检查异常。

Exception体系包括RuntimeException体系和其他非RuntimeException的体系:

① RuntimeException:RuntimeException体系包括错误的类型转换、数组越界访问和试图访问空指针等等。处理RuntimeException的原则是:如果出现RuntimeException,那么一定是程序员的错误。例如,可以通过检查数组下标和数组边界来避免数组越界访问异常。

②其他非RuntimeException(IOException等等):这类异常一般是外部错误,例如试图从文件尾后读取数据等,这并不是程序本身的错误,而是在应用环境中出现的外部错误。

5.Java语言如何进行异常处理,关键字:throws、throw、try、catch、finally分别如何使用。

throws是获取异常

throw是抛出异常

try是将会发生异常的语句括起来,从而进行异常的处理,

catch是如果有异常就会执行他里面的语句,

而finally不论是否有异常都会进行执行的语句。

6.throw和throws有什么区别?

throws是用来声明一个方法可能抛出的所有异常信息,而throw则是指抛出的一个具体的异常类型。

7.请说一下你常用的几种异常?

空指针异常;  NullPointerException

数组下标越界; ArrayIndexOutOfBoundsException

类型转换异常; ClassCastException

算数异常,例如除数为零;ArithMeticException

IO异常,比如说找不到文件; FileNotFoundException

找不到类异常;  ClassNotFoundException

sql异常,例如sql语句不能正常运行;

8.线程的基本概念?线程的基本状态以及状态之间的关系

1、是程序执行流的最小单元。在单个程序中同时运行多个线程完成不同的工作,称为多线程。

2、开始时:就绪状态,等待cpu调用后进入运行状态,运行过程中遇到阻塞事件,进入阻塞状态,等待阻塞事件结束后,重新进入就绪状态;如果没有阻塞事件,运行结束后,则进入结束状态。

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

sleep就是暂停当前线程一段时间,把cpu让给其他线程使用,到时后会自动恢复。调用sleep不会释放对象锁。 wait方法导致本线程放弃对象锁,进入等待,只有等到本对象的notify方法(或notifyAll)后本线程才进入就绪状态,等待执行。

10.多线程有几种实现方法?

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

其他面试题:

Java实习生常规技术面试题每日十题Java基础(八)

Java实习生常规技术面试题每日十题Java基础(七)

Java实习生常规技术面试题每日十题Java基础(六)

Java实习生常规技术面试题每日十题Java基础(五)

Java实习生常规技术面试题每日十题Java基础(四)

Java实习生常规技术面试题每日十题Java基础(三)

Java实习生常规技术面试题每日十题Java基础(二)

Java实习生常规技术面试题每日十题Java基础(一)

Java实习生常规技术面试题每日十题Java基础(四)相关推荐

  1. Java实习生常规技术面试题每日十题Java基础(七)

    目录 1. Java设计模式有哪些? 2.GC是什么?为什么要有GC? 3. Java中是如何支持正则表达式. 4.比较一下Java和JavaSciprt. 5.Math.round(11.5) 等于 ...

  2. Java实习生常规技术面试题每日十题Java基础(八)

    目录 1.解释内存中的栈(stack).堆(heap)和静态区(static area)的用法. 2.怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串? 3.运行时异常与受检异常有 ...

  3. Java实习生常规技术面试题每日十题Java基础(五)

    目录 1.启动一个线程是用run()还是start()? . 2.线程的基本状态以及状态之间的关系. 3.Set和List的区别,List和Map的区别? 4.同步方法.同步代码块区别? 5.描述Ja ...

  4. Java实习生常规技术面试题每日十题Java基础(一)

    目录 1.Java 的 "一次编写,处处运行"如何实现? 2.描述JVM运行原理. 3.为什么Java没有全局变量? 4.说明一下public static void main(S ...

  5. Java实习生常规技术面试题每日十题Java基础(六)

    目录 1.在Java语言,怎么理解goto. 2.请描述一下Java 5有哪些新特性? 3.Java 6新特性有哪些. 4.Java 7 新特性有哪些. 5.Java 8 新特性有哪些. 6.描述Ja ...

  6. Java实习生常规技术面试题每日十题Java基础(二)

    目录 1. JAVA 的反射机制的原理. 2.静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同? 3.如何将String类型转化成Number类型. 4.什 ...

  7. Java实习生常规技术面试题每日十题Java基础(三)

    目录 1.是否可以从一个static方法内部发出对非static方法的调用? 2.Integer与int的区别? 3.Overload和Override的区别.参数列表相同,返回值不同的方法,是否是重 ...

  8. 【华为认证-每日十题】HCNP-RS-IENP(31-40)【问】

    为了达到学习的目的,每日十题栏目的详解将不再直接公布,由各位学习在评论区问出不懂得问题,也可以直接联系邮箱hubw001@163.com.欢迎各位来信交流. 真的不是藏私,只是直接发布一些结果,就是应 ...

  9. java弱引用怎么手动释放,十分钟理解Java中的弱引用,十分钟java引用

    十分钟理解Java中的弱引用,十分钟java引用 本篇文章尝试从What.Why.How这三个角度来探索Java中的弱引用,帮助大家理解Java中弱引用的定义.基本使用场景和使用方法.由于个人水平有限 ...

最新文章

  1. iMeta:西农韦革宏团队焦硕等-土壤真菌驱动细菌群落的构建(全文翻译/PPT/视频解读)...
  2. 在 C++中处理错误
  3. 怎样将计算机添加桌面快捷方式,Win10系统下如何将程序快捷方式添加到桌面上?【图文教程】...
  4. 计算机常用英语1000个,1000个常用英语单词.pdf
  5. hive 把mysql语句执行_R分别连接mysql hive执行操作
  6. python数据挖掘学习笔记】十四.Scipy调用curve_fit实现曲线拟合
  7. 不是书评 :《我是一只IT小小鸟》
  8. Sprite Editor 图集切片精灵
  9. c# 用BitArray来管理包含关系
  10. Tampermonkey油猴脚本 jquery 常用组件
  11. 软件测试-兼容性测试
  12. 线性代数学习笔记(一)——二阶和三阶行列式
  13. 经验分享:如何免费合并两个pdf文件
  14. 解决保存的图片为CGI格式的问题
  15. Java 语言有哪些特点?
  16. 位图文件存储空间的计算
  17. vc sp6补丁下载地址及具体安装
  18. <dl>、<dt>、<dd> 的使用
  19. 周纪五 赧王下四十三年(己丑、前272)——摘要
  20. 时间戳是什么?JS中时间戳的展示

热门文章

  1. Python元组和字典的使用、使用字典的注意事项、字典查找数据、字典的增删改、字典的合并 update方法、字典的遍历
  2. linux 硬盘满了如何处理
  3. 解决U盘受保护(适用于U盘或移动硬盘)-亲测有效
  4. 我的世界匠魂钢怎么做
  5. 牛客刷题:放苹果(编程题)
  6. 如何才能得到YouTube的流量?
  7. 电脑开机黑屏---只有一个鼠标箭头处理办法
  8. js简单交互动画,运动吧
  9. Decal的另类用法
  10. 1月第1周业务风控关注 | 四部门联合印发App违法违规收集使用个人信息行为认定方法