Java 应用与开发 - Java 内存模型与分配机制大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 Java 应用与开发 Java 内存模型与分配机制 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 September 30, 2018 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 学习目标 1. 理解 JVM 内存模型,掌握 JVM 内存构成 2 保存加载方法时的帧。(Stack) 堆 用来存放动态产生的数据,如 new 出来的对象和数组。 1。(Heap) 常量池 JVM 为每个已加载的类型维护一个常量池,常量池就是 这个类型用到的常量的一个有序集合。包括直接常量 (基本类型、String)和对其他类型、方法、字段的符号 引用。池中的数据和数组一样通过索引访问,常量池在 Java 程序的动态链接中起了核心作用。(Perm) 代码段 存放从硬盘上读取的源程序代码。(Perm) 保存加载方法时的帧。(Stack) 堆 用来存放动态产生的数据,如 new 出来的对象和数组。 1。(Heap) 常量池 JVM 为每个已加载的类型维护一个常量池,常量池就是 这个类型用到的常量的一个有序集合。包括直接常量 (基本类型、String)和对其他类型、方法、字段的符号 引用。池中的数据和数组一样通过索引访问,常量池在 Java 程序的动态链接中起了核心作用。(Perm) 代码段 存放从硬盘上读取的源程序代码。(Perm)0 码力 | 44 页 | 818.30 KB | 1 年前3
Nacos架构&原理
Nacos 寻址机制 56 Nacos 服务发现模块 63 Nacos 注册中心的设计原理 63 Nacos 注册中心服务数据模型 80 Nacos 健康检查机制 89 Nacos 配置管理模块 97 配置⼀致性模型 97 Nacos ⾼可⽤设计 100 Nacos 高可用设计 100 Nacos 鉴权插件 103 Nacos 账号权限体系 103 Nacos 认证机制 110 Nacos 决集中化 和互联网化所带来的架构扩展性和面对海量用户请求的技术挑战。这里面其中有⼀个关键点是软负 载。因为整个分布式架构需要有⼀个软负载来协作各个节点之间的服务在线离线状态、数据⼀致性、 以及动态配置数据的推送。这里面最简单的需求就是将⼀个配置准时的推送到不同的节点。即便如 此简单需求,随着业务规模变大也会变的非常复杂。如何能将数据准确的在 3 秒钟之内推送到每⼀ 个计算节点,这是当时提 品牌和运营资源。另外大部分客户没有阿里这么大的体量,模块拆分过细,部署和运维成本都会成 倍上涨,而且阿里巴巴也是从最早⼀个产品逐步演化成 3 个产品的,因此我们最终决定将内部三个 产品合并统⼀开源。定位为:⼀个更易于构建云原生应用的动态服务发现、配置管理和服务管理平 台。由于我们在阿里内部发展了 10 年,在易用、规模、实时、稳定沉淀了核心竞争力,围绕阿里 Dubbo 和 Spring-cloud-alibaba 生态进行推广,建立阿里0 码力 | 326 页 | 12.83 MB | 9 月前3
《Java 应用与开发》课程讲义 - 王晓东. . 4 1.1.2 Java 技术的特点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 Java 平台核心机制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Java 开发环境 . . . . . . . . . 5 课后习题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6 Java 内存模型与分配机制 58 6.1 Java 内存模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.1.1 Java 6.3 Java 内存管理建议 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 6.3.1 Java 垃圾回收机制 . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 6.3.2 JVM 内存溢出和参数调优 . . . . . . . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3
Hello 算法 1.0.0 Java版. . . . . . . . . . . . . . . . . 299 第 14 章 动态规划 300 14.1 初探动态规划 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 14.2 动态规划问题特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 14.3 动态规划解题思路 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 14.4 0‑1 背包问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 和示例问题等。 第 0 章 前言 hello‑algo.com 3 图 0‑1 本书主要内容 0.1.3 致谢 本书在开源社区众多0 码力 | 376 页 | 17.59 MB | 1 年前3
Hello 算法 1.1.0 Java版. . . . . . . . . . . . . . . . . 298 第 14 章 动态规划 299 14.1 初探动态规划 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 14.2 动态规划问题特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 14.3 动态规划解题思路 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 14.4 0‑1 背包问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 和示例问题等。 第 0 章 前言 hello‑algo.com 3 图 0‑1 本书主要内容 0.1.3 致谢 本书在开源社区众多0 码力 | 378 页 | 18.47 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Java 版. . . . . . . . . . . . . . . . . 298 第 14 章 动态规划 300 14.1 初探动态规划 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 14.2 动态规划问题特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 14.3 动态规划解题思路 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 14.4 0‑1 背包问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 和示例问题等。 第 0 章 前言 www.hello‑algo.com 3 图 0‑1 本书主要内容 0.1.3 致谢 本书在开源0 码力 | 379 页 | 18.48 MB | 10 月前3
跟我学Shiro - 张开涛...................................................................................... 66 第八章 拦截器机制 .................................................................................................. .................................................................................... 101 第十一章 缓存机制 .................................................................................................. ....................................................................................... 155 第十九章 动态 URL 权限控制..........................................................................................0 码力 | 219 页 | 4.16 MB | 10 月前3
Hello 算法 1.0.0b4 Java版. . . . . . . . . . . . . . . . . . 269 14. 动态规划 270 14.1. 初探动态规划 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 14.2. 动态规划问题特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 14.3. 动态规划解题思路 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 14.4. 0‑1 背包问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‧ 数据结构:基本数据类型,数据结构的分类方法。数组、链表、栈、队列、散列表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤、 示例题目等。 0. 前言 hello‑algo.com 2 Figure 0‑1. Hello 算法内容结构 0.1.3. 致谢0 码力 | 342 页 | 27.39 MB | 1 年前3
Hello 算法 1.0.0b1 Java版中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法、搜索与回溯、动态规划、分治算法,内容包括定义、使用场景、优劣势、时 空效率、实现方法、示例题目等。 0. 写在前面 hello‑algo.com 2 Figure 0‑1. Hello 算法内容结构 0.1 个,分裂 两轮后为 4 个,⋯⋯,分裂 ? 轮后有 2? 个细胞。 指数阶增长得非常快,在实际应用中一般是不能被接受的。若一个问题使用「暴力枚举」求解的时间复杂度是 ?(2?) ,那么一般都需要使用「动态规划」或「贪心算法」等算法来求解。 // === File: time_complexity.java === /* 指数阶(循环实现) */ int exponential(int n) { 的数组)等; ‧ 基于链表可实现:栈、队列、哈希表、树、堆、图等; 基于数组实现的数据结构也被称为「静态数据结构」,这意味着该数据结构在在被初始化后,长度不可变。相 反地,基于链表实现的数据结构被称为「动态数据结构」,该数据结构在被初始化后,我们也可以在程序运行 中修改其长度。 � 数组与链表是其他所有数据结构的“底层积木”,建议读者一定要多花些时间了解。 3.3. 小结 ‧ 整数 byte0 码力 | 186 页 | 14.71 MB | 1 年前3
Hello 算法 1.0.0b5 Java版. . . . . . . . . . . . . . . . . 300 第 14 章 动态规划 302 14.1 初探动态规划 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 14.2 动态规划问题特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 14.3 动态规划解题思路 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 14.4 0‑1 背包问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ‧ 数据结构:基本数据类型,数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤、 示例题目等。 第 0 章 前言 hello‑algo.com 3 图 0‑1 Hello 算法内容结构 0.1.3 致谢 在本书0 码力 | 376 页 | 30.69 MB | 1 年前3
共 32 条
- 1
- 2
- 3
- 4













