Fork me on GitHub
摘要: 1 描述 给定一个 ,返回其最大路径和。 路径 : 一条从树中 出发,达到 的序列。该路径 ,且不一定经过根节点。 用例 解析 二叉树 abc,a 是根结点(递归中的 root),bc 是左右子结点(代表其递归后的最优解)。 最大的路径,可能的只有三种路径情况: 1. b + a + c。 2. b 阅读全文
posted @ 2020-01-03 19:32 公众号-JavaEdge 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 既然是集群,必然有多个Kafka节点,只有单节点构成的Kafka伪集群只能用于日常测试,不可能满足线上生产需求。 真正的线上环境需要考量各种因素,结合自身的业务需求而制定。看一些考虑因素(以下顺序,可是分了顺序的哦) 1 操作系统 OS 可能你会问Kafka不是JVM上的大数据框架吗?Java又是跨 阅读全文
posted @ 2019-12-20 03:23 公众号-JavaEdge 阅读(574) 评论(0) 推荐(0) 编辑
摘要: 本文概要:大白话剖析调用链监控原理,然后学习Sleuth,Zipkin,然后将Sleuth整合Zipkin,最后学习Zipkin数据持久化(Elasticsearch)以及Zipkin依赖关系图 实战至此,基本功能已经全部实现 1 剖析调用链监控原理 如果我们的项目出现异常了,怎么办呢? 1.1 问 阅读全文
posted @ 2019-12-17 00:24 公众号-JavaEdge 阅读(2075) 评论(0) 推荐(0) 编辑
摘要: 本章主要内容是:使用Nacos管理配置以及实现配置管理的原因,配置如何管理以及动态刷新和最佳实现总结,最后是Nacos配置刷新原理解读 该技术类似于Spring Cloud Config 1 配置管理的意义 项目痛点 不同环境 ,不同配置 配置属性动态刷新 为了解决痛点,常用方案是引入配置服务器,架 阅读全文
posted @ 2019-12-16 00:18 公众号-JavaEdge 阅读(1395) 评论(0) 推荐(0) 编辑
摘要: 欢迎关注全是干货的技术公众号:JavaEdge 本文主要内容: 如何实现用户认证与授权? 实现的三种方案,全部是通过画图的方式讲解.以及三种方案的对比 最后根据方案改造Gateway和扩展Feign 0 "相关源码" 1 有状态 vs 无状态 1.1 有状态 也可使用粘性会话,即:对相同IP的请求, 阅读全文
posted @ 2019-12-16 00:13 公众号-JavaEdge 阅读(2294) 评论(0) 推荐(0) 编辑
摘要: 先献上几个梗 1.1.1.1 不是测试用的,原来一直没分配,现在被用来做一个DNS了,宣传是比谷歌等公司的dns服务 更保护用户隐私。 IP地址255.255.255.255,代表有限广播,它的目标是网络中的所有主机。 IP地址0.0.0.0,通常代表未知的源主机。当主机采用DHCP动态获取IP地址 阅读全文
posted @ 2019-08-20 23:09 公众号-JavaEdge 阅读(671) 评论(0) 推荐(0) 编辑
摘要: 人用纸和笔来做运算,都是用十进制,直接用十进制和我们最熟悉的符号不是最简单么? 为什么计算机里我们最终要选择二进制呢? 来看看,计算机在硬件层面究竟是怎么表示二进制的,你就会明白,为什么计算机会选择二进制。 1 怎么做到“千里传书” 马拉松的故事相信你听说过。公元前490年,在雅典附近的马拉松海边, 阅读全文
posted @ 2019-08-18 22:34 公众号-JavaEdge 阅读(578) 评论(0) 推荐(0) 编辑
摘要: 程序 = 算法 + 数据结构 对应到计算机的组成原理(硬件层面) 算法 各种计算机指令 数据结构 二进制数据 计算机用0/1组成的二进制,来表示所有信息 程序指令用到的机器码,是使用二进制表示的 存储在内存里面的字符串、整数、浮点数也都是用二进制表示的 万物在计算机里都是0和1,搞清楚各种数据在二进 阅读全文
posted @ 2019-08-18 18:04 公众号-JavaEdge 阅读(860) 评论(0) 推荐(1) 编辑
摘要: 把对应的不同文件内的代码段,合并到一起,成为最后的可执行文件 链接的方式,让我们在写代码的时候做到了“复用”。 同样的功能代码只要写一次,然后提供给很多不同的程序进行链接就行了。 “链接”其实有点儿像我们日常生活中的 标准化、模块化 生产。 有一个可以生产标准螺帽的生产线,就可生产很多不同的螺帽。 阅读全文
posted @ 2019-08-18 02:26 公众号-JavaEdge 阅读(720) 评论(0) 推荐(2) 编辑
摘要: 比尔·盖茨在上世纪80年代说的“640K ought to be enough for anyone” 也就是“640K内存对哪个人来说都够用了” 那个年代,微软开发的还是DOS操作系统,程序员们还在绞尽脑汁,想要用好这极为有限的640K内存 而现在,我手头的Mac Book Pro已经是16G内存 阅读全文
posted @ 2019-08-17 22:18 公众号-JavaEdge 阅读(1020) 评论(0) 推荐(0) 编辑