Java 应用与开发 - Java EE 监听器编程
大纲 监听器概述 Java EE 监听器类型 ServletContext 对象监听器 ServletContext 对象属性监听器 本节习题 Java 应用与开发 Java EE 监听器编程 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 December 3, 2018 大纲 监听器概述 Java EE 监听器类型 ServletContext 对象监听器 ServletContext ServletContext 对象属性监听器 本节习题 学习目标 1. 理解监听器的概念。 2. 掌握 Java EE 的监听器的主要功能和包含的类型。 3. 掌握监听器的编程和配置,学会编写监听器代码。 大纲 监听器概述 Java EE 监听器类型 ServletContext 对象监听器 ServletContext 对象属性监听器 本节习题 大纲 监听器概述 Java EE 监听器类型 ServletContext 对象监听器 ServletContext 对象属性监听器 本节习题 大纲 监听器概述 Java EE 监听器类型 ServletContext 对象监听器 ServletContext 对象属性监听器 本节习题 接下来⋯ 监听器概述 Java EE 监听器类型 ServletContext 对象监听器 ServletContext 对象属性监听器 本节习题 大纲 监听器概述 Java0 码力 | 22 页 | 549.84 KB | 1 年前3Nacos架构&原理
统指标影 响整个分布式系统的运行。历史上,这个系统在阿里也触发过大故障,经历过数次血与火的考验。 在阿里数次架构升级中,Nacos 都做了大量的功能迭代,用来支持阿里的异地多活,容灾演练,容 器化,Serverless 化。Nacos 经过阿里内部锤炼十年以上,各项指标已经及其先进,稳定,为服务 好全球开发者,Nacos 经过数十名工程师持续努力,以开源形式和大家见面,相信 Nacos ⼀定能在 品牌和运营资源。另外大部分客户没有阿里这么大的体量,模块拆分过细,部署和运维成本都会成 倍上涨,而且阿里巴巴也是从最早⼀个产品逐步演化成 3 个产品的,因此我们最终决定将内部三个 产品合并统⼀开源。定位为:⼀个更易于构建云原生应用的动态服务发现、配置管理和服务管理平 台。由于我们在阿里内部发展了 10 年,在易用、规模、实时、稳定沉淀了核心竞争力,围绕阿里 Dubbo 和 Spring-cloud-alibaba Dubbo/Spring-cloud-alibaba 生态完成集 成,随着云原生的大势迅速被互联网行业使用。与此同时我们完成了多语言生态和服务网格生态的 布局。 2020 年 Nacos 迅速被成千上万家企业采用,并构建起强大的生态。 但是随着用户深入使用,逐 渐暴露⼀些性能问题,因此我们启动了 Nacos 2.0 的隔代产品设计,凭借 10 倍性能提升激发社区 简介 < 16 活力,进入国内开源项目活跃度 Top0 码力 | 326 页 | 12.83 MB | 9 月前3Hello 算法 1.1.0 Java版
直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 相信你可以更加自如地刷题和阅读文献,逐步构建起完整的知识体系。 我深深赞同费曼教授所言:“Knowledge isn’t free. You have to pay attention.”从这个意义上看,这本 书并非完全“免费”。为了不辜 257 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 12.3 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 12.4 汉诺塔问题 . . . 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能。比如在某台计算机中,算法 A 的运行 时间比算法 B 短;但在另一台配置不同的计算机中,可能得到相反的测试结果。这意味着我们需要在各种机 器上进行测试,统计平均效率,而这是不现实的。 另一方面,展开完整测试非常耗费资源。随着输入数据量的变化,算法会表现出不同的效率。例如,在输入 数据量较小时,算法 A 的运行时间比算法 B 短;而在输0 码力 | 378 页 | 18.47 MB | 1 年前3Hello 算法 1.0.0 Java版
直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 相信你可以更加自如地刷题和阅读文献,逐步构建起完整的知识体系。 我深深赞同费曼教授所言:“Knowledge isn’t free. You have to pay attention.”从这个意义上看,这本 书并非完全“免费”。为了不辜 258 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 12.3 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 12.4 汉诺塔问题 . . . 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能。比如在某台计算机中,算法 A 的运行 时间比算法 B 短;但在另一台配置不同的计算机中,可能得到相反的测试结果。这意味着我们需要在各种机 器上进行测试,统计平均效率,而这是不现实的。 另一方面,展开完整测试非常耗费资源。随着输入数据量的变化,算法会表现出不同的效率。例如,在输入 数据量较小时,算法 A 的运行时间比算法 B 短;而在输0 码力 | 376 页 | 17.59 MB | 1 年前3Hello 算法 1.0.0b5 Java版
拿到 Offer ,但会引导你探索数据结构与算法的“知 识地图”,带你了解不同“地雷”的形状大小和分布位置,让你掌握各种“排雷方法”。有了这些本领,相信 你可以更加自如地应对刷题和阅读文献,逐步构建起完整的知识体系。 本书中的代码附有可一键运行的源文件,托管于 github.com/krahets/hello‑algo 仓库。动画在 PDF 内的 展示效果受限,可访问 hello‑algo 258 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 12.3 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 12.4 汉诺塔问题 . . . 图 2‑4 递归调用深度 在实际中,编程语言允许的递归深度通常是有限的,过深的递归可能导致栈溢出报错。 2. 尾递归 有趣的是,如果函数在返回前的最后一步才进行递归调用,则该函数可以被编译器或解释器优化,使其在空 间效率上与迭代相当。这种情况被称为「尾递归 tail recursion」。 ‧ 普通递归:当函数返回到上一层级的函数后,需要继续执行代码,因此系统需要保存上一层调用的上下 文。0 码力 | 376 页 | 30.69 MB | 1 年前3Hello 算法 1.2.0 简体中文 Java 版
直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 相信你可以更加自如地刷题和阅读文献,逐步构建起完整的知识体系。 我深深赞同费曼教授所言:“Knowledge isn’t free. You have to pay attention.”从这个意义上看,这本 书并非完全“免费”。为了不辜 257 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 12.3 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 12.4 汉诺塔问题 . . . 图 2‑4 递归调用深度 在实际中,编程语言允许的递归深度通常是有限的,过深的递归可能导致栈溢出错误。 2. 尾递归 有趣的是,如果函数在返回前的最后一步才进行递归调用,则该函数可以被编译器或解释器优化,使其在空 间效率上与迭代相当。这种情况被称为尾递归(tail recursion)。 ‧ 普通递归:当函数返回到上一层级的函数后,需要继续执行代码,因此系统需要保存上一层调用的上下 文。0 码力 | 379 页 | 18.48 MB | 10 月前3跟我学Shiro - 张开涛
...................... 66 第八章 拦截器机制 ...................................................................................................................... 74 拦截器介绍................................. ................ 74 拦截器链.......................................................................................................................................... 76 自定义拦截器 ....................... ......................................................................................... 79 默认拦截器....................................................................................................0 码力 | 219 页 | 4.16 MB | 10 月前3Hello 算法 1.0.0b4 Java版
接拿到 Offer ,但会引导你探索数据结构与算法的“知 识地图”,带你了解不同“地雷”的形状大小和分布位置,让你掌握各种“排雷方法”。有了这些本领,相信 你可以更加自如地应对刷题和阅读文献,逐步构建起完整的知识体系。 本书中的代码附有可一键运行的源文件,托管于 github.com/krahets/hello‑algo 仓库。动画在 PDF 内的 展示效果受限,可访问 hello‑algo 12.2. 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 12.3. 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 12.4. 汉诺塔问题 . . java === /* 平方阶(冒泡排序) */ int bubbleSort(int[] nums) { 2. 复杂度 hello‑algo.com 22 int count = 0; // 计数器 // 外循环:未排序区间为 [0, i] for (int i = nums.length - 1; i > 0; i--) { // 内循环:将未排序区间 [0, i] 中的最大元素交换至该区间的最右端0 码力 | 342 页 | 27.39 MB | 1 年前3Apache Shiro 1.2.x Reference Manual 中文翻译
Me”服务,获取用户关联信息而无需登录 … 等等——都集成到一个有凝聚力的易于使用的API。 Shiro 致力在所有应用环境下实现上述功能,小到命令行应用程序,大到企业应用中,而且不 需要借助第三方框架、容器、应用服务器等。当然 Shiro 的目的是尽量的融入到这样的应用环 境中去,但也可以在它们之外的任何环境下开箱即用。 Apache Shiro Features 特性 Apache Shiro是一个全面的、 应用程序。对于本教程,尽管我们创建一个简单的应用程序,你都知道运用相同的使用模 式来进行应用程序创建或部署。 本教程需要 Java 1.5 或更高版本。 我们还将使用 Apache Maven 作为我们的构建工具,当然 这对于 Apache Shiro 来说不是必须使用。你可能获得 Shiro 的 jars,把他们以任何方式你喜欢 到您的应用程序,例如也许使用Apache Ant 和 Ivy 。 对于本教程 或者其它。它可简单描述为“当前和软件进行交互的事件”,在大多数情况下,你可以认为它是 一个“人(User)”。 在一个独立的程序中调用 getSubject() 会在程序指定位置返回一个基于用户数据的 Subject, 在服务器环境(如 web 程序)中,它将获取一个和当前线程或请求相关的基于用户数据的 Subject。 现在你得到了Subject,你可以利用它做什么呢? 如果你针对该用户希望一些事情在程序当前会话期内可行,你可以获取他们的0 码力 | 196 页 | 2.34 MB | 1 年前3Apache Shiro参考手册中文版
以及更多——全部集成到紧密结合的易于使用的 API 中。 Shiro 视图在所有应用程序环境下实现这些目标——从最简单的命令行应用程序到最大的企业应用,不强制依赖其 他第三方框架,容器,或应用服务器。当然,该项目的目标是尽可能地融入到这些环境,但它能够在任何环境下立 即可用。 Apache Shiro Features Apache Shiro 是一个拥有许多功能的综合性的程序安全框架。下面的图表展示了 应用程序。即使我们为该教程创建的是一个简单的应 用,了解相同的使用模式适用于无论你的应用程序是怎样创建的及它被部署到哪里。 该教程需要 Java 1.5 及更高本。我们也使用 Apache Maven 作为我们的构建工具,但当然这不是使用 Apache Shiro 所 必需的。你可以获取 Shiro 的 jar 包并按你喜欢的方式合并到你的应用程序,例如可能是一 Apache Ant 和 Ivy。 对于本教程,请确保你正在使用 把 Subject 看成是 Shiro 的"User"概念。 getSubject()在一个独立的应用程序中调用,可以返回一个在应用程序特定位置的基于用户数据的 Subject,并且在服 务器环境中(例如,Web 应用程序),它获取的 Subject 是基于关联了当前线程或传入请求的用户数据的。 现在你拥有了一个 Subject,你能拿它来做什么? 如果你想在应用程序的当0 码力 | 92 页 | 1.16 MB | 1 年前3
共 45 条
- 1
- 2
- 3
- 4
- 5