1.java的反射机制了解吗
答案:https://blog.csdn.net/qq_39209361/article/details/81239189
2.Java的数据类型,线程,内存
答案:https://blog.csdn.net/zj15527620802/article/details/80622314
https://www.cnblogs.com/skorzeny/p/6480012.html
3.rabbitMQ有哪些关键的组成部分?
publisher
publisher:发布消息
exchange
exchange:用来决定消息应该投递到哪些queue
queue
queue:用来存储并分发消息
consumer
consumer:消费消息
除此之外还有另外几个概念
routing_key
搭配binding_key用来过滤消息,这个属性会在消息发送时被决定
binding_key
用来绑定exchange和queue,和routing_key搭配在exchange决策哪些消息应该投递到哪些queue
exchange的类型:FANOUT,TOPIC,DIRECT
FANOUT:广播,此时binding_key和routing_key其实是无效的,消息将会投递到目标exchange绑定的所有queue上
DIRECT:消息将只会被投递到和routing_key一致的binding_key所绑定的queue上
TOPIC:和DIRECT相似,只是此时exchange的决策会考虑binding_key的通配符配置
详解:https://www.cnblogs.com/200911/p/4856835.html
4.STL中vector和map的区别,map底层如何删除一个元素
答案:
1、Vector是顺序容器,是一个动态数组,支持随机存取、插入、删除、查找等操作,在内存中是一块连续的空间。在原有空间不够情况下自动分配空间。vector随机存取效率高,但是在vector插入元素,需要移动的数目多,效率低下。
2、Map是关联容器,以键值对的形式进行存储,方便进行查找。关键词起到索引的作用,值则表示与索引相关联的数据。以红黑树的结构实现,插入删除等操作都在O(logn)时间内完成
总结:
1、如果你需要高效的随即存取,而不在乎插入和删除的效率,使用vector
2、如果你需要大量的插入和删除,而不关心随即存取,则应使用list
3、如果你需要随即存取,而且关心两端数据的插入和删除,则应使用deque。
删除:https://blog.csdn.net/wxm349810930/article/details/69663287
5.String,StringBuffer,聊了比较多的String相关的
源代码答案:https://www.cnblogs.com/kissazi2/p/3648671.html
详解:https://blog.csdn.net/shenhonglei1234/article/details/54908934