1.外连接和子查询区别
外连接和子查询最大的区别就在于外连接使用的join不需要在内存中创建临时表,效率比子查询高。
2.String的equals方法
https://blog.csdn.net/qq_25827845/article/details/53868815
3.Mybatis的两种实现方式
1)注解
2).xml文件配置
4.Http和RPC区别
RPC 跟 http 不是一个层次的概念。RPC 是 远程过程调用,RPC 包含传输协议和编码协议。http是超文本传输协议,RPC 也可以用http作为传输协议,但一般是用 tcp作为传输协议。用json作为编码协议。RPC的主要用在内部服务间的通信。我们常说的微服务架构就要用到RPC.
原文:https://blog.csdn.net/wangpengzhi19891223/article/details/81012443
5.Dubbo与springcloud区别
https://blog.csdn.net/anningzhu/article/details/76599875
1)dubbo由于是二进制的传输,占用带宽会更少
2)springCloud是http协议传输,带宽会比较多,同时使用http协议一般会使用JSON报文,消耗会更大
3)dubbo的开发难度较大,原因是dubbo的jar包依赖问题很多大型工程无法解决
4)springcloud的接口协议约定比较自由且松散,需要有强有力的行政措施来限制接口无序升级
5)dubbo的注册中心可以选择zk,redis等多种,springcloud的注册中心只能用eureka或者自研(具体怎样我也不太清楚,看了 很多资料上有的说springcloud注册中心也可以用zookeeper,但是有的说需要自研,有懂得大神可以解答下)
6.hashmap底层原理
1)底层结构是数组+链表+红黑树,根据元素key的hash值对数组长度取模。得到存储位置。数组是Entry[],
2)hash碰撞就是两个对象的key的hashCode值一样,将数据采用链表的形式存储在相同的Entry[]节点,获取时通过equals遍历节点上的每个key,获取value。
7.String与StringBuffer,StringBuilder的区别?
1)String是不可类,不适用于经常修改;
2)StringBuffer和StringBuilder是字符串缓冲区,使用于经常修改的对象,但是StringBuffer是线程安全的,StringBuilder是线程不安全的,StringBuilder效率相对于StringBuffer较高,但是安全性不高,当不需要再进行修改的时候,可以直接用tostring方法将结果转成String类。