JAVA 应用与开发 - 集合与映射4, 2019 ���� �����List����Set�����Map�的������� ���������� ������iterator��Enumeration ��������� API ������的������������ 1 28 �� 1 ������� 2 Collection � Map �� 3 �� 4 Iterator �� 5 � 6 �� ��������的������������� ������������的��� �� List ������的��������������� ������的���������������� �������� �� Map �����的��¡���Key-Value������ �������的��������������� 注意 Java 集合中只能保存引用类型的数据,实际上存放的是对象的引用 而非对象本身。Java ��������的������������� ������������的��� �� List ������的��������������� ������的���������������� �������� �� Map �����的��¡���Key-Value������ �������的��������������� 注意 Java 集合中只能保存引用类型的数据,实际上存放的是对象的引用 而非对象本身。Java0 码力 | 66 页 | 713.79 KB | 1 年前3
《Java 应用与开发》课程讲义 - 王晓东113 10.1.4 集合相关 API 的关系 . . . . . . . . . . . . . . . . . . . . . . . . . . 113 10.2 Collection 和 Map 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 10.2.1 Collection 接口 . . . . . . . 113 10.2.2 Set 和 List 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 10.2.3 Map 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 10.3 列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 11.1.1 组件和容器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 11.1.2 常用的组件和容器 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1280 码力 | 330 页 | 6.54 MB | 1 年前3
跟我学Shiro - 张开涛之前章节我们已经接触过一些 INI 配置规则了,如果大家使用过如 Spring 之类的 IoC/DI 容 器的话,Shiro 提供的 INI 配置也是非常类似的,即可以理解为是一个 IoC/DI 容器,但是区 别在于它从一个根对象 securityManager 开始。 根对象 SecurityManager 从之前的 Shiro 架构图可以看出,Shiro 是从根对象 SecurityManager 且真个应用只需要一个即可,因此 Shiro 提供了 SecurityUtils 让我们绑定它为全局的,方便后续操作。 因为 Shiro 的类都是 POJO 的,因此都很容易放到任何 IoC 容器管理。但是和一般的 IoC 容 器的区别在于,Shiro 从根对象 securityManager 开始导航;Shiro 支持的依赖注入:public 空参构造器对象的创建、setter 依赖注入。 securityManager.realms=$jdbcRealm 跟我学 Shiro——http://jinnianshilongnian.iteye.com/ 37 即使没接触过 IoC 容器的知识,如上配置也是很容易理解的: 1、对象名=全限定类名 相对于调用 public 无参构造器创建对象 2、对象名.属性名=值 相当于调用 setter 方法设置常量值 3、对象名.属性名=$对象引用0 码力 | 219 页 | 4.16 MB | 10 月前3
Apache Shiro 1.2.x Reference Manual 中文翻译简化开发人员实现应用程序安全所花费的时间和精力。 Shiro能做什么呢? 验证用户身份 用户访问权限控制,比如: 判断用户是否分配了一定的安全角色。 判断用户是否被授予完成某个操作的权限 在非 web 或 EJB 容器的环境下可以任意使用Session API 可以响应认证、访问控制,或者 Session 生命周期中发生的事件 可将一个或以上用户安全数据源数据组合成一个复合的用户 "view"(视图) 支持单点登录(SSO)功能 Me”服务,获取用户关联信息而无需登录 … 等等——都集成到一个有凝聚力的易于使用的API。 Shiro 致力在所有应用环境下实现上述功能,小到命令行应用程序,大到企业应用中,而且不 需要借助第三方框架、容器、应用服务器等。当然 Shiro 的目的是尽量的融入到这样的应用环 境中去,但也可以在它们之外的任何环境下开箱即用。 Apache Shiro Features 特性 Apache Shiro 单示例中,这是可以的,但在其它成熟的应用环境中,通常会将 SecurityManager 放在程序 指定的存储中(如在 web 中的 ServletContexct 或者 Spring、Guice、 JBoss DI 容器实例) 中。 Using Shiro 使用 现在我们的 SecurityManager 已经准备好了,我们可以开始进行我们真正关心的事情--执行安 全操作了。 Apache Shiro 10 码力 | 196 页 | 2.34 MB | 1 年前3
Nacos架构&原理
com/show-87147.html 137 > Nacos 生态 Nacos Docker & Kubernetes ⽣态 简介 nacos-docker 和 nacos-k8s 是 Nacos 开发团队为支持用户容器化衍生的项目。其本质是为了帮 助用户方便快捷的通过官方镜像在 Docker 或者 Kubernetes 进行部署。 Docker 使用 注意:在写本文的当下, Nacos 官方 docker 镜像并不支持在 env restart: always 上述文件是⼀个标准的 DockerCompose 的容器编排文件, 我们定义了三个 Nacos 容器服务, 其 中指定每个容器的名称, 以及服务的主机地址 (host),为每⼀个 Nacos 容器日志文件夹进行持久化, 并且指定他们的重启策略, 以及指定在容器中可以引用的环境变量文件 (nacos-embedded.env)。 2. 下面我们再创建上面编排文件中引用到的环境变量文件 edded ## 集群节点列表 NACOS_SERVERS=nacos1:8848 nacos2:8848 nacos3:8848 上面的环境变量文件中定义的变量, 会在容器启动的时候通过系统环境变量的方式注入到容器内部, 通过 application.properties 的方式读入 Nacos 应用内部. 官方 docker 镜像已经预定义了许多 环境变量参数供用户使用, 具体可以在附录中看到。0 码力 | 326 页 | 12.83 MB | 10 月前3
Apache Shiro参考手册中文版 对用户执行访问控制,如: 判断用户是否被分配了一个确定的安全角色 判断用户是否被允许做某事 在任何环境下使用 Session API,即使没有 Web 或 EJB 容器。 在身份验证,访问控制期间或在会话的生命周期,对事件作出反应。 聚集一个或多个用户安全数据的数据源,并作为一个单一的复合用户“视图”。 启用单点登录(SSO)功能。 … 以及更多——全部集成到紧密结合的易于使用的 API 中。 Shiro 视图在所有应用程序环境下实现这些目标——从最简单的命令行应用程序到最大的企业应用,不强制依赖其 他第三方框架,容器,或应用服务器。当然,该项目的目标是尽可能地融入到这些环境,但它能够在任何环境下立 即可用。 Apache Shiro Features Apache Shiro 是一个拥有许多功能的综合性的程序安全框架。下面的图表展示了 而言,这是没有问题的,但更为复杂的应用程序环境通常将 SecurityManager 置于应用程序特定的存储中(如 在 Web 应用中的 ServletContext 或 Spring,Guice 后 JBoss DI 容器实例)。 Using Shiro 现在我们的 SecurityManager 已经设置好并可以使用了,现在我们能够开始做一些我们真正关心的事情——执行安 全操作。 当保护我们的应0 码力 | 92 页 | 1.16 MB | 1 年前3
Java 应用与开发 - HTTP 会话跟踪技术HttpServletRequest 中定义了取得会话对象的方法。 1. public HttpSession getSession() ▶ 如果 Web 服务器内没有此客户的会话对象,则 Web 容器创 建新的回话对象并返回; ▶ 如果已经存在会话对象,则直接返回此对象的引用。 2. public HttpSession getSession(boolean create) ▶ boolean boolean 参数为 true 时,同无参数的 getSession 方法; ▶ boolean 参数为 false 时,如存在会话对象则返回对象引用, 如无会话对象则返回 null,Web 容器不会创建会话对象。 大纲 会话基本概念 会话跟踪技术 本节习题 Java EE 会话对象 会话对象的类型和取得 会话对象的类型接口为javax.servlet.http.HttpSession,在请 求对象类型 HttpServletRequest 中定义了取得会话对象的方法。 1. public HttpSession getSession() ▶ 如果 Web 服务器内没有此客户的会话对象,则 Web 容器创 建新的回话对象并返回; ▶ 如果已经存在会话对象,则直接返回此对象的引用。 2. public HttpSession getSession(boolean create) ▶ boolean0 码力 | 54 页 | 824.47 KB | 1 年前3
JAVA 应用与开发 - 泛型��的�合�器为�����的���,��������的元素 当作 Object 类型来处理���此��,�����时,我们��� ��合�取�的元素��������型�为���的类型� 无泛型机制的集合容器 1 Vector v = new Vector(); 2 v.addElement(new Person("Tom", 18)); 3 Person p = (Person) v.elementAt(0); ��的�合�器为�����的���,��������的元素 当作 Object 类型来处理���此��,�����时,我们��� ��合�取�的元素��������型�为���的类型� 无泛型机制的集合容器 1 Vector v = new Vector(); 2 v.addElement(new Person("Tom", 18)); 3 Person p = (Person) v.elementAt(0); 的具体类型(以及该属性相应存/取方法的参数和返 回值类型),进而提供了通用的信息存储能力。 O 形式类型参数的编程惯例 �� �� K �,����的� V �,�� List � Set 的��,�� Map � 的� E 元素,�� VectorT �型 10 19 ��泛型� 课程配套代码 ± package sample.generics.userdefined 代码示例中的泛型类 0 码力 | 35 页 | 587.40 KB | 1 年前3
Hello 算法 1.1.0 Java版{ nodes.add(new ListNode(i)); } // 长度为 n 的哈希表占用 O(n) 空间 Mapmap = new HashMap<>(); for (int i = 0; i < n; i++) { map.put(i, String.valueOf(i)); } } 如图 2‑17 所示,此函数的递归深度为 ? ,即同时存在 File: hash_map.java === /* 初始化哈希表 */ Map map = new HashMap<>(); /* 添加操作 */ // 在哈希表中添加键值对 (key, value) map.put(12836, " 小哈"); map.put(15937, " 小啰"); map.put(16750, " 小算"); map.put(13276 put(13276, " 小法"); map.put(10583, " 小鸭"); /* 查询操作 */ // 向哈希表中输入键 key ,得到值 value String name = map.get(15937); /* 删除操作 */ // 在哈希表中删除键值对 (key, value) map.remove(10583); 哈希表有三种常用的遍历方式:遍历键值对、遍历键和遍历值。示例代码如下: 0 码力 | 378 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0b5 Java版{ nodes.add(new ListNode(i)); } // 长度为 n 的哈希表占用 O(n) 空间 Mapmap = new HashMap<>(); for (int i = 0; i < n; i++) { map.put(i, String.valueOf(i)); } } 如图 2‑17 所示,此函数的递归深度为 ? ,即同时存在 File: hash_map.java === /* 初始化哈希表 */ Map map = new HashMap<>(); /* 添加操作 */ // 在哈希表中添加键值对 (key, value) map.put(12836, " 小哈"); map.put(15937, " 小啰"); map.put(16750, " 小算"); map.put(13276 put(13276, " 小法"); map.put(10583, " 小鸭"); /* 查询操作 */ // 向哈希表输入键 key ,得到值 value String name = map.get(15937); /* 删除操作 */ // 在哈希表中删除键值对 (key, value) map.remove(10583); 哈希表有三种常用遍历方式:遍历键值对、遍历键和遍历值。 // 0 码力 | 376 页 | 30.69 MB | 1 年前3
共 402 条
- 1
- 2
- 3
- 4
- 5
- 6
- 41













