- 博客(80)
- 收藏
- 关注
原创 常见的微服务架构技术栈【一文秒懂】
企业可根据自身的需求、预算、技术团队能力等因素,从上述流行技术中选择合适的技术进行组合和搭配,以构建一个高效、可靠和可扩展的微服务架构。这些技术的不断发展和创新,为企业级微服务项目提供了更多的选择和可能性,同时也推动了微服务架构向更高级和复杂的方向发展。
2025-01-07 20:13:08
1327
原创 Spring Cloud 一文秒懂
c是一系列框架的有序集合,基于Spring Boot构建,用于快速构建分布式系统中的一些常见模式(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线等)。
2025-01-07 19:32:46
954
原创 PMP项目管理五大过程组、十大知识领域
PMP(Project Management Professional)即项目管理专业人士资格认证,其知识体系围绕项目从启动到收尾全生命周期展开,重点包括项目管理五大过程组、十大知识领域以及核心的项目管理原则与理念 ,以下为你详细介绍:
2025-01-03 09:46:41
857
原创 CPU指令集介绍
CPU指令集是CPU能够识别和执行的一组机器指令的集合。这些指令规定了CPU进行各种操作的基本步骤,包括数据处理、内存访问、输入输出操作等。可以把CPU指令集看作是CPU的“语言”,软件程序通过使用这种“语言”来告诉CPU要做什么。
2024-12-17 14:40:36
660
原创 中间件介绍及案例分析
中间件是一种位于操作系统、网络和数据库之上,应用软件之下的软件。它的主要作用是为处于不同系统中的软件组件提供通用服务,使得这些软件组件能够更好地通信、协同工作,并且帮助开发人员更高效地构建和部署应用程序。简单来说,中间件就像是软件世界的“桥梁”和“胶水”,填补了不同软件之间的缝隙。
2024-12-16 20:23:05
527
原创 【中间件介绍及案例分析】
中间件是一种位于操作系统、网络和数据库之上,应用软件之下的软件。它的主要作用是为处于不同系统中的软件组件提供通用服务,使得这些软件组件能够更好地通信、协同工作,并且帮助开发人员更高效地构建和部署应用程序。简单来说,中间件就像是软件世界的 “桥梁” 和 “胶水”,填补了不同软件之间的缝隙。
2024-12-16 20:14:55
1353
原创 ARIMA本质上是error和t-?时刻数据差分的线性模型!!!
【转】https://www.cnblogs.com/bonelee/p/9523452.htmlARIMA模型——本质上是error和t-?时刻数据差分的线性模型!!!如果数据序列是非平稳的,并存在一定的增长或下降趋势,则需要对数据进行差分处理!ARIMA(p,d,q)称为差分自回归移动平均模型,AR是自回归, p为自回归项; MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数https://www.cnblogs.com/bradleon/p/6827109.html 文章里写得
2020-10-22 03:33:29
1339
原创 java多线程面试题整理及答案
java多线程面试题整理及答案(2019年)什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对 运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支 持,它也是一个很好的卖点。线程和进程有什么区别?线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的
2020-09-16 21:15:32
311
转载 jsonp
JSONP前面的话 JSONP是JSON with padding(填充式JSON或参数式JSON)的简写,是应用JSON的一种新方法,常用于服务器与客户端跨源通信,在后来的Web服务中非常流行。本文将详细介绍JSONP基础 JSONP的基本思想是,网页通过添加一个当通过[1, 2, {“buckle”: “my shoe”}] JSONP看起来与JSON差不多,只不过是被包含在函数调用中的JSON,它会发送这样一个包裹后的JSON响应:handleResponse([l, 2, {“bu
2020-08-04 21:43:57
525
原创 输入函数
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));System.in : 从键盘输入的字节流InputStreamReader : 将字节流转换为字符流BufferedReader:从字符输入流中读取文本,缓冲各个字符scannerScanner类简介Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。它是以前的StringTokenizer和Matcher
2020-07-25 16:45:44
306
转载 servlet的本质是什么,它是如何工作的?
作者:柳树链接:https://www.zhihu.com/question/21416727/answer/339012081来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。https://www.zhihu.com/question/21416727这个提问的最大一个bug,就是以为servlet是很复杂的东西,事实上,servlet就是一个Java接口,interface! 打开idea,ctrl + shift + n,搜索servlet,就可以看到是一个只有
2020-07-23 15:34:20
143
转载 内核态(Kernel Mode)与用户态(User Mode)
内核态(Kernel Mode)与用户态(User Mode)内核态: CPU可以访问内存所有数据, 包括外围设备, 例如硬盘, 网卡. CPU也可以将自己从一个程序切换到另一个程序用户态: 只能受限的访问内存, 且不允许访问外围设备. 占用CPU的能力被剥夺, CPU资源可以被其他程序获取为什么要有用户态和内核态由于需要限制不同的程序之间的访问能力, 防止他们获取别的程序的内存数据, 或者获取外围设备的数据, 并发送到网络, CPU划分出两个权限等级 – 用户态 和 内核态用户态与内核态的切换
2020-06-22 21:42:06
556
原创 终于有人把Elasticsearch原理讲透了!
https://developer.51cto.com/art/201904/594615.htm
2020-06-19 22:03:16
160
原创 为什么127+1是等于-128
字节长度是8位,最左位是符号位127的二进制: 0111 1111-1的二进制: 1111 1111,加一为全0,(二进制中负数是补码的形式表示)-2的二进制: 1111 1110……-128的二进制: 1000 0000这是二进制相加减的溢出问题溢出!最大的int + 1 = 最小的int...
2020-06-15 16:56:54
710
原创 101. 对称二叉树
给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。1/ 2 2/ \ / 3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:1/ 2 2\ 3 3class Solution { public boolean isSymmetric(TreeNode root) { return fun(root,root); }
2020-05-31 07:18:12
173
转载 Java 程序员,别用 Stack?!
Q:在 Java 语言中,不推荐使用 Stack 类?是的。实际上,这个不推荐不是某个技术专家或者某个企业的规范标准,而是来自 Java 官方。如果大家在 Java 中查询 Stack 的文档,就会看到如下的说明:简单翻译:一个更加完整,一致的,后进先出的栈相关的操作,应该由 Deque 接口提供。并且,也推荐使用 Deque 这种数据结构(比如 ArrayDeque)来实现。因此,如果你想使用栈这种数据结构,Java 官方推荐的写法是这样的(假设容器中的类型是 Integer):下面,我们.
2020-05-30 19:19:44
2273
5
原创 1290. 二进制链表转整数
给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。输入:head = [1,0,1]输出:5解释:二进制数 (101) 转化为十进制数 (5)链表移动到右侧下一个节点的过程,其实就是二进制数左移1位的结果。 public int getDecimalValue(ListNode head) { ListNode cur = head; int ans
2020-05-20 18:19:29
237
转载 背包九讲
P01: 01背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}。这个方程非常重要,基本上所有跟背包相关的问题的方
2020-05-14 10:12:39
185
原创 69. x 的平方根
实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842…,由于返回类型是整数,小数部分将被舍去。方法一:暴力法class Solution { public int mySqrt(int x) { if(x <= 1) return x; for
2020-05-09 23:25:14
139
原创 221. 最大正方形
在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4思路:当我们判断以某个点为正方形右下角时最大的正方形时,那它的上方,左方和左上方三个点也一定是某个正方形的右下角,否则该点为右下角的正方形最大就是它自己了。这是定性的判断,那具体的最大正方形边长呢?我们知道,该点为右下角的正方形的最大边长,最多比它的上方,左方和左上方为右下角的正方形的边长多1,最好的情况是是它的
2020-05-08 20:09:15
168
原创 121. 买卖股票的最佳时机
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润...
2020-05-07 22:54:17
142
原创 136. 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4class Solution { public int singleNumber(int[] nums) {...
2020-05-07 17:19:12
131
原创 104. 二叉树的最大深度
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回它的最大深度 3 。class Solution { public int maxDepth(TreeNode root) { ...
2020-05-07 16:49:28
116
原创 226. 翻转二叉树
翻转一棵二叉树。示例:输入: 4/ 2 7/ \ / 1 3 6 9输出: 4/ 7 2/ \ / 9 6 3 1备注:这个问题是受到 Max Howell 的 原问题 启发的 :class Solution { public TreeNode invertTree(TreeNode root) { ...
2020-05-07 15:59:34
147
原创 461. 汉明距离
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0)↑ ↑上面的箭头指出了对应二进制位不同的位置。思路:布赖恩·克尼根算法:当我们在 number 和 n...
2020-05-07 15:50:18
121
原创 617. 合并二叉树
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1:输入:Tree 1 Tree 21 2/ \ ...
2020-05-07 15:30:18
145
原创 26. 删除排序数组中的重复项
给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 ...
2020-05-07 08:37:58
270
原创 27. 移除元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2...
2020-05-07 07:50:43
197
原创 35. 搜索插入位置(二分查找)
解题方案思路标签:二分查找如果该题目暴力解决的话需要 O(n)O(n) 的时间复杂度,但是如果二分的话则可以降低到 O(logn)O(logn) 的时间复杂度整体思路和普通的二分查找几乎没有区别,先设定左侧下标 left 和右侧下标 right,再计算中间下标 mid每次根据 nums[mid] 和 target 之间的大小进行判断,相等则直接返回下标,nums[mid] < ta...
2020-05-07 07:16:52
175
原创 572.java 递归判断子树与t是否相等
给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。示例 1:给定的树 s: 3/ \4 5/ 1 2给定的树 t:4/ 1 2返回 true,因为 t 与 s 的一个子树拥有相同的结构和节点值。示例 2:给定的树 s: 3/ \...
2020-05-07 00:38:58
197
原创 1013. 将数组分成和相等的三个部分
给你一个整数数组 A,只有可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。形式上,如果可以找出索引 i+1 < j 且满足 (A[0] + A[1] + … + A[i] == A[i+1] + A[i+2] + … + A[j-1] == A[j] + A[j-1] + … + A[A.length - 1]) 就可以将数组三等分。示例 1:输入:[0,2...
2020-05-07 00:00:56
100
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人