Apache Shiro 1.2.x Reference Manual 中文翻译应用程序。对于本教程,尽管我们创建一个简单的应用程序,你都知道运用相同的使用模 式来进行应用程序创建或部署。 本教程需要 Java 1.5 或更高版本。 我们还将使用 Apache Maven 作为我们的构建工具,当然 这对于 Apache Shiro 来说不是必须使用。你可能获得 Shiro 的 jars,把他们以任何方式你喜欢 到您的应用程序,例如也许使用Apache Ant 和 Ivy 。 对于本教程 在线程完成执行后(或如果该线程执行抛出异常),该 Subject 必须解除绑定来确保该线 程在任何线程池环境中保持'clean'。 Shiro 拥有为正在运行的应用程序自动地执行 绑定/解除绑定 逻辑的构建。例如,在 Web 应 用程序中,当过滤一个请求时,Shiro 的根过滤器执行该逻辑。但由于测试环境和框架不同, 我们需要自己选择自己的测试框架来执行此 绑定/解除绑定 逻辑。 Test Setup 多数测试类较为普遍的做法。如果你想,你可以创建一个新的 SecurityManager 实例并在任 何时候从任何测试方法通过setSerurityManager 来设置它——例如,你可能会引用两个不同 的.ini 文件来构建一个根据你的测试需求而来的新 SecurityManager。 Apache Shiro 1.2.x Reference Manual 中文翻译 123 13. Testing 测试 最后,与0 码力 | 196 页 | 2.34 MB | 1 年前3
Hello 算法 1.0.0b5 Java版拿到 Offer ,但会引导你探索数据结构与算法的“知 识地图”,带你了解不同“地雷”的形状大小和分布位置,让你掌握各种“排雷方法”。有了这些本领,相信 你可以更加自如地应对刷题和阅读文献,逐步构建起完整的知识体系。 本书中的代码附有可一键运行的源文件,托管于 github.com/krahets/hello‑algo 仓库。动画在 PDF 内的 展示效果受限,可访问 hello‑algo 258 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 12.3 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 12.4 汉诺塔问题 . . . ASCII 码的映射,则可以将字符的 ASCII 码值作为索引,对应的元素存 放在数组中的对应位置。 ‧ 机器学习:神经网络中大量使用了向量、矩阵、张量之间的线性代数运算,这些数据都是以数组的形式 构建的。数组是神经网络编程中最常使用的数据结构。 ‧ 数据结构实现:数组可以用于实现栈、队列、哈希表、堆、图等数据结构。例如,图的邻接矩阵表示实 际上是一个二维数组。 4.2 链表 内存空间是所0 码力 | 376 页 | 30.69 MB | 1 年前3
Hello 算法 1.1.0 Java版直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 相信你可以更加自如地刷题和阅读文献,逐步构建起完整的知识体系。 我深深赞同费曼教授所言:“Knowledge isn’t free. You have to pay attention.”从这个意义上看,这本 书并非完全“免费”。为了不辜 257 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 12.3 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 12.4 汉诺塔问题 . . . 以动态地添加或删除元素,但它们的容量是固定的。如果数据量超出了预分配的大小,就需要创建一个新的 第 3 章 数据结构 hello‑algo.com 65 更大的数组,并将旧数组的内容复制到新数组中。 Q:在构建栈(队列)的时候,未指定它的大小,为什么它们是“静态数据结构”呢? 在高级编程语言中,我们无须人工指定栈(队列)的初始容量,这个工作由类内部自动完成。例如,Java 的 ArrayList 的初始容量通常为0 码力 | 378 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0 Java版直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 相信你可以更加自如地刷题和阅读文献,逐步构建起完整的知识体系。 我深深赞同费曼教授所言:“Knowledge isn’t free. You have to pay attention.”从这个意义上看,这本 书并非完全“免费”。为了不辜 258 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 12.3 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 12.4 汉诺塔问题 . . . 以动态地添加或删除元素,但它们的容量是固定的。如果数据量超出了预分配的大小,就需要创建一个新的 第 3 章 数据结构 hello‑algo.com 65 更大的数组,并将旧数组的内容复制到新数组中。 Q:在构建栈(队列)的时候,未指定它的大小,为什么它们是“静态数据结构”呢? 在高级编程语言中,我们无须人工指定栈(队列)的初始容量,这个工作由类内部自动完成。例如,Java 的 ArrayList 的初始容量通常为0 码力 | 376 页 | 17.59 MB | 1 年前3
Hello 算法 1.0.0b4 Java版接拿到 Offer ,但会引导你探索数据结构与算法的“知 识地图”,带你了解不同“地雷”的形状大小和分布位置,让你掌握各种“排雷方法”。有了这些本领,相信 你可以更加自如地应对刷题和阅读文献,逐步构建起完整的知识体系。 本书中的代码附有可一键运行的源文件,托管于 github.com/krahets/hello‑algo 仓库。动画在 PDF 内的 展示效果受限,可访问 hello‑algo 12.2. 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 12.3. 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 12.4. 汉诺塔问题 . . ASCII 码的映射,可以将字符的 ASCII 码值作为索引,对应的元素存 放在数组中的对应位置。 ‧ 机器学习:神经网络中大量使用了向量、矩阵、张量之间的线性代数运算,这些数据都是以数组的形式 构建的。数组是神经网络编程中最常使用的数据结构。 4. 数组与链表 hello‑algo.com 55 ‧ 数据结构实现:数组可以用于实现栈、队列、哈希表、堆、图等数据结构。例如,邻接矩阵是图的常见0 码力 | 342 页 | 27.39 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Java 版直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 相信你可以更加自如地刷题和阅读文献,逐步构建起完整的知识体系。 我深深赞同费曼教授所言:“Knowledge isn’t free. You have to pay attention.”从这个意义上看,这本 书并非完全“免费”。为了不辜 257 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 12.3 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 12.4 汉诺塔问题 . . . 以动态地添加或删除元素,但它们的容量是固定的。如果数据量超出了预分配的大小,就需要创建一个新的 第 3 章 数据结构 www.hello‑algo.com 65 更大的数组,并将旧数组的内容复制到新数组中。 Q:在构建栈(队列)的时候,未指定它的大小,为什么它们是“静态数据结构”呢? 在高级编程语言中,我们无须人工指定栈(队列)的初始容量,这个工作由类内部自动完成。例如,Java 的 ArrayList 的初始容量通常为0 码力 | 379 页 | 18.48 MB | 10 月前3
Nacos架构&原理
品牌和运营资源。另外大部分客户没有阿里这么大的体量,模块拆分过细,部署和运维成本都会成 倍上涨,而且阿里巴巴也是从最早⼀个产品逐步演化成 3 个产品的,因此我们最终决定将内部三个 产品合并统⼀开源。定位为:⼀个更易于构建云原生应用的动态服务发现、配置管理和服务管理平 台。由于我们在阿里内部发展了 10 年,在易用、规模、实时、稳定沉淀了核心竞争力,围绕阿里 Dubbo 和 Spring-cloud-alibaba Dubbo/Spring-cloud-alibaba 生态完成集 成,随着云原生的大势迅速被互联网行业使用。与此同时我们完成了多语言生态和服务网格生态的 布局。 2020 年 Nacos 迅速被成千上万家企业采用,并构建起强大的生态。 但是随着用户深入使用,逐 渐暴露⼀些性能问题,因此我们启动了 Nacos 2.0 的隔代产品设计,凭借 10 倍性能提升激发社区 简介 < 16 活力,进入国内开源项目活跃度 Top Nacos Naming HTTP/UDP UDP 推送 + 补偿查询 丢包,云架构下无法 反向推送 配置和服务器模块的数据推送通道不统⼀,http 短连接性能压力巨大,未来 Nacos 需要构建能够 同时支持配置以及服务的长链接通道,以标准的通信模型重构推送通道。 二、场景分析 1. 配置 配置对连接的场景诉求分析 43 > Nacos 架构 SDK 和 Server 之间0 码力 | 326 页 | 12.83 MB | 10 月前3
Java 应用与开发 - Java EE 体系结构容器 Java EE 组件 组件间通信协议 软件开发现状 面向 Internet 开发企业级 Web 应用 面向对象 OOA/OOD/OOP,Java、C# 面向组件 软件系统是由许多小的组件构建和装配起来的 采用标准规范开发 J2EE, MS.NET 全面采用框架技术 Struts、Spring、Hibernate、AJAX、 WebWork 软件系统采用分层结构和设计模式 MVC 容器 Java EE 组件 组件间通信协议 软件开发现状 面向 Internet 开发企业级 Web 应用 面向对象 OOA/OOD/OOP,Java、C# 面向组件 软件系统是由许多小的组件构建和装配起来的 采用标准规范开发 J2EE, MS.NET 全面采用框架技术 Struts、Spring、Hibernate、AJAX、 WebWork 软件系统采用分层结构和设计模式 MVC 容器 Java EE 组件 组件间通信协议 软件开发现状 面向 Internet 开发企业级 Web 应用 面向对象 OOA/OOD/OOP,Java、C# 面向组件 软件系统是由许多小的组件构建和装配起来的 采用标准规范开发 J2EE, MS.NET 全面采用框架技术 Struts、Spring、Hibernate、AJAX、 WebWork 软件系统采用分层结构和设计模式 MVC0 码力 | 40 页 | 1.89 MB | 1 年前3
跟我学Shiro - 张开涛组合就是用户名/密码了。接下来先进行一个基本的身份认 证。 另外两个相关的概念是之前提到的 Subject 及 Realm,分别是主体及验证主体的数据源。 环境准备 本文使用 Maven 构建,因此需要一点 Maven 知识。首先准备环境依赖: 添加 junit、common-logging 及 shiro-core 属性在用户没有传入公盐的情况下是否生成公盐; 5、可以设置 randomNumberGenerator 用于生成公盐; 6、可以设置 hashIterations 属性来修改默认加密迭代次数; 7、需要构建一个 HashRequest,传入算法、数据、公盐、迭代次数。 SecureRandomNumberGenerator 用于生成一个随机数: 加密/解密 Shiro SecurityManager 实现;及可以理解为 Subject 是一个面门。 对于 Subject 的构建一般没必要我们去创建;一般通过 SecurityUtils.getSubject()获取: 即首先查看当前线程是否绑定了 Subject,如果没有通过 Subject.Builder 构建一个然后绑定 到现场返回。 如果想自定义创建,可以通过: 这种可以创建相应的0 码力 | 219 页 | 4.16 MB | 10 月前3
Hello 算法 1.0.0b1 Java版. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 1 0. 写在前面 0.1. 关于本书 本项目致力于构建一本开源免费、新手友好的数据结构与算法入门书。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂、学习曲线平滑; ‧ 算法源代码皆可一键运行,支持 Java, C++, Python 储在数组中,然后使用与日常 查纸质字典相同的“翻开中间,排除一半”的方式,来实现一个查电子字典的算法。 深度学习。神经网络中大量使用了向量、矩阵、张量之间的线性代数运算,这些数据都是以数组的形式构建 的。数组是神经网络编程中最常使用的数据结构。 4. 数组与链表 hello‑algo.com 50 4.2. 链表 � 引言 内存空间是所有程序的公共资源,排除已占用的内存,空闲内存往往是散落在内存各处的。我 nullptr / None 。在不引起歧义下,本书都使用 null 来表示空。 4. 数组与链表 hello‑algo.com 51 链表初始化方法。建立链表分为两步,第一步是初始化各个结点对象,第二步是构建引用指向关系。完成后, 即可以从链表的首个结点(即头结点)出发,访问其余所有的结点。 � 我们通常将头结点当作链表的代称,例如头结点 head 和链表 head 实际上是同义的。 // ===0 码力 | 186 页 | 14.71 MB | 1 年前3
共 16 条
- 1
- 2













