摘要:
博客分类 我的 CSDN 博客 我管理的 CSDN 社区 Thinking In Code 构建之法 我的 Github 做助教期间的博客 阅读全文
摘要:
Java SE 23 新增特性 作者:Grey 原文地址: 博客园:Java SE 23 新增特性 CSDN:Java SE 23 新增特性 源码 源仓库: Github:java_new_features Primitive Types in Patterns, instanceof, and s 阅读全文
摘要:
Java SE 22 新增特性 作者:Grey 原文地址: 博客园:Java SE 22 新增特性 CSDN:Java SE 22 新增特性 源码 源仓库: Github:java_new_features 使用未命名的变量和模式 我们经常需要定义一些我们根本不需要的变量。常见的例子包括异常、lam 阅读全文
摘要:
二叉树路径总和系列问题 作者:Grey 原文地址: 博客园:二叉树路径总和系列问题 CSDN:二叉树路径总和系列问题 LeetCode 112. 路径总和 定义递归函数 boolean process(TreeNode node, int preSum, int target) 递归含义表示:从 n 阅读全文
摘要:
相同二叉树和镜面二叉树问题 作者:Grey 原文地址: 博客园:相同二叉树和镜面二叉树问题 CSDN:相同二叉树和镜面二叉树问题 判断两棵树是否是相同的树 题目描述见:LeetCode 100. Same Tree 即:如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 比如: 两个 阅读全文
摘要:
链表K个节点的组内逆序调整问题 作者:Grey 原文地址: 博客园:链表K个节点的组内逆序调整问题 CSDN:链表K个节点的组内逆序调整问题 题目描述 LeetCode 25. Reverse Nodes in k-Group 本题的 follow up 是: Follow-up: Can you 阅读全文
摘要:
反转链表系列问题 作者:Grey 原文地址: 博客园:反转链表系列问题 CSDN:反转链表系列问题 反转单链表 题目描述见:LeetCode 206. Reverse Linked List 思路如下 对于任何一个节点 cur 来说,记录一个前驱节点 pre (第一个节点的前驱节点是 null ) 阅读全文
摘要:
Java SE 21 新增特性 作者:Grey 原文地址: 博客园:Java SE 21 新增特性 CSDN:Java SE 21 新增特性 源码 源仓库: Github:java_new_features Record Patterns 该功能首次在 Java SE 19 中预览,在Java SE 阅读全文
摘要:
算法和数据结构学习中的一些小的工具函数 作者:Grey 原文地址: 博客园:算法和数据结构学习中的一些小的工具函数 CSDN:算法和数据结构学习中的一些小的工具函数 提取一个数二进制最右侧的 1 比如二进制为:0100 0001 0001 1011 0001 0001 1001 1000 最右侧的1 阅读全文
摘要:
Java SE 20 新增特性 作者:Grey 原文地址: 博客园:Java SE 20 新增特性 CSDN:Java SE 20 新增特性 源码 源仓库: Github:java_new_features Switch类型匹配(第四次预览) 在Java SE 17 新增特性中,Switch 类型匹 阅读全文
摘要:
动态开点线段树说明 作者:Grey 原文地址: 博客园:动态开点线段树说明 CSDN:动态开点线段树说明 说明 针对普通线段树,参考使用线段树解决数组任意区间元素修改问题 在普通线段树中,线段树在预处理的时候,需要申请 4 倍大小的数组空间来存放划分的区域, 而本文介绍的动态开点线段树,它和普通线段 阅读全文
摘要:
LFU 的设计与实现 作者:Grey 原文地址: 博客园:LFU 的设计与实现 CSDN:LFU 的设计与实现 题目描述 LFU(least frequently used)。即最不经常使用页置换算法。 题目链接:LeetCode 460. LFU Cache 主要思路 首先,定义一个辅助数据结构 阅读全文
摘要:
子数组的最大异或和问题 作者:Grey 原文地址: 博客园:子数组的最大异或和问题 CSDN:子数组的最大异或和问题 题目描述 数组中所有数都异或起来的结果,叫做异或和。给定一个数组 arr,其中可能有正、有负,有零,返回 arr 的最大子数组异或和 题目链接见:牛客-子数组的最大异或和 暴力解 枚 阅读全文
摘要:
架构设计(九):估算 作者:Grey 原文地址: 博客园:架构设计(九):估算 CSDN:架构设计(九):估算 估算在系统设计中非常重要,这决定了你的设计是否可以满足要求,要实现比较靠谱的估算,就需要对如下几个概念熟练掌握 第一个概念:二的幂 尽管在处理分布式系统时,数据量可能是巨大的,但计算都可以 阅读全文
摘要:
字符串解码问题 作者:Grey 原文地址: 博客园:字符串解码问题 CSDN:字符串解码问题 题目描述 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 阅读全文
摘要:
Linux 常用命令总结 作者:Grey 原文地址: 博客园:Linux 常用命令总结 CSDN:Linux 常用命令总结 本文基于的 Linux 环境是 CentOS 7, 主要是日常使用的一些命令,持续更新中…… 将一个目录中的所有HTML文件复制到目标目录,同时确保仅复制那些目标目录中不存在或 阅读全文
摘要:
架构设计(八):数据库的水平扩展和垂直扩展 作者:Grey 原文地址: 博客园:架构设计(八):数据库的水平扩展和垂直扩展 CSDN:架构设计(八):数据库的水平扩展和垂直扩展 数据库的扩展有两种方法:垂直扩展和水平扩展。 垂直扩展是通过提高现有机器的硬件配置(CPU、硬盘、内存等)来进行扩展。比如 阅读全文
摘要:
架构设计(七):日志、监控和自动化 作者:Grey 原文地址: 博客园:架构设计(六):日志、监控和自动化 CSDN:架构设计(六):日志、监控和自动化 针对小型网站,日志、监控和自动化支持是很好的做法,但不是必须的。然而,如果网站已经发展到为大型企业服务,日志、监控和自动化工具是必不可少的。 日志 阅读全文
摘要:
架构设计(六):引入消息队列 作者:Grey 原文地址: 博客园:架构设计(六):引入消息队列 CSDN:架构设计(六):引入消息队列 消息队列是一个支持持久化的组件,数据存储在内存中,支持异步通信。它作为一个缓冲器,分配异步请求。消息队列的基本架构很简单,包含两个部分 第一部分:输入服务,称为生产 阅读全文
摘要:
基于 Spring Cloud 的微服务脚手架 作者: Grey 原文地址: 博客园:基于 Spring Cloud 的微服务脚手架 CSDN:基于 Spring Cloud 的微服务脚手架 本文主要介绍了基于 Spring Cloud Finchley 和 Spring Boot 2.0.x 版本 阅读全文
摘要:
架构设计(五):有状态服务和无状态服务 作者:Grey 原文地址: 博客园:架构设计(五):有状态服务和无状态服务 CSDN:架构设计(五):有状态服务和无状态服务 无状态的服务 在横向扩展服务的过程中,将状态(例如用户会话数据)从服务中移出并将会话数据存储在持久性存储介质中,如关系型数据库或 No 阅读全文