为什么Java面试很多需要记忆_一些面试的时候必须要背出来的东西(2)

1.hashmap的原理

这个jdk1.7和1.8还不太一样,需要特地记忆一下

1.7相对1.8还算简单,因为有hash这个方法,需要对二进制运算熟悉

1.8涉及到了红黑树,也算是一种数据结构,避免被问数据结构答不出来,需要提前对红黑树是什么,他有什么好处做个了解

为什么java8要重新实现hashmap,因为java7的hashmap如果存在大量的hash碰撞,同一个下标的entry对象会形成一个链表,导致性能下降,而java8的红黑树的性能就要好很多,至于源码需要点击下面的链接

concurrentHashmap的原理,这个就算不问也是必须了解甚至是背诵的

2.jvm的一些知识

有多少说多少,至少要和jmm内存模型和多线程扯上边

java虚拟机内存由程序计数器,java虚拟机栈,本地方法栈,java堆,方法区,运行时常量池,直接内存组成(摘自深入了解java虚拟机),大概把各个部分说个清楚就行了,然后还有类加载机制,这个一般也是必问的。

3.多线程

volatile和synchronized的知识点,AbstractQueueSynchronizer的源码,内存可见性等,可以看《java并发编程的艺术》一书

4.spring异常处理。这个我在工作中遇到过,用的都是exceptionhandler注解,其实还有两种方式可用,但是优先级都没有注解高,分别是spring提供的异常处理类SimpleMappingExceptionResolver,还有一种是实现接口HandlerExceptionResolver,这个说的越多越好。

5.一些常用的linux命令

可以从安装linux虚拟机开始讲,安装完毕后由于防火墙是开启着的,需要iptables命令关闭防火墙,需要装命令的时候使用yum,需要下载的时候使用wget,需要安装软件使用rpm,一些find,pwd,ls,cd,mv,查看tomcat进程的命令也是必须要掌握的。然后一些java环境安装,tomcat安装,持续集成工具jenkins的安装和启动,这个如果实际操作过肯定是能说出来的,证明你在linux环境上正式做过事情

6.factorybean和beanfactory的区别

beanfactory:顾名思义是一个bean工厂,他负责生产管理bean,比如classpathxmlapplicationcontext,filesystemapplicationcontext,这两个类存储了applicationContext.xml里面的标签对象,有getBean方法,他可以通过类的classname或者bean名称获取相应的bean。

factorybean:是一个bean,但是他带有一些额外功能,他的getObject方法获取的对象可能是这个类里的一个成员变量,如果要获取该factorybean本身,必须要在getObject的参数前加一个&

(待完善)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值