- 博客(28)
- 资源 (1)
- 收藏
- 关注
原创 0基础成消息中间件高手
<div id="content_views" class="htmledit_views"> <h2><a name="t0"></a>一、第十五课 消息中间件的作用</h2><p>异步化提升性能、解耦、流量削峰</p><h2><a name="t1"></a>二、第十七课 Kfaka、RabbitMQ、...
2021-10-20 18:02:30 145
原创 java反射总结
我们知道Spring的IOC吧,即“控制反转”(通过第三方配置文件实现对 对象的控制)。简单说是将我们设计好的对象交给容器控制,而不是直接交给程序内部进行对象的控制。比如,在Spring中,我们经常看到:针对上述的配置,我们Spring是怎么帮助我们实例化对象,并放到容器中去了呢? 没错,就是通过反射!!!!我们看下,下面的伪代码实现过程://解析<bean .../>元素的id属性得到该字符串值为"sqlSessionFactory" ...
2021-08-29 00:24:50 316
原创 2021-07-14
河小马(儒猿技术窝管理员):计算机网络,netty这个学了之后网络层面基本没有任何问题了。分布式锁,分布式事务,分布式全局id这三大模块的视频一定要学,将会成为你简历中的一个亮点。因为公司实际却是有相关场景,所以面试的时候基本写了必问。大型电商系统v1。0项目实战--专看设计模式设计模式有实际结合自己业务用到了比如策略,模板,构造器,工厂,命令等等,面试被问到也基本没有问题。河小马(儒猿技术窝管理员):4、 面试内容我这里提供几家公司的面试问题因为好几家公司的面试题。有很多。我不
2021-08-26 14:34:22 275
原创 java集合
HashMap LinkedHashMap TreeMap共同点 线程不安全 线程不安全 线程不安全不同点 数据无序 数据有序 数据有序还可以对数据进行排序数据结构 数组+链表+红黑树(在JDK1.8中如果链表长度大于8的时候才转换为红黑树,平常不是) 双向链表+HashMap 红黑树1.HashMap是一个最常用的Map,它根据键的hashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为null,不允许多条记录的值为null。H...
2021-08-17 14:47:27 99
原创 商品详情页动态渲染系统:大型网站的多机房4级缓存架构设计
124_大型电商网站的商品详情页的深入分析之前,咱们也是说在讲解这个商品详情页系统的架构缓存架构,高可用服务商品详情页系统,我们只是抽取了其中一部分来讲解,而且还做了很大程度的简化主要是为了用一个较为拟真的这么一个业务场景,重点是要讲解:缓存架构,高可用服务(hystrix)在讲解完了之前的内容之后,相信大家也都掌握了一定的基础了,然后接下来我们就要去动手纯实战,去开发出来一个较为完整的亿级流量大型电商网站的商品详情页系统升级内容:(1)纯实战,我们不会过多的讲解一些技术(redi
2021-06-22 16:15:44 795
原创 大型电商架构亿级流量电商详情页系统--实战 服务降级
86_电商网站的商品详情页缓存服务业务背景以及框架结构说明我们这个课程,基于hystrix,如何来构建高可用的分布式系统的架构,项目实战模拟真实业务的这么一个小型的项目,来全程贯穿,用这个项目中的业务场景去一个一个的讲解hystrix高可用的每个技术纯讲hystrix,脱离实际的业务背景,听起来有点枯燥,大家学完了hystrix以后,可能没法完全感受到技术是如何融入我们的项目中的大背景:电商网站,首页,商品详情页,搜索结果页,广告页,促销活动,购物车,订单系统,库存系统,物流系统小背景:商
2021-06-16 11:03:06 802 1
原创 大型电商架构亿级流量电商详情页系统--实战 缓存同步,热点key统计 降级
35我们之前的三十讲,主要是在讲解redis如何支撑海量数据、高并发读写、高可用服务的架构,redis架构redis架构,在我们的真正类似商品详情页读高并发的系统中,redis就是底层的缓存存储的支持从这一讲开始,我们正式开始做业务系统的开发亿级流量以上的电商网站的商品详情页的系统,商品详情页系统,大量的业务,十几个人做一两年,堆出来复杂的业务系统几十个小时的课程,讲解复杂的业务把整体的架构给大家讲解清楚,然后浓缩和精炼里面的业务,提取部分业务,做一些简化,把整个详情页系统的流程跑出
2021-05-15 16:49:49 1066
原创 大型电商架构亿级流量电商详情页系统实战--redis基础票
亿级流量电商详情页系统实战-缓存架构+高可用服务架构+微服务架构01_高并发高可用复杂系统中的缓存架构有哪些东西(1)如何让redis集群支撑几十万QPS高并发+99.99%高可用+TB级海量数据+企业级数据备份与恢复?:redis企业级集群架构(2)如何支撑高性能以及高并发到极致?同时给缓存架构最后的安全保护层?:(nginx+lua)+redis+ehcache的三级缓存架构(3)高并发场景下,如何解决数据库与缓存双写的时候数据不一致的情况?:企业级的完美的数据库+缓存双写一致性解决方案
2021-05-04 21:12:02 591 1
原创 hystrix微服务参数优化设置
hystrix微服务参数优化设置(实战经验)目录一、概述二、业务场景三、线上经验—如何设置Hystrix线程池大小四、线上经验—如何设置请求超时时间五、问题解决六、总结七公式、30(每秒请求数量) * 0.2(每个请求的处理秒数) + 4(给点缓冲buffer) = 10(线程数量)一、概述上一篇文章讲了一个朋友公司使用Spring Cloud架构遇到问题的一个真实案例,虽然不是什么大的技术问题,但如果对一些东西理解的不深刻,还真会犯一些错误。...
2021-04-24 17:43:05 241
原创 leetcode二分查找算法总结
正常版本/*** 二分查找,找到该值在数组中的下标,否则为-1*/public static int binarySerach(int[] array, int key) { int left = 0; int right = array.length - 1; // 这里必须是 <= while (left <= right) { int mid = left + (right-left)/2; // 养成习惯 ...
2021-04-08 17:48:31 411
原创 栈总结
首先记住这句话,笔试都遇到好几次了:从数据结构角度看,栈也是线性表!目录Leetcode150.逆波兰表达式求值LeetCode1021.删除最外层的括号LeetCode921.使括号有效的最少添加LeetCode1047.删除字符串中的所有相邻重复项LeetCode面试题03.04.化栈为队LeetCode682.棒球比赛LeetCode496.下一个更大的元素ILeetcode150.逆波兰表达式求值————————————————最经典的一道栈的题目,
2021-04-01 17:41:58 217
原创 前缀和汇总
LeetCode 【前缀和】整理降措 2020-05-27 20:02:38 249 收藏 1文章标签: leetcode版权560.和为 K 的子数组974.和可被 K 整除的子数组1248.统计[优美子数组]1371.每个元音包含偶数次的最长子字符串解题过程leetcode 437 求路径总和等于给定值的路径数假设 preSum[i] 是数组 A[1]、A[2],...,A[n] 的前缀和,则:preSum[i] = A[1]+A[2] +...+A[i]数组 A 的子数组A[
2021-03-24 10:58:00 314
原创 二叉树总结
leetcode 二叉树题目总结 一.基本问题 遍历 前序遍历 后序遍历 中序遍历 莫里斯遍历:空间复杂度O(1) 层次遍历 由序列构造二叉树 递归解决二叉树问题: 将二叉树转换为其他结构 二叉树结构: class TreeNode { int val; TreeNode left; TreeNode right; TreeNode() {}
2021-03-22 14:35:17 166
原创 快慢指针&双指针
[leetcode]灵魂画师图解????快慢指针在算法中的应用天下武功, 无坚不破, 唯快不破 ——— 某功夫大佬本文为我,leetcode easy player,algorithm小xuo生在刷题过程中对快慢指针的应用的总结ps: 向leetcode里耐心写解题, 特别是画图解题的各位算法大佬们致敬, 给大佬们递茶????什么是快慢指针快慢说的是移动的速度, 即每次移动的步长的大小 指针为记录变量内存地址的变量, 用它能间接访问变量的值为了更直观的了解快慢指针, 请看如下c+
2021-03-11 11:27:54 267
原创 leetcode阶段总结——拓扑排序
leetcode阶段总结——拓扑排序leetcode中经常出现的题型之一。其中,拓扑排序的概念可以参考这里,这里主要总结一下前300题中出现的几个关于拓扑排序的题,以待之后复习的时候查找。leetcode207 课程表 现在你总共有 n 门课需要选,记为 0 到 n-1。 在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] 给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习?...
2021-02-28 17:41:47 622
原创 Leetcode_打家劫舍三道题(动态规划总结)
Leetcode_打家劫舍三道题(动态规划总结)分类专栏:Leetcode# 动态规划文章标签:动态规划leetcode算法LeetCode198打家劫舍leetCode213打家劫舍2LeetCode337打家劫舍3198. 打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算...
2021-02-22 10:45:38 153
原创 归并排序算法
LeetCode 148之Sort List的java题解 题目: Sort a linked list in O(n log n) time using constant space complexity. 解答: 解题报告:就是对一个链表进行归并排序。 主要考察3个知识点, 知识点1:归并排序的...
2021-02-16 23:41:23 163 2
转载 滑动窗口总结
滑动窗口思想: ①)窗口由两个指针构成,一个左指针left,一个右指针right,然后[left,right]表示的索引范围是一个窗口了。 ②)右指针right的功能是用来扩展窗口:当窗口内的条件没有达到题目要求时,我们需要不断移动右指针right直到窗口内的条件第一次满足题目要求为止。 ③)左指针left的功能是用来缩小窗口的:当窗口内的条件已满足题目条件或多于题目条件时(窗口溢出),我们缩小窗口,也就是左指针left需要右移直到窗口条件不满足为止。这时,我们需要记录当前窗口的大小,并更新目前为止满足
2021-02-16 12:56:04 217
原创 回溯算法总结2
leetcode回溯算法(backtracking)总结 <p>回溯算法的定义:回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。</p>回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回...
2021-02-01 23:54:56 126
转载 java线程池技术
Java线程池实现原理及其在美团业务中的实践 随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流。使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器。J.U.C提供的线程池ThreadPoolExecutor类,帮助开发人员管理线程并方便地执行并行任务。了解并合理使用线程池,是一个开发人员必修的基本功。 本文开篇简述线程池概念和用途,接着结合线程...
2021-01-30 14:56:47 238
转载 01背包问题,完全背包问题,多重背包问题,二维数组 一维数组算法总结
适用动态规划的问题必须满足最优化原理、无后效性和重叠性。 a.最优化原理(最优子结构性质) 最优化原理可这样阐述:一个最优化策略具有这样的性质,不论过去状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略。简而言之,一个最优化策略的子策略总是最优的。一个问题满足最优化原理又称其具有最优子结构性质。 b.无后效性 将各阶段按照一定的次序排列好之后,对于某个给定的阶段状态,它以前各阶段的状态无法直接影响它未来的决策,而只能通过当前的这个状态。换句话说,每个状态都是过去历史的
2021-01-18 14:27:35 1272 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人