0818积累

081801
3.常见的HTTP请求头有哪些,User-Agent的作用

HTTP最常见的请求头如下:
Accept-Charset    浏览器可以接受的字符编码集。
Accept-Language    浏览器可接受的语言
Cookie    HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。
Content-Length    请求的内容长度

HTTP Responses Header 响应头:
Content-Language    响应体的语言    Content-Language: en,zh
Content-Length    响应体的长度

User-Agent详解
UA(User-Agent)是一个特殊字符串头,
使得服务器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言等。
一些网站常常通过 UA 来给不同的操作系统、不同的浏览器发送不同的页面。

4.
JDK1.8 新特性

Lambda表达式:

Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。
使用 Lambda 表达式可以使代码变的更加简洁紧凑。

函数式接口:
函数式接口的提出是为了给Lambda表达式的使用提供更好的支持。
什么是函数式接口?
简单来说就是只定义了一个抽象方法的接口,就是函数式接口。

Stream API
Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。
这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。

接口中的可以有default默认方法

8.Redis有哪些数据结构,常用场景
Redis最为常用的数据类型主要有以下五种:

String、Hash、List、Set、Sorted set
String:
String 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字。
常用命令:get、set、incr、decr等。

应用场景:String是最常用的一种数据类型,普通的key/ value 存储都可以归为此类。

Hash

我们要存储一个用户信息对象数据,包含姓名、年龄;
用hash,key:用户id、value是hash,
在hash中,key是姓名/年龄标签,value是姓名/年龄数据

List
应用场景:比如微博的关注列表,粉丝列表等都可以用Redis的list结构来实现。

set:
应用场景:比如微博,两个用户关注的人可以分别放在两个集合中,Redis为集合提供了求交集、并集、差集等操作,可以非常方便的实现如共同关注。

Sorted Set:
Redis sorted set的使用场景与set类似,区别是set不是自动有序的,
而sorted set可以通过用户额外提供一个优先级(score)的参数来为成员排序,并且是插入有序的,即自动排序。

 和Set相比,Sorted Set增加了一个权重参数score,使得集合中的元素能够按score进行有序排列,比如一个存储全班同学成绩的Sorted Set,其集合value可以是同学的学号,而score就可以是其考试得分,这样在数据插入集合的时候,就已经进行了天然的排序。

11.常见的GC算法,年轻代和老年代一般用哪种算法
12.G1相比CMS的优势

1.RPC和HTTP的区别
http是指从客户端到服务器端的请求消息,rpc是远程过程调用协议。
RPC:可以基于TCP协议,也可以基于HTTP协议
HTTP:基于HTTP协议

RPC主要用于公司内部的服务调用,性能消耗低,传输效率高,服务治理方便。
HTTP主要用于对外的异构环境,浏览器接口调用,APP接口调用,第三方接口调用等。

2.Java的Map有哪些实现类,分别简要介绍一下
Java的Map有哪些实现类,分别简要介绍一下
HashMap
Hashtable
LinkedHashMap
TreeMap
3.说一下HashMap的原理,为什么用链地址去解决冲突,为什么用红黑树
在jdk1.8版本后,java对HashMap做了改进,在链表长度大于8的时候,
将后面的数据存在红黑树中,以加快检索速度,我们接下来讲一下红黑树。

红黑树虽然本质上是一棵二叉查找树,
但它在二叉查找树的基础上增加了着色和相关的性质使得红黑树相对平衡,
从而保证了红黑树的查找、插入、删除的时间复杂度最坏为O(log n)。加快检索速率。

红黑树的5个性质:
1.每个结点要么是红的要么是黑的。
2.根结点是黑的。
3.每个叶结点都是黑的。
4.如果一个结点是红的,那么它的两个子节点都是黑的。
5. 对于任意结点而言,其到叶结点树尾端NIL指针的每条路径都包含相同数目的黑结点。

AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树。
增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。

红黑树相比avl树,在检索的时候效率其实差不多,都是通过平衡来二分查找。但对于插入删除等操作效率提高很多。
红黑树不像avl树一样追求绝对的平衡,他允许局部很少的不完全平衡,
这样对于效率影响不大,但省去了很多没有必要的调平衡操作,avl树调平衡有时候代价较大,所以效率不如红黑树。

11.优先队列和堆的区别
优先队列:
说到底还是一种队列 不过是一种特殊的队列
他的工作就是poll()/peek()出队列中最大/最小的那个元素

堆:
堆不一定是完全二叉树
但是一般采用完全二叉树,主要是利于存储和运算

堆只是优先队列的一种实现方式,而java的PriorityQueue也是基于这个实现的。

http1.0/1.1/2.0

mvcc

redo
undo

分隔链表


kafka如何保证消息不丢失

MySQL的事务隔离机制

7.MVCC是什么,如何实现的

8.说一下常见的设计模式,实现一下单例模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值