跟我学Shiro - 张开涛Shiro——http://jinnianshilongnian.iteye.com/ 6 提高效率; Concurrency:shiro 支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能 把权限自动传播过去; Testing:提供测试支持; Run As:允许一个用户假装为另一个用户(如果他们允许)的身份进行访问; Remember Me:记住我,这个是非常常见的功能,即一次登录后,下次再来的话不用登录 跟我学 Shiro——http://jinnianshilongnian.iteye.com/ 61 实现线程之间的 Subject 传播,因为 Subject 是线程绑定的;因此在多线程执行中需要传播 到相应的线程才能获取到相应的 Subject。最简单的办法就是通过 execute(runnable/callable 实例)直接调用;或者通过 associate 2、授权(hasRole*/isPermitted*或 checkRole*/checkPermission*) 3、将相应的数据存储到会话(Session) 4、切换身份(RunAs)/多线程身份传播 5、退出V execute(Callable callable) throws ExecutionException; void execute(Runnable runnable); 0 码力 | 219 页 | 4.16 MB | 10 月前3
Nacos架构&原理
迎面而来的是第二个问题,开源的定位和竞争力是什么? 内部三个产品的开源策略是什么? 由于当时 Spring-cloud 的崛起,微服务多个模块逐步被划分,包括注册中心、配置中心,如果从 产品定位上,期望定位简单清晰,利于传播,我们需要分别开源我们内部产品,这样又会分散我们 品牌和运营资源。另外大部分客户没有阿里这么大的体量,模块拆分过细,部署和运维成本都会成 倍上涨,而且阿里巴巴也是从最早⼀个产品逐步演化成 3 个产品的,因此我们最终决定将内部三个 短连接,30 秒定 期创建销毁连接,GC 压力大 md5 值计算也有⼀定 开销,在可接受范围内 Nacos Naming HTTP/UDP UDP 推送 + 补偿查询 丢包,云架构下无法 反向推送 配置和服务器模块的数据推送通道不统⼀,http 短连接性能压力巨大,未来 Nacos 需要构建能够 同时支持配置以及服务的长链接通道,以标准的通信模型重构推送通道。 二、场景分析 1. 别的服务隔离。 Nacos 1.0.0 介绍的另外⼀个新特性是:临时实例和持久化实例。在定义上区分临时实例和持久化 实例的关键是健康检查的方式。临时实例使用客户端上报模式,而持久化实例使用服务端反向探测 模式。临时实例需要能够自动摘除不健康实例,而且无需持久化存储实例,那么这种实例就适用于 类 Gossip 的协议。右边的持久化实例使用服务端探测的健康检查方式,因为客户端不会上报心跳, 那么自然就不能去自动摘除下线的实例。0 码力 | 326 页 | 12.83 MB | 9 月前3
Linux Docker MessLibcontainer Docker是一款基于LXC的开源容器管理引擎。把LXC复杂的容器创建与使用方式简化为Docker 自己的一套命令体系。随着Docker的不断发展,它开始有了更为远大的目标,那就是反向 定义容器的实现标准,将底层实现都抽象化到Libcontainer的接口。这就意味着,底层容器 的实现方式变成了一种可变的方案,无论是使用namespace、cgroups技术抑或是使用 syste0 码力 | 77 页 | 7.40 MB | 1 年前3
Apache Shiro 1.2.x Reference Manual 中文翻译needs: securityManager.cacheManager = $cacheManager 请记住, 顺序很重要 。 通过配置 缓存管理器 在 SecurityManager 最后,我们确保可以传播到 所有之前配置缓存管理器 CacheManagerAware 组件(如 EnterpriseCachingSessionDAO )。 Zookeeper 用户报告使用 Apache Zookeeper0 码力 | 196 页 | 2.34 MB | 1 年前3
Hello 算法 1.0.0b4 Java版靠近,则容量一定变小。这是因为在移动长板 ? 后: ‧ 宽度 ? − ? 肯定变小。 ‧ 高度由短板决定,因此高度只可能不变(? 仍为短板)或变小(移动后的 ? 成为短板)。 Figure 15‑9. 向内移动长板后的状态 反向思考,我们只有向内收缩短板 ? ,才有可能使容量变大。因为虽然宽度一定变小,但高度可能会变大(移 动后的短板 ? 可能会变长)。 15. 贪心 hello‑algo.com 326 Figure0 码力 | 342 页 | 27.39 MB | 1 年前3
Hello 算法 1.1.0 Java版靠近,则容量一定变小。 这是因为在移动长板 ? 后,宽度 ? − ? 肯定变小;而高度由短板决定,因此高度只可能不变(? 仍为短板)或 变小(移动后的 ? 成为短板)。 图 15‑9 向内移动长板后的状态 反向思考,我们只有向内收缩短板 ? ,才有可能使容量变大。因为虽然宽度一定变小,但高度可能会变大(移 动后的短板 ? 可能会变长)。例如在图 15‑10 中,移动短板后面积变大。 第 15 章 贪心0 码力 | 378 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0b5 Java版靠近,则容量一定变小。 这是因为在移动长板 ? 后,宽度 ? − ? 肯定变小;而高度由短板决定,因此高度只可能不变(? 仍为短板)或 变小(移动后的 ? 成为短板)。 图 15‑9 向内移动长板后的状态 反向思考,我们只有向内收缩短板 ? ,才有可能使容量变大。因为虽然宽度一定变小,但高度可能会变大(移 动后的短板 ? 可能会变长)。例如在图 15‑10 中,移动短板后面积变大。 第 15 章 贪心0 码力 | 376 页 | 30.69 MB | 1 年前3
Hello 算法 1.0.0 Java版靠近,则容量一定变小。 这是因为在移动长板 ? 后,宽度 ? − ? 肯定变小;而高度由短板决定,因此高度只可能不变(? 仍为短板)或 变小(移动后的 ? 成为短板)。 图 15‑9 向内移动长板后的状态 反向思考,我们只有向内收缩短板 ? ,才有可能使容量变大。因为虽然宽度一定变小,但高度可能会变大(移 动后的短板 ? 可能会变长)。例如在图 15‑10 中,移动短板后面积变大。 第 15 章 贪心0 码力 | 376 页 | 17.59 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Java 版靠近,则容量一定变小。 这是因为在移动长板 ? 后,宽度 ? − ? 肯定变小;而高度由短板决定,因此高度只可能不变(? 仍为短板)或 变小(移动后的 ? 成为短板)。 图 15‑9 向内移动长板后的状态 反向思考,我们只有向内收缩短板 ? ,才有可能使容量变大。因为虽然宽度一定变小,但高度可能会变大(移 动后的短板 ? 可能会变长)。例如在图 15‑10 中,移动短板后面积变大。 第 15 章 贪心0 码力 | 379 页 | 18.48 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Java 版靠近,則容量一定變小。 這是因為在移動長板 ? 後,寬度 ? − ? 肯定變小;而高度由短板決定,因此高度只可能不變(? 仍為短板)或 變小(移動後的 ? 成為短板)。 圖 15‑9 向內移動長板後的狀態 反向思考,我們只有向內收縮短板 ? ,才有可能使容量變大。因為雖然寬度一定變小,但高度可能會變大(移 動後的短板 ? 可能會變長)。例如在圖 15‑10 中,移動短板後面積變大。 第 15 章 貪婪0 码力 | 379 页 | 18.79 MB | 10 月前3
共 10 条
- 1













