 Nacos架构&原理
Nacos Naming 大规模测试报告 122 Nacos ⽣态 130 Nacos Spring 生态 130 Nacos Docker & Kubernetes 生态 137 Nacos 服务网格生态 148 Nacos Golang 生态 163 Nacos C# 生态 169 Nacos-Sync 简介 175 Nacos 最佳实践 179 企业落地最佳实践 179 掌门教育微服务体系 2019 年当我们开放核心能力和竞争力之后,就开始与 Dubbo/Spring-cloud-alibaba 生态完成集 成,随着云原生的大势迅速被互联网行业使用。与此同时我们完成了多语言生态和服务网格生态的 布局。 2020 年 Nacos 迅速被成千上万家企业采用,并构建起强大的生态。 但是随着用户深入使用,逐 渐暴露⼀些性能问题,因此我们启动了 Nacos 2.0 的隔代产品设计,凭借 的隔代产品设计,凭借 10 倍性能提升激发社区 简介 < 16 活力,进入国内开源项目活跃度 Top 10,并且成为行业首选。 未来为了 Nacos 2.0 代码更加清爽,性能更加卓越,我们将加速插件化和服务网格生态的进化速度, 期望对此感兴趣小伙伴⼀起共建!!! 17 > Nacos 架构 Nacos 架构 Nacos 总体设计 Nacos 架构 Nacos 开源之前在阿里内部已经发展了十年,沉淀0 码力 | 326 页 | 12.83 MB | 9 月前3 Nacos架构&原理
Nacos Naming 大规模测试报告 122 Nacos ⽣态 130 Nacos Spring 生态 130 Nacos Docker & Kubernetes 生态 137 Nacos 服务网格生态 148 Nacos Golang 生态 163 Nacos C# 生态 169 Nacos-Sync 简介 175 Nacos 最佳实践 179 企业落地最佳实践 179 掌门教育微服务体系 2019 年当我们开放核心能力和竞争力之后,就开始与 Dubbo/Spring-cloud-alibaba 生态完成集 成,随着云原生的大势迅速被互联网行业使用。与此同时我们完成了多语言生态和服务网格生态的 布局。 2020 年 Nacos 迅速被成千上万家企业采用,并构建起强大的生态。 但是随着用户深入使用,逐 渐暴露⼀些性能问题,因此我们启动了 Nacos 2.0 的隔代产品设计,凭借 的隔代产品设计,凭借 10 倍性能提升激发社区 简介 < 16 活力,进入国内开源项目活跃度 Top 10,并且成为行业首选。 未来为了 Nacos 2.0 代码更加清爽,性能更加卓越,我们将加速插件化和服务网格生态的进化速度, 期望对此感兴趣小伙伴⼀起共建!!! 17 > Nacos 架构 Nacos 架构 Nacos 总体设计 Nacos 架构 Nacos 开源之前在阿里内部已经发展了十年,沉淀0 码力 | 326 页 | 12.83 MB | 9 月前3
 《Java 应用与开发》课程讲义 - 王晓东应用与开发课程的教学体系如图1所示,包括了 Java SE 和 Java EE 两个部分, 每部分都涉及一些验证性实验,另外,会开展两次稍微大一点的集成开发项目。同时, 在学习的过程中会穿插一些开发工具、设计模式、应用服务器和数据库的基本应用。 在课程学习的过程中,希望同学们要有足够的求知欲,养成良好的学习态度,具 备不断探索的精神,多尝新、多实践、多总结。我想这是计算机专业人士应该具备的 基本素养。 1 � 0 � 虚拟机、类库和其他资源文件; lib 类库和所需支持性文件; include 用于调试本地方法(底层平台)的 C++ 头文件; src.zip 类库的源代码; db Java DB 数据库,JDK6.0 新增项目,一种纯 Java 的关系型数据库。 1.4 Java 开发工具 业界普遍采用 Eclipse 或 IntelliJ IDEA 等集成开发环境进行 Java 大型工程开发,当 然也可以采用文本编程工具 集合、日期、国际化、各种实用工具 utility 的简写 java.io 可提供数据输入/输出相关功能的类 input/output 的简写 java.net Java 网络编程的相关功能类 网络 java.sql 提供数据库操作的相关功能类 结构化查询语言的简写 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3 《Java 应用与开发》课程讲义 - 王晓东应用与开发课程的教学体系如图1所示,包括了 Java SE 和 Java EE 两个部分, 每部分都涉及一些验证性实验,另外,会开展两次稍微大一点的集成开发项目。同时, 在学习的过程中会穿插一些开发工具、设计模式、应用服务器和数据库的基本应用。 在课程学习的过程中,希望同学们要有足够的求知欲,养成良好的学习态度,具 备不断探索的精神,多尝新、多实践、多总结。我想这是计算机专业人士应该具备的 基本素养。 1 � 0 � 虚拟机、类库和其他资源文件; lib 类库和所需支持性文件; include 用于调试本地方法(底层平台)的 C++ 头文件; src.zip 类库的源代码; db Java DB 数据库,JDK6.0 新增项目,一种纯 Java 的关系型数据库。 1.4 Java 开发工具 业界普遍采用 Eclipse 或 IntelliJ IDEA 等集成开发环境进行 Java 大型工程开发,当 然也可以采用文本编程工具 集合、日期、国际化、各种实用工具 utility 的简写 java.io 可提供数据输入/输出相关功能的类 input/output 的简写 java.net Java 网络编程的相关功能类 网络 java.sql 提供数据库操作的相关功能类 结构化查询语言的简写 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3
 Hello 算法 1.0.0b4 Java版Table」通过建立键 key 与值 value 之间的映射,实现高效的元素查询。具体而言,我们向哈 希表输入一个 key ,则可以在 ?(1) 时间内获取对应的 value 。 以一个包含 ? 个学生的数据库为例,每个学生都有“姓名”和“学号”两项数据。假如我们希望实现“输入 一个学号,返回对应的姓名”的查询功能,则可以采用哈希表来实现。 Figure 6‑1. 哈希表的抽象表示 除哈希表外,我们 node; } 查找节点 AVL 树的节点查找操作与二叉搜索树一致,在此不再赘述。 7.5.4. AVL 树典型应用 ‧ 组织和存储大型数据,适用于高频查找、低频增删的场景。 ‧ 用于构建数据库中的索引系统。 7. 树 hello‑algo.com 145 � 为什么红黑树比 AVL 树更受欢迎? 红黑树的平衡条件相对宽松,因此在红黑树中插入与删除节点所需的旋转操作相对较少,在 节点增删操作上的平均效率高于 约束满足问题:这类问题的目标是找到满足所有约束条件的解。 ‧ ? 皇后:在 ? × ? 的棋盘上放置 ? 个皇后,使得它们互不攻击。 ‧ 数独:在 9 × 9 的网格中填入数字 1 ~ 9 ,使得每行、每列和每个 3 × 3 子网格中的数字不重复。 ‧ 图着色问题:给定一个无向图,用最少的颜色给图的每个顶点着色,使得相邻顶点颜色不同。 组合优化问题:这类问题的目标是在一个组合空间中找到满足某些条件的最优解。0 码力 | 342 页 | 27.39 MB | 1 年前3 Hello 算法 1.0.0b4 Java版Table」通过建立键 key 与值 value 之间的映射,实现高效的元素查询。具体而言,我们向哈 希表输入一个 key ,则可以在 ?(1) 时间内获取对应的 value 。 以一个包含 ? 个学生的数据库为例,每个学生都有“姓名”和“学号”两项数据。假如我们希望实现“输入 一个学号,返回对应的姓名”的查询功能,则可以采用哈希表来实现。 Figure 6‑1. 哈希表的抽象表示 除哈希表外,我们 node; } 查找节点 AVL 树的节点查找操作与二叉搜索树一致,在此不再赘述。 7.5.4. AVL 树典型应用 ‧ 组织和存储大型数据,适用于高频查找、低频增删的场景。 ‧ 用于构建数据库中的索引系统。 7. 树 hello‑algo.com 145 � 为什么红黑树比 AVL 树更受欢迎? 红黑树的平衡条件相对宽松,因此在红黑树中插入与删除节点所需的旋转操作相对较少,在 节点增删操作上的平均效率高于 约束满足问题:这类问题的目标是找到满足所有约束条件的解。 ‧ ? 皇后:在 ? × ? 的棋盘上放置 ? 个皇后,使得它们互不攻击。 ‧ 数独:在 9 × 9 的网格中填入数字 1 ~ 9 ,使得每行、每列和每个 3 × 3 子网格中的数字不重复。 ‧ 图着色问题:给定一个无向图,用最少的颜色给图的每个顶点着色,使得相邻顶点颜色不同。 组合优化问题:这类问题的目标是在一个组合空间中找到满足某些条件的最优解。0 码力 | 342 页 | 27.39 MB | 1 年前3
 Hello 算法 1.1.0 Java版node; } 3. 查找节点 AVL 树的节点查找操作与二叉搜索树一致,在此不再赘述。 7.5.4 AVL 树典型应用 ‧ 组织和存储大型数据,适用于高频查找、低频增删的场景。 ‧ 用于构建数据库中的索引系统。 ‧ 红黑树也是一种常见的平衡二叉搜索树。相较于 AVL 树,红黑树的平衡条件更宽松,插入与删除节点 所需的旋转操作更少,节点增删操作的平均效率更高。 7.6 小结 1. 重点回顾 约束满足问题:这类问题的目标是找到满足所有约束条件的解。 ‧ ? 皇后:在 ? × ? 的棋盘上放置 ? 个皇后,使得它们互不攻击。 ‧ 数独:在 9 × 9 的网格中填入数字 1 ~ 9 ,使得每行、每列和每个 3 × 3 子网格中的数字不重复。 ‧ 图着色问题:给定一个无向图,用最少的颜色给图的每个顶点着色,使得相邻顶点颜色不同。 组合优化问题:这类问题的目标是在一个组合空间中找到满足某些条件的最优解。 问题“最小路径和”来举例。 Question 给定一个 ? × ? 的二维网格 grid ,网格中的每个单元格包含一个非负整数,表示该单元格的代价。 机器人以左上角单元格为起始点,每次只能向下或者向右移动一步,直至到达右下角单元格。请返回 从左上角到右下角的最小路径和。 图 14‑10 展示了一个例子,给定网格的最小路径和为 13 。 图 14‑10 最小路径和示例数据 第一步:思考每轮的决策,定义状态,从而得到0 码力 | 378 页 | 18.47 MB | 1 年前3 Hello 算法 1.1.0 Java版node; } 3. 查找节点 AVL 树的节点查找操作与二叉搜索树一致,在此不再赘述。 7.5.4 AVL 树典型应用 ‧ 组织和存储大型数据,适用于高频查找、低频增删的场景。 ‧ 用于构建数据库中的索引系统。 ‧ 红黑树也是一种常见的平衡二叉搜索树。相较于 AVL 树,红黑树的平衡条件更宽松,插入与删除节点 所需的旋转操作更少,节点增删操作的平均效率更高。 7.6 小结 1. 重点回顾 约束满足问题:这类问题的目标是找到满足所有约束条件的解。 ‧ ? 皇后:在 ? × ? 的棋盘上放置 ? 个皇后,使得它们互不攻击。 ‧ 数独:在 9 × 9 的网格中填入数字 1 ~ 9 ,使得每行、每列和每个 3 × 3 子网格中的数字不重复。 ‧ 图着色问题:给定一个无向图,用最少的颜色给图的每个顶点着色,使得相邻顶点颜色不同。 组合优化问题:这类问题的目标是在一个组合空间中找到满足某些条件的最优解。 问题“最小路径和”来举例。 Question 给定一个 ? × ? 的二维网格 grid ,网格中的每个单元格包含一个非负整数,表示该单元格的代价。 机器人以左上角单元格为起始点,每次只能向下或者向右移动一步,直至到达右下角单元格。请返回 从左上角到右下角的最小路径和。 图 14‑10 展示了一个例子,给定网格的最小路径和为 13 。 图 14‑10 最小路径和示例数据 第一步:思考每轮的决策,定义状态,从而得到0 码力 | 378 页 | 18.47 MB | 1 年前3
 Hello 算法 1.0.0b5 Java版node; } 3. 查找节点 AVL 树的节点查找操作与二叉搜索树一致,在此不再赘述。 7.5.4 AVL 树典型应用 ‧ 组织和存储大型数据,适用于高频查找、低频增删的场景。 ‧ 用于构建数据库中的索引系统。 ‧ 红黑树在许多应用中比 AVL 树更受欢迎。这是因为红黑树的平衡条件相对宽松,在红黑树中插入与删 除节点所需的旋转操作相对较少,其节点增删操作的平均效率更高。 第 7 章 树 约束满足问题:这类问题的目标是找到满足所有约束条件的解。 ‧ ? 皇后:在 ? × ? 的棋盘上放置 ? 个皇后,使得它们互不攻击。 ‧ 数独:在 9 × 9 的网格中填入数字 1 ~ 9 ,使得每行、每列和每个 3 × 3 子网格中的数字不重复。 ‧ 图着色问题:给定一个无向图,用最少的颜色给图的每个顶点着色,使得相邻顶点颜色不同。 组合优化问题:这类问题的目标是在一个组合空间中找到满足某些条件的最优解。 为了更形象地展示解题步骤,我们使用一个经典问题“最小路径和”来举例。 � 给定一个 ? × ? 的二维网格 grid ,网格中的每个单元格包含一个非负整数,表示该单元格 的代价。机器人以左上角单元格为起始点,每次只能向下或者向右移动一步,直至到达右下角 单元格。请返回从左上角到右下角的最小路径和。 图 14‑10 展示了一个例子,给定网格的最小路径和为 13 。 图 14‑10 最小路径和示例数据 第 14 章0 码力 | 376 页 | 30.69 MB | 1 年前3 Hello 算法 1.0.0b5 Java版node; } 3. 查找节点 AVL 树的节点查找操作与二叉搜索树一致,在此不再赘述。 7.5.4 AVL 树典型应用 ‧ 组织和存储大型数据,适用于高频查找、低频增删的场景。 ‧ 用于构建数据库中的索引系统。 ‧ 红黑树在许多应用中比 AVL 树更受欢迎。这是因为红黑树的平衡条件相对宽松,在红黑树中插入与删 除节点所需的旋转操作相对较少,其节点增删操作的平均效率更高。 第 7 章 树 约束满足问题:这类问题的目标是找到满足所有约束条件的解。 ‧ ? 皇后:在 ? × ? 的棋盘上放置 ? 个皇后,使得它们互不攻击。 ‧ 数独:在 9 × 9 的网格中填入数字 1 ~ 9 ,使得每行、每列和每个 3 × 3 子网格中的数字不重复。 ‧ 图着色问题:给定一个无向图,用最少的颜色给图的每个顶点着色,使得相邻顶点颜色不同。 组合优化问题:这类问题的目标是在一个组合空间中找到满足某些条件的最优解。 为了更形象地展示解题步骤,我们使用一个经典问题“最小路径和”来举例。 � 给定一个 ? × ? 的二维网格 grid ,网格中的每个单元格包含一个非负整数,表示该单元格 的代价。机器人以左上角单元格为起始点,每次只能向下或者向右移动一步,直至到达右下角 单元格。请返回从左上角到右下角的最小路径和。 图 14‑10 展示了一个例子,给定网格的最小路径和为 13 。 图 14‑10 最小路径和示例数据 第 14 章0 码力 | 376 页 | 30.69 MB | 1 年前3
 Hello 算法 1.0.0 Java版node; } 3. 查找节点 AVL 树的节点查找操作与二叉搜索树一致,在此不再赘述。 7.5.4 AVL 树典型应用 ‧ 组织和存储大型数据,适用于高频查找、低频增删的场景。 ‧ 用于构建数据库中的索引系统。 ‧ 红黑树在许多应用中比 AVL 树更受欢迎。这是因为红黑树的平衡条件相对宽松,在红黑树中插入与删 除节点所需的旋转操作相对较少,其节点增删操作的平均效率更高。 7.6 小结 约束满足问题:这类问题的目标是找到满足所有约束条件的解。 ‧ ? 皇后:在 ? × ? 的棋盘上放置 ? 个皇后,使得它们互不攻击。 ‧ 数独:在 9 × 9 的网格中填入数字 1 ~ 9 ,使得每行、每列和每个 3 × 3 子网格中的数字不重复。 ‧ 图着色问题:给定一个无向图,用最少的颜色给图的每个顶点着色,使得相邻顶点颜色不同。 组合优化问题:这类问题的目标是在一个组合空间中找到满足某些条件的最优解。 为了更形象地展示解题步骤,我们使用一个经典问题“最小路径和”来举例。 � 给定一个 ? × ? 的二维网格 grid ,网格中的每个单元格包含一个非负整数,表示该单元格 的代价。机器人以左上角单元格为起始点,每次只能向下或者向右移动一步,直至到达右下角 单元格。请返回从左上角到右下角的最小路径和。 图 14‑10 展示了一个例子,给定网格的最小路径和为 13 。 图 14‑10 最小路径和示例数据 第一步:思考每轮的决策,定义状态,从而得到0 码力 | 376 页 | 17.59 MB | 1 年前3 Hello 算法 1.0.0 Java版node; } 3. 查找节点 AVL 树的节点查找操作与二叉搜索树一致,在此不再赘述。 7.5.4 AVL 树典型应用 ‧ 组织和存储大型数据,适用于高频查找、低频增删的场景。 ‧ 用于构建数据库中的索引系统。 ‧ 红黑树在许多应用中比 AVL 树更受欢迎。这是因为红黑树的平衡条件相对宽松,在红黑树中插入与删 除节点所需的旋转操作相对较少,其节点增删操作的平均效率更高。 7.6 小结 约束满足问题:这类问题的目标是找到满足所有约束条件的解。 ‧ ? 皇后:在 ? × ? 的棋盘上放置 ? 个皇后,使得它们互不攻击。 ‧ 数独:在 9 × 9 的网格中填入数字 1 ~ 9 ,使得每行、每列和每个 3 × 3 子网格中的数字不重复。 ‧ 图着色问题:给定一个无向图,用最少的颜色给图的每个顶点着色,使得相邻顶点颜色不同。 组合优化问题:这类问题的目标是在一个组合空间中找到满足某些条件的最优解。 为了更形象地展示解题步骤,我们使用一个经典问题“最小路径和”来举例。 � 给定一个 ? × ? 的二维网格 grid ,网格中的每个单元格包含一个非负整数,表示该单元格 的代价。机器人以左上角单元格为起始点,每次只能向下或者向右移动一步,直至到达右下角 单元格。请返回从左上角到右下角的最小路径和。 图 14‑10 展示了一个例子,给定网格的最小路径和为 13 。 图 14‑10 最小路径和示例数据 第一步:思考每轮的决策,定义状态,从而得到0 码力 | 376 页 | 17.59 MB | 1 年前3
 Hello 算法 1.2.0 简体中文 Java 版node; } 3. 查找节点 AVL 树的节点查找操作与二叉搜索树一致,在此不再赘述。 7.5.4 AVL 树典型应用 ‧ 组织和存储大型数据,适用于高频查找、低频增删的场景。 ‧ 用于构建数据库中的索引系统。 ‧ 红黑树也是一种常见的平衡二叉搜索树。相较于 AVL 树,红黑树的平衡条件更宽松,插入与删除节点 所需的旋转操作更少,节点增删操作的平均效率更高。 7.6 小结 1. 重点回顾 约束满足问题:这类问题的目标是找到满足所有约束条件的解。 ‧ ? 皇后:在 ? × ? 的棋盘上放置 ? 个皇后,使得它们互不攻击。 ‧ 数独:在 9 × 9 的网格中填入数字 1 ~ 9 ,使得每行、每列和每个 3 × 3 子网格中的数字不重复。 ‧ 图着色问题:给定一个无向图,用最少的颜色给图的每个顶点着色,使得相邻顶点颜色不同。 组合优化问题:这类问题的目标是在一个组合空间中找到满足某些条件的最优解。 问题“最小路径和”来举例。 Question 给定一个 ? × ? 的二维网格 grid ,网格中的每个单元格包含一个非负整数,表示该单元格的代价。 机器人以左上角单元格为起始点,每次只能向下或者向右移动一步,直至到达右下角单元格。请返回 从左上角到右下角的最小路径和。 图 14‑10 展示了一个例子,给定网格的最小路径和为 13 。 图 14‑10 最小路径和示例数据 第一步:思考每轮的决策,定义状态,从而得到0 码力 | 379 页 | 18.48 MB | 10 月前3 Hello 算法 1.2.0 简体中文 Java 版node; } 3. 查找节点 AVL 树的节点查找操作与二叉搜索树一致,在此不再赘述。 7.5.4 AVL 树典型应用 ‧ 组织和存储大型数据,适用于高频查找、低频增删的场景。 ‧ 用于构建数据库中的索引系统。 ‧ 红黑树也是一种常见的平衡二叉搜索树。相较于 AVL 树,红黑树的平衡条件更宽松,插入与删除节点 所需的旋转操作更少,节点增删操作的平均效率更高。 7.6 小结 1. 重点回顾 约束满足问题:这类问题的目标是找到满足所有约束条件的解。 ‧ ? 皇后:在 ? × ? 的棋盘上放置 ? 个皇后,使得它们互不攻击。 ‧ 数独:在 9 × 9 的网格中填入数字 1 ~ 9 ,使得每行、每列和每个 3 × 3 子网格中的数字不重复。 ‧ 图着色问题:给定一个无向图,用最少的颜色给图的每个顶点着色,使得相邻顶点颜色不同。 组合优化问题:这类问题的目标是在一个组合空间中找到满足某些条件的最优解。 问题“最小路径和”来举例。 Question 给定一个 ? × ? 的二维网格 grid ,网格中的每个单元格包含一个非负整数,表示该单元格的代价。 机器人以左上角单元格为起始点,每次只能向下或者向右移动一步,直至到达右下角单元格。请返回 从左上角到右下角的最小路径和。 图 14‑10 展示了一个例子,给定网格的最小路径和为 13 。 图 14‑10 最小路径和示例数据 第一步:思考每轮的决策,定义状态,从而得到0 码力 | 379 页 | 18.48 MB | 10 月前3
 Java 应用与开发 - Java GUI 编程▶ 中部可在两个方向上缩放。 大纲 GUI 组件及布局 GUI 事件处理 Applet Swing Swing 典型组件(课后自学) GridLayout O 网格布局 - 布局效果 ▶ 将容器区域划分成规则的矩形网格,每个单元格区域大小相等, 组件被添加到每个单元格中,按组件加入顺序先从左到右填满一 行后换行,行间从上到下。 ▶ GridLayout 型布局的组件大小也被布局管理器强行控制,与单元0 码力 | 73 页 | 876.31 KB | 1 年前3 Java 应用与开发 - Java GUI 编程▶ 中部可在两个方向上缩放。 大纲 GUI 组件及布局 GUI 事件处理 Applet Swing Swing 典型组件(课后自学) GridLayout O 网格布局 - 布局效果 ▶ 将容器区域划分成规则的矩形网格,每个单元格区域大小相等, 组件被添加到每个单元格中,按组件加入顺序先从左到右填满一 行后换行,行间从上到下。 ▶ GridLayout 型布局的组件大小也被布局管理器强行控制,与单元0 码力 | 73 页 | 876.31 KB | 1 年前3
 跟我学Shiro - 张开涛Manager:会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信 息都在会话中;会话可以是普通 JavaSE 环境的,也可以是如 Web 环境的; Cryptography:加密,保护数据的安全性,如密码加密存储到数据库,而不是明文存储; Web Support:Web 支持,可以非常容易的集成到 Web 环境; Caching:缓存,比如用户登录后,其用户信息、拥有的角色/权限不必每次去查,这样可以 这个时候就可以实现自己的分布式会话(如把数据放到 Memcached 服务器); SessionDAO:DAO 大家都用过,数据访问对象,用于会话的 CRUD,比如我们想把 Session 保存到数据库,那么可以实现自己的 SessionDAO,通过如 JDBC 写到数据库;比如想把 Session 放到 Memcached 中,可以实现自己的 Memcached SessionDAO;另外 SessionDAO 中可以使用 Cache 异常,根 据异常提示用户错误信息;否则登录成功; 3、最后调用 Subject.logout 进行退出操作。 如上测试的几个问题: 1、用户名/密码硬编码在 ini 配置文件,以后需要改成如数据库存储,且密码需要加密存储; 2、用户身份 Token 可能不仅仅是用户名/密码,也可能还有其他的,如登录时允许用户名/ 邮箱/手机号同时登录。 跟我学 Shiro——http://jinnianshilongnian0 码力 | 219 页 | 4.16 MB | 10 月前3 跟我学Shiro - 张开涛Manager:会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信 息都在会话中;会话可以是普通 JavaSE 环境的,也可以是如 Web 环境的; Cryptography:加密,保护数据的安全性,如密码加密存储到数据库,而不是明文存储; Web Support:Web 支持,可以非常容易的集成到 Web 环境; Caching:缓存,比如用户登录后,其用户信息、拥有的角色/权限不必每次去查,这样可以 这个时候就可以实现自己的分布式会话(如把数据放到 Memcached 服务器); SessionDAO:DAO 大家都用过,数据访问对象,用于会话的 CRUD,比如我们想把 Session 保存到数据库,那么可以实现自己的 SessionDAO,通过如 JDBC 写到数据库;比如想把 Session 放到 Memcached 中,可以实现自己的 Memcached SessionDAO;另外 SessionDAO 中可以使用 Cache 异常,根 据异常提示用户错误信息;否则登录成功; 3、最后调用 Subject.logout 进行退出操作。 如上测试的几个问题: 1、用户名/密码硬编码在 ini 配置文件,以后需要改成如数据库存储,且密码需要加密存储; 2、用户身份 Token 可能不仅仅是用户名/密码,也可能还有其他的,如登录时允许用户名/ 邮箱/手机号同时登录。 跟我学 Shiro——http://jinnianshilongnian0 码力 | 219 页 | 4.16 MB | 10 月前3
 MySQL ZIP Archive版本安装说明[mysqld] #设置3306端⼝口 port = 3306 # 设置mysql的安装⽬目录 basedir=C:\MySQL\mysql-5.7.20-winx64 # 设置mysql数据库的数据的存放⽬目录 datadir=C:\MySQL\mysql-5.7.20-winx64\data # 允许最⼤大连接数 max_connections=200 # 服务端使⽤用的字符集默认为8⽐比特编码的latin1字符集 其他配置操作。 以下是其他常用的MySQL命令行操作: 控制台 mysqld –console 关闭服务器 net stop mysql 卸载MySQL mysqld -remove 4 数据库系统基本配置 结束所有的MySQL进程,包括mysql.exe和mysqld.exe,可以在任务管理器中结束上述进程。 输入mysqld –skip-grant-tables,输入后,其他命令行 20-winx64\bin>mysqld.exe --skip-grant-tables 在2号命令行窗口中定位到MySQL安装目录的bin目录下,执行mysql.exe,则无密码登录到MySQL数据库,并输出 MySQL命令行操作符。 进行修改密码操作,MySQL命令行输入以下命令: 其中,yourpassword位置即为所设置的MySQL的超级用户root的初始登录密码,请按需设置。 此0 码力 | 4 页 | 756.23 KB | 1 年前3 MySQL ZIP Archive版本安装说明[mysqld] #设置3306端⼝口 port = 3306 # 设置mysql的安装⽬目录 basedir=C:\MySQL\mysql-5.7.20-winx64 # 设置mysql数据库的数据的存放⽬目录 datadir=C:\MySQL\mysql-5.7.20-winx64\data # 允许最⼤大连接数 max_connections=200 # 服务端使⽤用的字符集默认为8⽐比特编码的latin1字符集 其他配置操作。 以下是其他常用的MySQL命令行操作: 控制台 mysqld –console 关闭服务器 net stop mysql 卸载MySQL mysqld -remove 4 数据库系统基本配置 结束所有的MySQL进程,包括mysql.exe和mysqld.exe,可以在任务管理器中结束上述进程。 输入mysqld –skip-grant-tables,输入后,其他命令行 20-winx64\bin>mysqld.exe --skip-grant-tables 在2号命令行窗口中定位到MySQL安装目录的bin目录下,执行mysql.exe,则无密码登录到MySQL数据库,并输出 MySQL命令行操作符。 进行修改密码操作,MySQL命令行输入以下命令: 其中,yourpassword位置即为所设置的MySQL的超级用户root的初始登录密码,请按需设置。 此0 码力 | 4 页 | 756.23 KB | 1 年前3
共 27 条
- 1
- 2
- 3













