- 博客(40)
- 收藏
- 关注
原创 曲式结构和和声学
这里写目录标题和声学序言和弦,和声,和音曲式结构八大曲式和声学《和声学教程》斯波索宾因循守旧序言和弦,和声,和音和声的进行是最重要的,奠定了调式的基础。五度和声也是和弦分解和声:不是一起奏出琶音:曲式结构什么是曲式结构:音乐的样式,规律。古典音乐:主调音乐八大曲式乐段通过终止式形成句读。...
2020-09-25 09:21:11
2052
原创 mq
(消息)系统一个重要组件,针对性很强,所以 如果业务方面还是建议选择 RabbitMq 。还有就是,Kafka 的性能(吞吐量、TPS )比RabbitMq 要高出来很多。RabbitMq 数据量小的时候延迟低(zz)。4、如何保证高可用的?RabbitMQ 是比较有代表性的,因为是基于主从(非分布式)做高可用性的,我们就以 RabbitMQ 为例子讲解第一种 MQ 的高可用性怎么实现。RabbitMQ 有三种模式:单机模式、普通集群模式、镜像集群模式。单机模式,就是 Demo 级别的,一般就是
2020-09-17 22:59:57
167
原创 【丙】搜索,回溯
文章目录BFS1. 计算在网格中从原点到特定点的最短路径长度2. 组成整数的最小平方数数量3. 最短单词路径DFS1. 查找最大的连通面积2. 矩阵中的连通分量数目(岛屿数量)2.1 岛屿周长3. 好友关系的连通分量数目4. 填充封闭区域5. 能到达的太平洋和大西洋的区域6.被围绕的区域单词接龙矩阵中的最长递增路径字符串解码克隆图括号生成回溯问题1. 数字键盘组合2. IP 地址划分3. 在矩阵中寻找字符串4. 输出二叉树中所有从根到叶子的路径5. 普通全排列6. 含有相同元素求排列第k个排列7. 组合8.
2020-09-11 20:37:30
554
原创 Mybatis
MyBatis缓存机制https://tech.meituan.com/2018/01/19/mybatis-cache.html一级缓存一级缓存配置如何使用MyBatis一级缓存。开发者只需在MyBatis的配置文件中,添加如下语句,就可以使用一级缓存。共有两个选项,SESSION或者STATEMENT默认是SESSION级别,即在一个MyBatis会话中执行的所有语句,都会共享这一个缓存。另一种是STATEMENT级别,可以理解为缓存只对当前执行的这一个Statement有效。总结:
2020-09-07 10:57:43
116
原创 架构,分布式
事务Atomicity(原子性):一个事务(transaction)中的所有操作,或者全部完成,或者全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。即,事务不可分割、不可约简。[1]Consistency(一致性):在事务开始之前和事务结束以后,数据库的完整性没有被破坏。这表示写入的资料必须完全符合所有的预设约束、触发器、级联回滚等。[1]Isolation(隔离性):数据库允许多个并发事务同时对
2020-07-24 17:32:41
342
1
原创 操作系统面试题
进程什么是PCB?包含哪些信息进程控制块包含三类信息1.标识信息。用于唯一地标识一个进程,常常分由用户使用的外部标识符和被系统使用的内部标识号。几乎所有操作系统中进程都被赋予一个唯一的、内部使用的数值型的进程号,操作系统的其他控制表可以通过进程号来交叉引用进程控制表。常用的标识信息包括进程标识符、父进程的标识符、用户进程名、用户组名等。2.现场信息。用于保留一个进程在运行时存放在处理器现场中的各种信息,任何一个进程在让出处理器时必须把此时的处理器现场信息保存到进程控制块中,而当该进程重新恢复运
2020-07-21 17:51:16
3181
原创 并发编程和jmm
目录锁的理论死锁JMMvolatilesynchronized关键字JUC在 Java 中 CycliBarriar 和 CountdownLatch 有什么区别?锁的理论死锁死锁的四个条件:竞争统一资源,特定顺序,不释放,不剥夺。一定可以死锁的代码在这里插入代码片JMMvolatilesynchronized关键字JUC在 Java 中 CycliBarriar 和 CountdownLatch 有什么区别?CountDownLatch一般用于某个线程A等待若干个其他线程执行完任
2020-07-21 17:13:47
608
原创 网络
TCP/IP关于timewait为什么要有timewait可以重传ack以及防止上一个重复分节的信息在新的分节中出现,即实现TCP全双工连接的终止。当客户主动中断连接时,根据TCP协议,客户必须接收服务器的FIN信息并给予ACK应答。因此客户需要维护状态信息,以便能回复ACK。如果过程中ACK丢失,它必须能够重传,否则将会产生错误。而处于TIME_WAIT状态没有关闭可以实现重传ACK。允许老的重复分节在网络中消失。如果一个TCP连接关闭,过了一会又在相同的IP和端口建立新的连接。TCP需要防止
2020-07-20 16:33:28
454
原创 【急】手撕代码高频
25. K 个一组翻转链表 93. 无重复字符的最长子串 8102. 二叉树的层序遍历 6124. 二叉树中的最大路径和 6字节跳动 后端 206. 反转链表 6字节跳动 后端 15. 三数之和 6字节跳动 后端 146. LRU缓存机制 6字节跳动 后端 215. 数组中的第K个最大元素 5字节跳动 后端 2. 两数相加 5字节跳动 后端 141. 环形链表 5字节跳动 后端 234. 回文链表 5字节跳动 后端 155. 最小栈 4字节跳动 后端 105. 从前序与中序遍历序列
2020-07-20 15:46:55
1001
原创 redis面试
redis为什么这么快https://zhuanlan.zhihu.com/p/57089960Redis架构原理及应用实践数据结构实现结构SDSRedis 是用 C 语言开发完成的,但在 Redis 字符串中,并没有使用 C 语言中的字符串,而是用一种称为 SDS(Simple Dynamic String)的结构体来保存字符串。struct sdshdr { int len; int free; char buf[];}SDS 与 C 字符串的区别①常
2020-07-16 22:12:58
112
原创 排查工具
阿里内部员工,排查Java问题常用的工具单java的btracehttps://www.cnblogs.com/fengzheng/p/7416942.htmlBTrace 是一个事后工具,所谓事后工具就是在服务已经上线了,但是发现存在以下问题的时候,可以用 BTrace。可以干啥:比如哪些方法执行太慢,例如监控执行时间超过1s的方法查看哪些方法调用了 System.gc() ,调用栈是怎样的查看方法参数或对象属性哪些方法发生了异常Btrace的使用场景:查看某
2020-07-16 20:02:12
135
原创 senRPC
模块介绍消费者1)订阅功能,服务消费者需要发送它需要的服务发送给注册中心,然后注册中心发送服务信息返回给服务消费者2)当服务消费者从注册中心获取到服务信息的时候,需要拿着这些信息例如IP+HOST等信息,与服务提供者建立长连接3)当系统开始进行远程调用某个服务的时候,如果提供该服务的不止一个实例,此时就需要根据负载均衡策略,选择一个服务实例去调用4)调用方式的方式,远程调用的最高境界就是用户不知道是远程调用,面向接口编程,所以我们对接口进行编织封装订阅问题:Netty建立连接是异步,可能没
2020-07-15 22:38:47
639
原创 Nginx
这里写目录标题nginx架构进程模型worker进程又是如何处理请求的呢?事件模型定时基本概念connectionrequest功能特性nginx可以干什么用?关键功能介绍反向代理用nginx有什么优势,怎么用?负载均衡有什么优势,怎么用?Web缓存Nginx的安装,启停控制Nginx服务的信号控制服务的停止重启Nginx程序的模块基本数据结构介绍下Nginx中常见的数据结构工作进程启动初始化Nginx服务器工作进程主体工作的源码实现Nginx服务器进程间通信机制是怎么实现的nginx架构进程模型ng
2020-07-15 19:54:45
454
原创 go
关键字defer->或<- 管道为什么go要给返回值命名https://www.cnblogs.com/baiyuxiong/p/4325837.html
2020-07-09 15:50:41
103
原创 面试手写非算法
设计模式单例模式要使用静态方法和静态字段要写个私有的构造方法private SingleTon(){}(面试官问我构造器呢,我说不能有构造器,妈的zz)外面的类就是get到的类(我有次写成了SingleTonTest而里面的获得对象是Object类型的,吐了,想扇自己)dclpublic class SingleTon{ private static volatile SingleTon INSTANCE = null; private SingleTon(){} public
2020-07-09 12:21:08
225
1
转载 面试题汇总
1 Java基础知识面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/1043906122 Java集合容器面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/1045885513 Java异常面试题(2020最新版) https://thinkwon.blog.csdn.net/article/details/1043906894 并发编程面试题(20...
2020-07-09 10:32:38
128
原创 【宫】排序
https://www.cnblogs.com/guoyaohua/p/8600214.html力扣大神冒泡/** * 冒泡排序 * * @param array * @return */ public static int[] bubbleSort(int[] array) { if (array.length == 0) return array; for (int i = 0; i
2020-07-09 10:18:36
125
原创 mysql面试
回答一定要简要,能抓住重点,适当深入,酌情炫技。索引,优化explain关键字有哪些字段?id:每条的id,表示执行顺序select_type :表示类型 simpletable:输出行所引用的表type主要的几个如下:systemconsteql_refrefindexrangeallpossible keykeykey_lengthrefrowsextra using indexusing whereusing
2020-07-08 14:18:23
873
原创 数据库45题
简书45道题:1.查询" 01 “课程比” 02 "课程成绩高的学生的信息及课程分数select*from student ainner join sc bon a.sid = b.sidINNER JOIN sc con a.sid = c.sid and b.cid = 01 and c.cid = 02WHERE b.score>c.score1.1 查询同时存在 01 课程 和 02 课程的情况题目要求查询同时存在01、02课程的记录,首先我们确定这个是来源于成绩表,因
2020-07-04 23:27:21
620
原创 【壬】二分
文章目录1. 求开方2. 大于给定元素的最小元素3. 有序数组的 Single Element4. 第一个错误的版本5. 旋转数组旋转数组的最小数字6. 查找区间正常实现**Input : [1,2,3,4,5]key : 3return the index : 2public int binarySearch(int[] nums, int key) { int l = 0, h = nums.length - 1; while (l <= h) { in
2020-07-04 23:13:46
110
原创 【辛】哈希表
文章目录1. 数组中两个数的和为给定值2. 判断数组是否含有重复元素3. 最长和谐序列4. 最长连续序列哈希表使用 O(N) 空间复杂度存储数据,并且以 O(1) 时间复杂度求解问题。Java 中的 HashSet 用于存储一个集合,可以查找元素是否在集合中。如果元素有穷,并且范围不大,那么可以用一个布尔数组来存储一个元素是否存在。例如对于只有小写字符的元素,就可以用一个长度为 26 的布尔数组来存储一个字符集合,使得空间复杂度降低为 O(1)。Java 中的 HashMap 主要
2020-07-04 23:12:17
135
原创 Kubernetes权威指南读书笔记
1.1 Kubernetes是什么基本介绍node与pod:工作节点可以有多个 pod ,Kubernetes 主节点会自动处理在群集中的工作节点上调度 pod 。 主节点的自动调度考量了每个工作节点上的可用资源。在Kubernetes中,Service是分布式集群架构的核心,一个Service对象拥有如下关键特征。◎ 拥有唯一指定的名称(比如mysql-server)。拥有一个虚拟IP(Cluster IP、Service IP或VIP)和端口号。 能够提供某种远程服务能力。◎ 被映射到提供这种服
2020-07-03 09:27:25
257
原创 【丁】数组,序列,指针
数组228. 汇总区间双指针法:i与i+1比较,不满足则计算结果,start更新注意最后一个元素一定要计算结果class Solution { public List<String> summaryRanges(int[] nums) { List<String> res = new ArrayList<>(); //记录区间起和cur int start = 0; for (int i
2020-07-01 20:02:31
525
原创 jvm面试
1.Java运行时数据区Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。根据《Java虚拟机规范》的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域1.1 虚拟机栈在虚拟机中,每个线程都会有一个单独的虚拟机栈。每个栈分成一段段的栈帧。每个栈帧栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。每一个方法从调用开始至执行完成...
2020-06-30 20:30:55
186
原创 java基础
语法switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上在 Java 5 以前,switch(expr)中,expr 只能是 byte、short、char、int。从 Java5 开始,Java 中引入了枚举类型,expr 也可以是 enum 类型,从 Java 7 开始,expr 还可以是字符串(String),但是长整型(long)在目前所有的版本中都是不可以的。Math.round(11.5) 等于多少?Math.round(-11.5)等于多少
2020-06-30 20:28:41
79
原创 面经
招商银行6.30电话面mybatis里的分页方法。mysql如果一个数据查询很慢怎么办。怎么建索引。bean怎么加载到容器中。Spring使用什么序列化方法。
2020-06-30 20:04:13
79
原创 位操作
二进制中1的个数方法1O(32)的做法: 将各位为1的数加起来class Solution { public boolean isPowerOfTwo(int n) { //二进制中1的个数为1,且这个数还不是1 int res = 0; while(n != 0){ if (res > 1) return false; if((n & 1 )== 1){
2020-06-29 20:59:40
248
原创 spring
Spring IOC容器IOC容器的原理加载和依赖注入bean是两码事,下面先介绍加载bean。加载需要三个过程:1.通过配置文件的文件路径或者类路径定位资源并解析读入资源,主要。2.
2020-06-28 15:20:30
118
原创 设计模式
单例模式(Singleton pattern)用于Runtime,Calendar和其他的一些类中。工厂模式(Factory pattern)被用于各种不可变的类如 Boolean,像Boolean.valueOf,观察者模式(Observer pattern)被用于 Swing 和很多的事件监听中。装饰器设计模式(Decorator design pattern)被用于多个 Java IO 类中。...
2020-06-26 23:48:13
338
原创 【戊】链表
链表合并合并两个有序链表可以使用递归或迭代private ListNode merge2Lists(ListNode l1, ListNode l2) { if (l1 == null) { return l2; } if (l2 == null) { return l1; } if (l1.val < l2.val) { l1.next = merge2Lists(l1.next, l2);
2020-06-25 16:57:27
182
原创 【己】栈,堆,队列
栈逆波兰表达式求解150. 逆波兰表达式求值注意:不需要对栈进行判断,最后栈中的值一定是所求值每个case后记得加break public int evalRPN(String[] tokens) { //遇到符号弹出来计算,然后在放进去,直到栈不为空或者 Stack<Integer> stack = new Stack<>(); int res = 0; for (int i = 0; i &l
2020-06-25 09:45:06
122
原创 【癸】数学和数据结构的实现
数学问题多多积累吧坐标223. 矩形面积1.什么时候无重叠?四种情况2.有重叠的边界怎么算?比如左边界:就是两个左下角横坐标的最小值public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) { //求第一个矩形的面积 int length1 = C - A; int width1 = D - B; int area1 = length1 * width1;
2020-06-24 22:06:21
649
原创 【乙】树与图
树的结构问题大多会用上递归,因为树具有高度的自相似性class Solution { public int countNodes(TreeNode root) { if(root==null) return 0; return countNodes(root.left) + countNodes(root.right) + 1; }}树的遍历...
2020-06-24 21:44:49
217
原创 【甲】贪心,动规
二维221. 最大正方形使用二维dp,dp[i][j]表示以此为右下角的最大的正方形的边长,然后从上向下循环一下,很自然的思路。比较难想到的是递推公式,即第ij的元素是怎么通过左和上的元素求得。绿色的方块就是根据左和上的两个方块public class n221 { public int maximalSquare(char[][] matrix) { //动态规划: int maxLen = 0; if (matrix == null ||
2020-06-24 21:30:10
178
原创 Linux中Tomcat启动失败
问题安装的是tomcat 9,安装完成后./startup.sh后,命令行提示已经启动,但是在http://localhost:8080/中没有显示原因执行./configtest.sh后,显示./catalina.sh: 1: eval: /home/scl/jdk-12.0.2/jre/bin/java: not found再看看自己的jdk文件jdk-12.0.2发现没有jre...
2019-09-01 10:53:35
572
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人