Java常见的面试题汇总,Java面试题大全

java基础以及多个“比较”

1.Collections.sort排序内部原理

在Java 6中Arrays.sort()和Collections.sort()使用的是MergeSort,而在Java 7中,内部实现换成了TimSort,其对对象间比较的实现要求更加严格

2.hashMap原理,java8做的改变

从结构实现来讲,HashMap是数组+链表+红黑树(JDK1.8增加了红黑树部分)实现的。HashMap最多只允许一条记录的键为null,允许多条记录的值为null。HashMap非线程安全。ConcurrentHashMap线程安全。解决碰撞:当出现冲突时,运用拉链法,将关键词为同义词的结点链接在一个单链表中,散列表长m,则定义一个由m个头指针组成的指针数组T,地址为i的结点插入以T(i)为头指针的单链表中。Java8中,冲突的元素超过限制(8),用红黑树替换链表。

3.String 和 StringBuilder 的区别

1)可变与不可变:String不可变,每一次执行“+”都会新生成一个新对象,所以频繁改变字符串的情况中不用String,以节省内存。

2)是否多线程安全:StringBuilder并没有对方法进行加同步锁,所以是非线程安全的。StringBuffer和String均线程安全。

4.Vector 与 Array 的区别

1)ArrayList在内存不够时默认是扩展50% + 1个,Vector是默认扩展1倍。

2)Vector属于线程安全级别的,但是大多数情况下不使用Vector,因为线程安全需要更大的系统开销。

5.HashMap 与 Hashtable 的区别

1) 历史原因: Hashtable继承Dictonary类, HashMap继承自abstractMap

2) HashMap允许空的键值对, 但最多只有一个空对象,而HashTable不允许。

3) HashTable同步,而HashMap非同步,效率上比HashTable要高

面试题展示

1、JS中””与“=”的区别

2、final 在 java 中有什么作用?

3、java 中操作字符串都有哪些类?它们之间有什么区别?

4、对作用域上下文和this的理解。

5、Js中的prototype是什么?具体怎么用?

6、使用jquery如何找到所有的HTML select标签中的选中项。

7、Jquery.ajax()的异步请求与同步请求使用时有什么区别?

8、Ajax请求的时候get和post方式的区别?

9、CSS中margin、padding的作用、以及单参、双参、四参数在方向上的顺序。

10、mybatis 中 #{}和 ${}的区别是什么?

11、mybatis 有几种分页方式?

12、说一下 mybatis 的一级缓存和二级缓存?

13、mybatis 动态sql标签中循环标签中有哪些属性,各自的作用。

14、mybatis 动态sql中使用标签与直接写where关键字有什么区别?

15、请说明filter和inteceptor的区别。

16、Spring MVC中@requestMapping六个属性value\method\consumes\produces\params\headers的作用。

17、Spring mvc @ResponseBody什么时候使用、@PathVariable怎么用?

18、Spring @ Resource 和Autowired有什么区别?

19、Aop 中切面的切入时机有哪些、切点表达式的几种写法。

20、为什么要使用 spring?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值