- 博客(15)
- 收藏
- 关注
原创 java 面试总结
跳表:每个数据都有对应的层数,层数是随机生成的,跳表最左边的层数被认为系统最小层,这个系统最小,可以认为是所有数据随机roll出的层次都包含的层数。新增一个数据(key,层数),先看最高层,如果最高层的的节点比当前值大那就向下走,如果小向右走,走到不能走了,往下走,如果当前层数已经等于新增数据的层数,把该数据的的那个点创建出来,这样一次就能够创建出属于这个数的结构优点:从高层开始插入一个数,可以越过大多数...
2022-03-27 22:26:33
1101
原创 java 面试知识点总结
1.面向对象可以解释下吗?都有哪些特性?答:面向对象是一种思想,可以将复杂问题简单化,让我们从执行者变为了指挥者。面向对象的三大特性为:封装,继承与多态。封装:将事物封装成一个类,减少耦合,隐藏细节。保留特定的接口与外界联系,当接口内部发生改变时,不会影响外部调用方。 继承:从一个已知的类中派生出一个新的类,新类可以拥有已知类的行为和属性,并且可以通过覆盖/重写来增强已知类的能力。 多态:多态的本质就是一个程序中存在多个同名的不同方法,主要通过三种方式来实现: 通过子类对父类的覆盖来实现
2022-02-09 18:32:49
623
原创 java 深拷贝集合
Orika MapperFacade 深拷贝Maven引入一个叫做Orika的库。 <dependency> <groupId>net.rakugakibox.spring.boot</groupId> <artifactId>orika-spring-boot-starter</artifactId> <version>1.9.0</version> </depende
2021-10-27 11:01:01
949
原创 计算机网络知识点
网络分层结构计算机网络体系大致分为三种,OSI七层模型、TCP/IP四层模型和五层模型。一般面试会考察五层模型,要能流畅回答。计算机网络七层模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。 应用层:为应用程序提供交互服务。在互联网中的应用层协议很多,如域名系统DNS、HTTP协议、SMTP协议等。 表示层:负责数据格式的转换,如加密解密、压缩解压缩等。 会话层:负责在网络中的两节点之间建立、维持和终止通信,如服务器验证用户登录便是由会话层完成的。
2021-10-04 18:59:37
342
原创 shell编程入门
变量引用的三种方式: ① $variable ② ${variable} ③“$variable”或“${variable}”变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,比如下面这种情况: for action in Reading Writing Changing do echo "I am good at ${action}Book" done ...
2021-09-19 10:27:17
137
原创 MVCC篇
MVCC简介MVCC:Multi-Version Concurrency Control多版本并发控制,不仅用于MySQL,分布式事务也可以使用;是一种乐观锁,用于RR(可重复读)、RC(读已提交)隔离级别。使用了行级锁。 当执行查询sql时会生成一致性视图read-view,它由执行查询时所有未提交事务id数组(数组里最小id为min_id)和已创建的最大事务id(max_id)组成,查询的数据结果需要跟read-view做比对从而得到快照结果。 MVCC通过保存数据在某个时间点的快照.
2021-09-11 12:11:44
84
原创 Mysql 面试总结 看这一篇就够了
事务特性ACID原子性A:要么成功,要么失败,不可分割。 一致性C:事务执行前后,数据库处于一致性状态,事务成功变化正确。事务失败返回原始阶段。 隔离性I:并发下,不同事务操作相同数据,并发事务所做的修改隔离,要么是另一个事务修改前没要么是另一个事务修改后;不存在中间状态。 持久性:事务结束后,对数据库的操作必须要永久保存下来(保存在磁盘中)。事务的隔离级别ISOLATION_DEFUALT:后端数据库默认隔离级别。 ISOLATION_READ_UNCOMMITED:最低级别,允许读尚未
2021-09-11 12:00:58
423
原创 RabbitMQ超详细的使用笔记(各种工作模式+可靠生产消费+死信队列等)
消息队列协议网络协议三要素rabbitMq采用amqp协议消息分发策略和机制轮询分发不考略服务器性能,没有时间倾斜性,公平分发类似能者多劳,性能好就多消费什么是高可用?...
2021-08-07 13:18:14
1151
1
原创 关于ElasticSearch(es) 的基本使用教程总结(全)
关于各个组件安装教程可以参考docker安装elasticsearch(最详细版)_bright的博客-CSDN博客_docker安装elasticsearch一开始可能不是很详细,内容会不断更新,欢迎大家指正,我只记关键的如果有想从头第一次学的建议先看视频目录ElasticSearch介绍ElasticSearch 与 Solr 的区别ElasticSearch 核心概念倒排索引IK 分词器字段类型概述textkeyword关于索引的基本操作创建索引:PUT
2021-07-31 12:02:09
2290
原创 贪心区间调度问题java代码
public int intervalSchedule(int[][] intvs) {if (intvs.length == 0) return 0;// 按 end 升序排序Arrays.sort(intvs, new Comparator<int[]>() {public int compare(int[] a, int[] b) {return a[1] - b[1]...
2020-03-27 19:20:14
219
转载 进制转换笔记
本文参考百度经验(https://jingyan.baidu.com/article/495ba84109665338b30ede98.html),如有侵权,请通知删除先讲一下定义吧,进制也就是进制位,对于接触过电脑的人来说应该都不陌生,我们常用的进制包括:二进制、八进制、十进制与十六进制,它们之间区别在于数运算时是逢几进一位。比如二进制是逢2进一位,十进制也就是我们常用的0-9是逢10进一位。...
2020-03-24 11:15:58
318
原创 WebSocket连接
WebSocket如何建立连接、交换数据的细节,以及数据帧的格式。WebSocket复用了HTTP的握手通道。具体指的是,客户端通过HTTP请求与WebSocket服务端协商升级协议。协议升级完成后,后续的数据交换则遵照WebSocket的协议。websocket协议是基于tcp的网络协议,实现了浏览器与客户端的全双工通信,与http协议不同的是,它允许服务器主动推送消息给客户端。webso...
2020-03-16 12:43:07
747
原创 随记 拥塞控制
拥塞控制:拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载慢开始+拥塞避免前者每收到一个报文就指数增长,后者维护一个拥塞窗口,只要不拥塞就把窗口调大+1;为了防止cwnd增长过大引起网络拥塞,设置一个慢开始门限(ssthresh状态变量)当cnwd<ssthresh,使用慢开始算法当cnwd=ssthresh,既可使用慢开始算法,也可以使用拥塞避免算法...
2020-03-01 17:50:02
212
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人