首页 > 编程语言 > 详细

java常见面试题总结(持续更新)

时间:2020-01-02 10:11:46      阅读:100      评论:0      收藏:0      [点我收藏+]

一:get与post的区别

  1. get是从服务器上获取数据,post是向服务器传送数据

  2. get传送的数据量小,不能大于2KB,post传送的数据量较大

  3. get安全性低,post高,但是执行效率上get好一些

  4. 在进行文件上传的时候,只能使用post而不能使用get

二:string stringbuffer stringbuilder 区别

  1. string字符串常量,stringbuffer与stringbuilder是字符串变量

  2. string长度不可变,stringbuffer与stringbuilder长度可变

  3. string使用字符串拼接的时候是两个不同的空间,stringbuffer与stringbuilder则是直接在字符串后面追加,所以大数据量上不用string

  4. stringbuffer线程安全,stringbuilder线程不安全

  5. 执行效率上StringBuilder>StringBuffer>String

三:HashMap与Hashtable区别

  1. HashMap非线程安全,HashTable线程安全

  2. HashMap允许null的键/值,HashTable不允许

  3. HashMap性能优于Hashtable

四:Forword(请求转发)和Redirect(重定向)

  1. 从数据共享上:Forword是一个请求的延续,可以共享request的数据。Redirect是开启一个新的请求,不可以共享request的数据

  2. 从地址栏:Forword转发地址栏不发生变化。Redirect转发地址栏发生变化

五:osi七层模型

  1. 物理层

  2. 数据链路层

  3. 网络层

  4. 传输层

  5. 会话层

  6. 表示层

  7. 应用层

六:内存泄漏和内存溢出的区别

  1. 内存泄漏是指应用程序申请内存之后,无法释放已经申请的内存空间,一次内存泄露的危害可以忽略,但是如果任由其发展最终会导致内存溢出

  2. 内存溢出是指应用程序申请内存之后,没有足够的内存空间任其使用,所以我们在项目中对于大批量数据的导入要采取分批次提交的方式

七:error和exception的区别

  1. error是指程序无法处理的错误,比如:内存泄露,发生的时候jvm虚拟机一般会选择线程终止

  2. Exception是指程序本身可以处理的异常

八:字节流和字符流的区别

  1. stream结尾的都是字节流,reader和writer结尾的都是字符流

  2. 读写的时候一个按照字节读写,一个按照字符读写

  3. 读写文件中对文件的内容进行处理的时候一般用字符流,只读写文件就用字节流。

九:接口和抽象类的区别

  1. 一个类只能进行单继承,但是可以有多个接口

  2. 有抽象方法的类一定是抽象类,但是抽象类中不一定有抽象方法

  3. 接口和接口--继承,接口和抽象类--抽象类实现接口,类和抽象类--类继承抽象类,类和类--继承

java常见面试题总结(持续更新)

原文:https://www.cnblogs.com/flyinghome/p/12121551.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!