摘要:
微服务的上线主要分为三个方面:首先是和微服务上线的相关管理人员提交确认微服务相关属性,然后是将一些重要的事项进行配置,最后是通过微服务部署平台进行可视化简单快捷的微服务部署。 1. 微服务相关属性 微服务所属的服务名称及微服务名称 SLA指标:Service-Level Agreement,服务等级 阅读全文
摘要:
微服务的上线主要分为三个方面:首先是和微服务上线的相关管理人员提交确认微服务相关属性,然后是将一些重要的事项进行配置,最后是通过微服务部署平台进行可视化简单快捷的微服务部署。 1. 微服务相关属性 微服务所属的服务名称及微服务名称 SLA指标:Service-Level Agreement,服务等级 阅读全文
摘要:
JVM主要组成组件:类加载器(classloader),运行时数据区(runtime data areas),执行引擎(execution engine) 1. 类加载器(更多详细信息请移步 https://www.cnblogs.com/Water2Wine/p/13536331.html ) 从 阅读全文
摘要:
乐观锁&悲观锁 在操作数据前认为不会有其他人修改数据即为乐观锁,始终认为有人会修改数据即为悲观锁 解决的问题 我们可以首先看一下自增++操作的底层 为了让a加上1,首先我们需要读取a,也就是让b=a,然后我们要让b加1,也就是b=b+1,然后我们把b赋给a所在地址。 这是整个自增操作的底层原理。 但 阅读全文
摘要:
1. 物理层 物理层主要包括中继器和集线器。 中继器相当于是一个物理信号放大器,可以将网络信号放大从而传输到更大的范围。 集线器类似于是一个多端口的中继器,可以将一个物理信号放大并传输到多个网络。 2. 数据链路层 数据链路层主要包括网桥和交换机。 网桥是一个局域网与另一个局域网之间建立连接的桥梁, 阅读全文
摘要:
题目:给定整数N,返回斐波那契数列的第N项 变式1:给定整数N,代表台阶数,一次可以跨2个或者1个台阶,返回有多少种走法 跨到最后一节台阶的走法等同于跨到倒数第一个台阶和倒数第二个台阶走法之和,就回到了求斐波那契数列的基本题 变式2:假设农场种成熟的母牛每年只会生1头小母牛,并且永远不会死。第一年农 阅读全文
摘要:
1. 题目 给定一棵二叉树的头节点head,完成二叉树的先序、中序和后序遍历。要求时间复杂度为O(N),额外空间复杂度为O(1) 2. 思路 常规的遍历二叉树的思路是递归和非递归的解法,但是这两种解法都不能做到额外空间复杂度为O(1)。 首先来看普通的递归和非递归解法,导致它们空间复杂度高的原因是使 阅读全文
摘要:
代理模式 代理(Proxy)是一种设计模式,提供了间接对目标对象进行访问的方式:即通过代理对象访问目标对象。这样做的好处是,可以在目标对象实现的功能上,增加额外的功能补充,即扩展目标对象的功能。 这就符合了设计模式的开闭原则,即在对既有代码不改动的情况下进行功能的扩展。 举个例子来说明代理的作用:明 阅读全文
摘要:
工厂模式可以分为普通工厂模式和抽象工厂模式 当碰到需要创建复杂对象的时候,可以使用工厂模式将对象的具体实现封装起来,用户只需要使用提供好的接口即可创建对象。 1. 普通工厂模式 步骤1 创建一个接口: public interface car { void name(); } 步骤2 创建实现接口的 阅读全文
摘要:
反转链表类的题型整体来说有两种解法,一种就是利用java特有的泛型,用栈的数据结构进行反转;另一种则是用多指针原地逐个反转。两种解法各有优缺,第一种胜在逻辑简单,但是空间复杂度较高;第二种逻辑上较为复杂,但是空间复杂度低 一、反转整个链表 泛型+栈的解法: private static Node r 阅读全文
摘要:
解决滑动窗口类的问题时,通用思路是使用双端队列的数据结构+存储元素下标 生成窗口最大值数组 题目:有一个整型数组arr和一个大小为w的窗口从数组的最左边滑到最右边,窗口每次向右边滑一个位置,返回移动窗口的最大值数组 思路:本题的关键在于利用双端队列来实现窗口最大值的更新。首先生成双端队列qmax,q 阅读全文
|