《Java 应用与开发》课程讲义 - 王晓东. . . . 65 6.3.3 内存优化的小示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 6.3.4 对象其他生命周期阶段内存管理 . . . . . . . . . . . . . . . . . . . 67 6.4 课后习题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 14.1.7 创建线程的第二种方式 . . . . . . . . . . . . . . . . . . . . . . . . . 184 14.1.8 两种创建线程的方式比较 . . . . . . . . . . . . . . . . . . . . . . . 185 14.1.9 后台线程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 15.6 组件间通信协议 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 15.6.1 组件间通信协议 . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3
Apache Shiro 1.2.x Reference Manual 中文翻译对象视图(graph)以及它支持的组件,INI 易读易配置, 很容易创建并且对大多数程序都很适合。 Creating a SecurityManager from INI 通过INI资源创建 SecurityManager 这里举两个通过INI配置创建SecurityManager的例子。 Apache Shiro 1.2.x Reference Manual 中文翻译 25 4. Configuration 配置 SecurityManager 是所需的身份说明,密码是证明身份的证据。如 果一个提交的密码和系统要求的一致,程序就认为该用户身份正确,因为其他人不应该知道 同样的密码。 Authenticating Subjects Subject 验证的过程可以有效地划分分以下三个步骤: 1.收集 Subject 提交的身份和证明; 2.向 Authentication 提交身份和证明; Apache Shiro 1.2.x Reference Reference Manual 中文翻译 35 5. Authentication 认证 3.如果提交的内容正确,允许访问,否则重新尝试验证或阻止访问 下面的代码示范了 Shiro API 如何实现这些步骤: 第一步:收集用户身份和证明 //最常用的情况是 username/password 对: UsernamePasswordToken token = new UsernameP0 码力 | 196 页 | 2.34 MB | 1 年前3
Nacos架构&原理
简介 13 Nacos 架构 17 Nacos 总体设计 17 Nacos 架构 17 Nacos 配置模型 21 Nacos 内核设计 28 Nacos ⼀致性协议 28 Nacos 自研 Distro 协议 38 Nacos 通信通道 42 Nacos 寻址机制 56 Nacos 服务发现模块 63 Nacos 注册中心的设计原理 63 Nacos 注册中心服务数据模型 在业内的最佳实践和用户案例。相信对分布式系统和其实现有兴趣的 技术爱好者,这本书有巨大的参考价值。 Apache RocketMQ 作者 & 创始人 & PMC Chair - 王小瑞(誓嘉) 服务发现,配置中心这两个领域在淘宝 2007 年做分布式系统改造时开始建设,特殊之处在于它是整 个分布式系统的协调者和全局入口,也意味着它的可用性,可靠性,可观测性等分布式系统指标影 响整个分布式系统的运行。历史上,这 好全球开发者,Nacos 经过数十名工程师持续努力,以开源形式和大家见面,相信 Nacos ⼀定能在 分布式领域成为开发者的首选项。 9 > 前言 前⾔ 序⾔ 阿里做开源大概有两个阶段,第⼀个阶段是 2018 年之前,取之于开源,反哺于社区,开源是⼀种 情怀,是⼀种文化,是⼀种展示技术影响力和技术实力的方式,包括我在内很多阿里技术人都是因 此影响加入。阿里凭借着互联网场景和规模的优势走在了时代的前列,完成了去0 码力 | 326 页 | 12.83 MB | 10 月前3
Hello 算法 1.0.0b4 Java版靳宇栋(Krahets) Release 1.0.0b4 2023‑07‑26 序 两年前,我在力扣上分享了《剑指 Offer》系列题解,受到了许多朋友的喜爱与支持。在此期间,我回答了众 多读者的评论问题,其中最常见的一个问题是“如何入门学习算法”。我逐渐也对这个问题产生了浓厚的兴 趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单直接且有效。然而,刷题就如同玩“扫雷”游戏,自学能力 ‧ 算法源代码皆可一键运行,支持 Java, C++, Python, Go, JS, TS, C#, Swift, Zig 等语言。 ‧ 鼓励读者在章节讨论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。 0.1.1. 读者对象 若您是算法初学者,从未接触过算法,或者已经有一些刷题经验,对数据结构与算法有模糊的认识,在会与 不会之间反复横跳,那么这本书正是为您量身定制! 如果您已 本书中,重点和难点知识 将主要通过动画和图解形式展示,而文字则作为动画和图片的解释与补充。 在阅读本书时,如果发现某段内容提供了动画或图解,建议以图为主线,以文字(通常位于图像上方)为辅, 综合两者来理解内容。 Figure 0‑2. 动画图解示例 0. 前言 hello‑algo.com 4 0.2.3. 在代码实践中加深理解 本书的配套代码托管在GitHub 仓库,源代码包含详细注释,并附有测试样例,可直接运行。0 码力 | 342 页 | 27.39 MB | 1 年前3
Hello 算法 1.1.0 Java版Java 语言版 作者:靳宇栋(@krahets) Release 1.1.0 2024‑04‑15 序 两年前,我在力扣上分享了“剑指 Offer”系列题解,受到了许多读者的鼓励和支持。在与读者交流期间,我 最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单、直接且有效。然而刷题就如同玩“扫雷”游戏,自学能力 强的人能够 Python、C++、Java、C#、Go、Swift、JavaScript、TypeScript、Dart、 Rust、C 和 Zig 等语言。 ‧ 鼓励读者在线上章节评论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。 0.1.1 读者对象 若你是算法初学者,从未接触过算法,或者已经有一些刷题经验,对数据结构与算法有模糊的认识,在会与 不会之间反复横跳,那么本书正是为你量身定制的! 如果你已经 程度,更易于理解。在本书中,重点和难点知识将主 要通过动画以图解形式展示,而文字则作为解释与补充。 如果你在阅读本书时,发现某段内容提供了如图 0‑2 所示的动画图解,请以图为主、以文字为辅,综合两者 来理解内容。 图 0‑2 动画图解示例 0.2.3 在代码实践中加深理解 本书的配套代码托管在 GitHub 仓库。如图 0‑3 所示,源代码附有测试样例,可一键运行。 如果时间允许,建0 码力 | 378 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0 Java版Java 语言版 作者:靳宇栋(@krahets) Release 1.0.0 2024‑02‑09 序 两年前,我在力扣上分享了“剑指 Offer”系列题解,受到了许多读者的鼓励和支持。在与读者交流期间,我 最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单、直接且有效。然而刷题就如同玩“扫雷”游戏,自学能力 强的人能够 Python、C++、Java、C#、Go、Swift、JavaScript、TypeScript、Dart、 Rust、C 和 Zig 等语言。 ‧ 鼓励读者在线上章节评论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。 0.1.1 读者对象 若你是算法初学者,从未接触过算法,或者已经有一些刷题经验,对数据结构与算法有模糊的认识,在会与 不会之间反复横跳,那么本书正是为你量身定制的! 如果你已经 度,更易于理解。在本书中,重点和难点知识将主 要通过动画以图解形式展示,而文字则作为解释与补充。 如果你在阅读本书时,发现某段内容提供了如图 0‑2 所示的动画图解,请以图为主、以文字为辅,综合两者 来理解内容。 图 0‑2 动画图解示例 0.2.3 在代码实践中加深理解 本书的配套代码托管在 GitHub 仓库。如图 0‑3 所示,源代码附有测试样例,可一键运行。 如果时间允许,建0 码力 | 376 页 | 17.59 MB | 1 年前3
Hello 算法 1.0.0b5 Java版Java 语言版 靳宇栋(Krahets) Release 1.0.0b5 2023‑09‑10 序 两年前,我在力扣上分享了《剑指 Offer》系列题解,受到了许多同学的喜爱和支持。在与读者的交流期间, 最常收到的一个问题是“如何入门学习算法”。我逐渐对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单直接且有效。刷题就如同玩“扫雷”游戏,自学能力强的同 学能够顺利 算法源代码皆可一键运行,支持 Java、C++、Python、Go、JS、TS、C#、Swift、Rust、Dart、Zig 等 语言。 ‧ 鼓励读者在章节讨论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。 0.1.1 读者对象 若您是算法初学者,从未接触过算法,或者已经有一些刷题经验,对数据结构与算法有模糊的认识,在会与 不会之间反复横跳,那么这本书正是为您量身定制! 如果您已经 解。在本书中,重点和难点知识将主 要通过动画和图解形式展示,而文字则作为动画和图片的解释与补充。 如果你在阅读本书时,发现某段内容提供了图 0‑2 所示的动画或图解,请以图为主、以文字为辅,综合两者 来理解内容。 图 0‑2 动画图解示例 第 0 章 前言 hello‑algo.com 5 0.2.3 在代码实践中加深理解 本书的配套代码被托管在 GitHub 仓库。如图 0‑3 所示,源代码附有测试样例,可一键运行。0 码力 | 376 页 | 30.69 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Java 版作者:靳宇栋(@krahets) 代码审阅:靳宇栋(@krahets) Release 1.2.0 2024‑12‑06 序 两年前,我在力扣上分享了“剑指 Offer”系列题解,受到了许多读者的鼓励和支持。在与读者交流期间,我 最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单、直接且有效。然而刷题就如同玩“扫雷”游戏,自学能力 强的人能够 程度,更易于理解。在本书中,重点和难点知识将主 要通过动画以图解形式展示,而文字则作为解释与补充。 如果你在阅读本书时,发现某段内容提供了如图 0‑2 所示的动画图解,请以图为主、以文字为辅,综合两者 来理解内容。 图 0‑2 动画图解示例 0.2.3 在代码实践中加深理解 本书的配套代码托管在 GitHub 仓库。如图 0‑3 所示,源代码附有测试样例,可一键运行。 如果时间允许,建 为你解答,一般情况下可在两天内回复。 如图 0‑7 所示,网页版每个章节的底部都配有评论区。希望你能多关注评论区的内容。一方面,你可以了解 大家遇到的问题,从而查漏补缺,激发更深入的思考。另一方面,期待你能慷慨地回答其他小伙伴的问题,分 享你的见解,帮助他人进步。 图 0‑7 评论区示例 0.2.5 算法学习路线 从总体上看,我们可以将学习数据结构与算法的过程划分为三个阶段。 1. 阶段一:算法入0 码力 | 379 页 | 18.48 MB | 10 月前3
跟我学Shiro - 张开涛等环境;所有呢,Shiro 就抽象了一个自己的 Session 来管理主体与应用之间交互的数据;这样的话,比如我们在 Web 环境用,刚开始是一台 Web 服务器;接着又上了台 EJB 服务器;这时想把两台服务器的会话数据放到一个地方, 这个时候就可以实现自己的分布式会话(如把数据放到 Memcached 服务器); SessionDAO:DAO 大家都用过,数据访问对象,用于会话的 CRUD,比如我们想把 credentials:证明/凭证,即只有主体知道的安全值,如密码/数字证书等。 最常见的 principals 和 credentials 组合就是用户名/密码了。接下来先进行一个基本的身份认 证。 另外两个相关的概念是之前提到的 Subject 及 Realm,分别是主体及验证主体的数据源。 环境准备 本文使用 Maven 构建,因此需要一点 Maven 知识。首先准备环境依赖: gnian.iteye.com/ 10 登录/退出 1、首先准备一些用户身份/凭据(shiro.ini) 此处使用 ini 配置文件,通过[users]指定了两个主体:zhang/123、wang/123。 2、测试用例(com.github.zhangkaitao.shiro.chapter2.LoginLogoutTest)0 码力 | 219 页 | 4.16 MB | 10 月前3
Apache Shiro参考手册中文版SecurityManager 对象图及其支持的组件。INI 易于阅读,易于配置,且设置简单,适合大多数应用程序。 Creating a SecurityManager from INI 以下是两个关于如何基于 INI 配置构建 SecurityManager 的例子。 SecurityManager from an INI resource 我们能够从一个 INI 资源路径创建 SecurityManager 是指身份验证的过程——即证明一个用户实际上是不是他们所说的他们是谁。对于一个用户证明自己 的身份来说,他们需要提供一些身份识别信息,以及某些你的系统能够理解和信任的身份证明。 这是通过提交用户的身份和凭证给 Shiro,以判断它们是否和应用程序预期的相匹配。 Principals(身份)是 Subject 的‘identifying attributes(标识属性)’ 身份,密码是匹配所声称的身份的 证明。如果提交的密码与应用程序期望的相匹配,应用程序可以很大程度上假设用户真的是他们说的他们是 谁,因为其他人都应该不知道同样的密码。 Authenticating Subjects(验证 Subjects) 验证 Subjects 的过程中,可以有效地分解成三个不同的步骤: 1. 收集 Subjects 提交的 Principals(身份)和 Credentials(凭证);0 码力 | 92 页 | 1.16 MB | 1 年前3
共 42 条
- 1
- 2
- 3
- 4
- 5













