JAVA
JAVA8大基本数据类型
J AVA8大基本数据类型
HashMap和Hashtable的比较
Hashtable:
1.Hashtable不允许key或者value为null,线程安全,实现线程安全的方式是在修改数据时锁住整个Hashtable,效率低
2.Hashtable线程安全的,很多方法都有synchronized修饰,但同时因为加锁导致单线程环境下效率较低。
Hashmap:
1.HashMap允许有一个key为null,允许多个value为null,线程不安全
2.在多线程环境下会容易产生死循环,但是单线程环境下运行效率高;
一般建议用currentHashMap,因为他大量的利用了volatile,final,CAS等lock-free技术来减少锁竞争对于性能的影响,
ArrayList和LinkedList的比较
共性:ArrayList与LinkedList都是List接口的实现类,因此都实现了List的所有未实现的方法,只是实现的方式有所不同。
区别:List接口的实现方式不同
ArrayList实现了List接口,以数组的方式来实现的,因此对于快速的随机取得对象的需求,使用ArrayList实现执行效率上会比较好。
LinkedList是采用链表的方式来实现List接口的,因此在进行insert和remove动作时效率要比ArrayList高。适合用来实现Stack(堆栈)与Queue(队列)。
list和set的区别
篇幅限制下面就只能给大家展示小册部分内容了。包括了:Java面试、Spring、JVM、MyBatis、Redis、MySQL、并发编程、微服务、Linux、Springboot、SpringCloud、MQ、Kafka 面试专题
需要全套面试笔记的【点击此处即可】即可免费获取
List,Set都是继承自Collection接口
list:元素有放入顺序,元素可重复
和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变
set:元素无放入顺序,元素不可重复,重复元素会覆盖掉
检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变
Java 重写(Override)与重载(Overload)
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
Spring
Spring是什么
spring是一个容器,用来装javabean(java对象的) 中间层框架
ioc aop 控制反转,面向切面,避免了依赖注入等问题
Aop是什么
将程序中交叉业务逻辑(日志,事务,参数校验),封装成一个切面,然后注入到目标对象,达到方法复用的功能
IOC是什么
ioc容器:存放map对象,也就是存放的各种对象,项目启动会去读取配置文件里面的bean,
控制反转:对象A获得依赖对象B的过程,由主动变成被动的行为,对象和对象之间没有相互关联,都依赖ioc容器了
依赖注入: 动态的将某种依赖关系注入到对象中