JVM 内存模型JVM 内存模型 Heap Method Area Runtime Constant Pool Thread Thread Thread PC Register JVM Stack Native Method Stack PC Register JVM Stack Native Method Stack PC Register JVM Stack Native Method0 码力 | 1 页 | 48.42 KB | 1 年前3
Java 应用与开发 - Java 内存模型与分配机制大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 Java 应用与开发 Java 内存模型与分配机制 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 September 30, 2018 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 学习目标 1. 理解 JVM 内存模型,掌握 JVM 内存构成 2 3. 了解 Java 内存管理,认识垃圾回收 4. 建立编程时高效利用内存、避免内存溢出的理念 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 ���� Java 内存模型 Java 程序内存运行分析 程序内存运行分析 Java 内存管理建议 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 Java 虚拟机(Java Virtual Machine, JVM) ▶ Java 程序运行在 JVM 上,JVM 是程序与操作系统之间的桥梁。 ▶ JVM 实现了 Java 的平台无关性。 ▶ JVM 是内存分配的前提。 类装载子系统 Class文件 Class文件 Class文件0 码力 | 44 页 | 818.30 KB | 1 年前3
Nacos架构&原理
Nacos 配置模型 21 Nacos 内核设计 28 Nacos ⼀致性协议 28 Nacos 自研 Distro 协议 38 Nacos 通信通道 42 Nacos 寻址机制 56 Nacos 服务发现模块 63 Nacos 注册中心的设计原理 63 Nacos 注册中心服务数据模型 80 Nacos 健康检查机制 89 Nacos 配置管理模块 97 配置⼀致性模型 97 Nacos 281 Eureka 平滑迁移 Nacos 方案 281 Nacos 打通 CMDB 实现就近访问 288 跨注册中心服务同步实践 298 配置管理最佳实践 310 Nacos 限流最佳实践 310 Nacos 无缝支持 confd 配置管理 320 结语 326 结语 326 作者 < 6 作者 李艳林(彦林) 李晓双 孙立(涌月) 柳遵飞(翼严) 廖春涛(春少) 杨翊(席翁) 的架构设计、功能使用和最佳实践,推荐分布式应用的开发人员、运维人员和 对该领域感兴趣的技术爱好者阅读。 推荐序 < 8 Facebook 工程师 & CNCF 前 TOC 成员 - 李响 服务注册、发现与配置管理是构成大型分布式系统的基石。Nacos 是集成了这三种能力的现代化、 开源开放的代表系统。本书系统化的介绍了 Nacos 诞生的历史背景以及其在阿里集团内部孕育的过 程,阐述了打造⼀款实用、易用0 码力 | 326 页 | 12.83 MB | 9 月前3
《Java 应用与开发》课程讲义 - 王晓东Java 内存模型与分配机制 58 6.1 Java 内存模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.1.1 Java 虚拟机(Java Virtual Machine, JVM) . . . . . . . . . . . . . . 59 6.1.2 JVM 内存模型 . . . . . . . . . . 62 6.2.3 Java 程序运行内存分析小结 . . . . . . . . . . . . . . . . . . . . . . 64 6.3 Java 内存管理建议 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 6.3.1 Java 垃圾回收机制 . . . . . . . 65 6.3.3 内存优化的小示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 6.3.4 对象其他生命周期阶段内存管理 . . . . . . . . . . . . . . . . . . . 67 6.4 课后习题 . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3
Apache Shiro 1.2.x Reference Manual 中文翻译Tutorial 初学者web应用教程 22. Application Security With Apache Shiro 用Shiro保护你的应用安全 23. CacheManager 缓存管理 24. Apache Shiro Cryptography Features 加密功能 Apache Shiro 1.2.x Reference Manual 中文翻译 3 apache-shiro-1 1. Introduction 介绍 What is Apache Shiro? Apache Shiro是一个功能强大、灵活的,开源的安全框架。它可以干净利落地处理身份验 证、授权、企业会话管理和加密。 Apache Shiro的首要目标是易于使用和理解。安全通常很复杂,甚至让人感到很痛苦,但是 Shiro却不是这样子的。一个好的安全框架应该屏蔽复杂性,向外暴露简单、直观的API,来 Management(会话管理), Cryptography(加密)被 Shiro 框架的开发团队称之为应用安全的四大基石。那么就让我们来 看看它们吧: Authentication(认证):用户身份识别,通常被称为用户“登录” Authorization(授权):访问控制。比如某个用户是否具有某个操作的使用权限。 Session Management(会话管理):特定于用户的会话管理,甚至在非web0 码力 | 196 页 | 2.34 MB | 1 年前3
Apache Shiro参考手册中文版Introduction to Apache Shiro What is Apache Shiro? Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密。 Apache Shiro 的首要目标是易于使用和理解。安全有时候是很复杂的,甚至是痛苦的,但它没有必要这样。框架应 该尽可能掩盖复杂的地方,露出一个干净而直观的 API,来简化开发人员在使他们的应用程序安全上的努力。 Shiro 开发团队称为“应用程序的四大基石”——身份验证,授权,会话管理和加密作为其目标。 Authentication:有时也简称为“登录”,这是一个证明用户是他们所说的他们是谁的行为。 Authorization:访问控制的过程,也就是绝对“谁”去访问“什么”。 Session Management:管理用户特定的会话,即使在非 Web 或 EJB 应用程序。 利用它的并发特性来支持多线程应用程序。 Testing:测试支持的存在来帮助你编写单元测试和集成测试,并确保你的能够如预期的一样安全。 "Run As":一个允许用户假设为另一个用户身份(如果允许)的功能,有时候在管理脚本很有用。 "Remember Me":在会话中记住用户的身份,所以他们只需要在强制时候登录。 Apache Shiro Tutorial Your First Apache0 码力 | 92 页 | 1.16 MB | 1 年前3
Java 应用与开发 - Java GUI 编程的基本功能 TextField TextComponent 单行文本框 TextArea TextComponent 多行文本域 Window Container 抽象的 GUI 窗口类,无布局管理器 大纲 GUI 组件及布局 GUI 事件处理 Applet Swing Swing 典型组件(课后自学) Frame 类 Frame 类的显示效果是一个标准的图形窗口,它封装了 GUI 组 件的各种属性信息,如尺寸、可见性等。 FrameSample.java 大纲 GUI 组件及布局 GUI 事件处理 Applet Swing Swing 典型组件(课后自学) 组件定位 Java 组件在容器中的定位由布局管理器决定。如要人工控制组 件在容器中的定位,可取消布局管理器,然后使用 Component 类的下述成员方法设置: ▶ setLocation() ▶ setSize() ▶ setBounds() start 80 ▶ Panel 不能独立存在,必须被添加到其他容器中。 ▶ 可以采用和所在容器不同的布局管理器。 课程配套代码 ± sample.awt.FrameWithPanelSample.java 大纲 GUI 组件及布局 GUI 事件处理 Applet Swing Swing 典型组件(课后自学) 布局管理器 容器对其中所包含组件的排列方式,包括组件的位置和大小设 定,被称为容器的布局(Layout)。0 码力 | 73 页 | 876.31 KB | 1 年前3
Java 应用与开发 - MVC 和框架初步多个视图可以对应一个模型,可以减少代码的复制,在模型 发生改变时,易于维护。 2. 模型返回的数据与显示逻辑分离。模型数据可以应用任何显 示技术,例如,使用 JSP、Velocity 模板或者直接产生 Excel。 3. 应用被分为三层,降低各层耦合,提高了可扩展性。 4. 控制层把不同模型和视图组合在一起,完成不同的请求,控 制层包含了用户请求权限的概念。 5. MVC 符合软件工程化管理的思想,不同层各司其职,有利 符合软件工程化管理的思想,不同层各司其职,有利 于通过工程化和工具化产生管理程序代码。 大纲 Java Web 应用的开发演化 经典 MVC 框架 - Struts 2 本节习题 MVC 数据是动的,数据在 View 和 Control 层一旦运动起来,就会产 生许多的问题: ▶ 数据从 View 层传递到 Control 层,如何使得一个个扁平的字符 串,转化成一个个生龙活虎的 Java 对象。 ▶ 数据从 View --> 1011 ... 12 注意:在 Eclipse 的管理下,当 Eclipse 生成、部署 Web 项目时, 会自动将 src 路径下除了 *.java 外所有的文件都复制到 Web 应 用的 WEB-INF/classes 路径下,所以 struts.xml 0 码力 | 51 页 | 837.26 KB | 1 年前3
基于 Java EE 的企业应用系统设计 - Spring MVC 01多个视图可以对应一个模型,可以减少代码的复制,在模型 发生改变时,易于维护。 2. 模型返回的数据与显示逻辑分离。模型数据可以应用任何显 示技术,例如,使用 JSP、Velocity 模板或者直接产生 Excel。 3. 应用被分为三层,降低各层耦合,提高了可扩展性。 4. 控制层把不同模型和视图组合在一起,完成不同的请求,控 制层包含了用户请求权限的概念。 5. MVC 符合软件工程化管理的思想,不同层各司其职,有利 符合软件工程化管理的思想,不同层各司其职,有利 于通过工程化和工具化产生管理程序代码。 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 MVC 数据是动的,数据在 View 和 Control 层一旦运动起来,就会产生 许多的问题: ▶ 数据从 View 层传递到 Control 层,如何使得一个个扁平的字符串, 转化成一个个生龙活虎的 Java 对象。 ▶ 数据从 HttpServletResponse response); 其实现类可以访问对应请求的 HttpServletRequest 和 HttpServletRe- sponse 对象,还必须返回一个包含视图路径或视图模型的 Mode- lAndView 对象。Controller 接口的实现类只能处理一个单一动作。 ▶ 基于注解的控制器可以同时支持多个请求处理动作处理,并 且无须实现任何接口。 大纲 Java Web0 码力 | 67 页 | 792.43 KB | 1 年前3
Hello 算法 1.1.0 Java版我们按照说明书一步步操作,就能组装出精美的积木模型。 第 1 章 初识算法 hello‑algo.com 15 图 1‑5 拼装积木 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结 址,程序便可以访问内存中的数据。 图 3‑2 内存条、内存空间、内存地址 Tip 值得说明的是,将内存比作 Excel 表格是一个简化的类比,实际内存的工作机制比较复杂,涉及地址 空间、内存管理、缓存机制、虚拟内存和物理内存等概念。 内存是所有程序的共享资源,当某块内存被某个程序占用时,则无法被其他程序同时使用了。因此在数据结 构与算法的设计中,内存资源是一个重要的考虑因素。比如,算法所占用的内存峰值不应超过系统剩余空闲 一定的“动态性”。 Tip 如果你感觉物理结构理解起来有困难,建议先阅读下一章,然后再回顾本节内容。 3.2 基本数据类型 当谈及计算机中的数据时,我们会想到文本、图片、视频、语音、3D 模型等各种形式。尽管这些数据的组织 形式各异,但它们都由各种基本数据类型构成。 基本数据类型是 CPU 可以直接进行运算的类型,在算法中直接被使用,主要包括以下几种。 ‧ 整数类型 byte、short、int、long0 码力 | 378 页 | 18.47 MB | 1 年前3
共 28 条
- 1
- 2
- 3













