Java常用面试问题,持续更新中。。。

java基础面试

1 java基本数据类型

整数型byte(2^7)1个字节,short(2^15)两个字节,int(2^31)四个字节,long(2^63)八字节,浮点型 double,float,布尔类型 boolean,字符类型char

2 java中的集合

List :有序,可重复

set :无序,不可重复

map :key,value格式,key为set集合,不可重复,value可以重复

3  ArrayList和LinkedList区别。

ArrayList是数组,ArrayList查询比较快,新增删除慢。新增删除,对应位置之后的数据都要挪动。ArrayList本身就有位置标号。

LinkedList是链表LinkedList查询慢,但是新增删除快。LinkedList新增删除直接增加或者删除数据就可以,挪动数据较少。但是查询时候因为顺序关系都是隐式的,需要全部查找。

4 创建线程的方式

实现runnable接口

继承Thread类

使用 Executor 框架

5 HashMap和HashTable的区别

HasnMap允许空的value值,HashTable不允许

HashMap 继承自 AbstractMap,Hashtable 继承自 Dictionary 类,两者都实现了 Map 接口; HashMap 的方法不是同步的,Hashtable 的方法是同步的。

6 spring和spring Mvc的区别

spring是一个ioc,aop框架。spring mvc实在spring的基础上集成度web框架,使用spring mvc 必须依赖spring

7 重写和重载的区别

重写:子类重写父类方法,方法名,参数保持一致,返回值范围小于父类的方法,父类方法如果是私有的,则不可重写。

重载:在一个类中发生对一个同名方法,有多重实现,参数不一致,根据不同的传入参数调用不同的方法。

8  ==和equals的区别

==比较的是否是同一个对象,同时比较内容和位置。equals比较内容是否相同。值得注意的一点String a = "String" ,String b = "String",String c = new String("String")a==b为true,a==c为false 因为java为String定义了缓冲池,如果直接用“”定义

会先去缓冲池中找是否存在相同的值,如果存在就直接拿来用。

9 String StringBuffer StringBuilder区别

他们都被finally修饰,不可被继承

string长度固定,定义好之后,不会改变,StringBuilder和StringBuffer长度可变。

StringBuffer是线程安全的,StringBuilder线程不安全

StringBuffer因为加了synchronized,所以性能上低于StringBuilder

10 java中的多态

多态主要表现方式有重写和重载,重写是子类继承父类,重写父类的方法。重载是同名方法多个实现,返回值,传入参数不同。

11 java中的异常处理关键字

try,catch,throw,throws,finally

throws用于方法主体抛出异常,throw方法内部抛出异常,finally方法内部,是否出现异常都需要处理的步骤

12 get和post的区别

他们都是通过http请求来提交参数。

get的参数会显示在地址栏,用问号拼接起来的,post是放在http的包中。所以get提交参数时候安全性不高。此外浏览器对输入url长度有限制,post数据存放在包中不会因此受限制。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值