Java 应用与开发 - Java 内存模型与分配机制大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 Java 应用与开发 Java 内存模型与分配机制 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 September 30, 2018 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 学习目标 1. 理解 JVM 内存模型,掌握 JVM 内存构成 2 Java 程序内存运行分析 Java 内存管理建议 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 Java 垃圾回收机制 JVM 的垃圾回收机制(GC)决定对象是否是垃圾对象,并进行 回收。 O 垃圾回收机制的特点 ▶ 垃圾内存并不是用完了马上就被释放,所以会产生内存释放 不及时的现象,从而降低内存的使用效率。而当程序庞大的 时候,这种现象更为明显。 ▶0 码力 | 44 页 | 818.30 KB | 1 年前3
统一建模语言 UML 参考手册 - 基本概念以一个简单的例子开始 对 ��� 的视图 概念作了简单的介绍 然后 在后续的 章节中 静态视图 用例视图 状态机视图 活动视图 交互视图 物理视图 模型管理 视图 扩展机制 对各个视图进行详细的讨论 它们分别从静态建模机制 动态建模机制 模型管理机制以及扩展机制对 ��� 进行探讨 � ��� 标准元素讨论了一些与核心概念的区别较小或者重要性不足以被包括至 ��� 核心 概念的元素 原文中仅有标准元素表 为了便于大家的理解 ����������������������������������������������������������������������������������� ��� 扩展机制 扩展机制 扩展机制 扩展机制 EXTENSION MECHANISMS ����������������������������������������������������������������������������� 包之间的依赖可以被整体系统的体系结构来强制 从而包内容必须 同包依赖和系统体系结构强制相一致 � 扩展机制 扩展机制 扩展机制 扩展机制 无论语言的设施多么完备 人们总是需要对其进行扩展 我们对 ��� 提供了 有限的扩展能力 无需对基本语言进行修改 我们相信它可以容纳日常的大多数扩展需要 ��� 扩展机制包括版型 约束和标签值 版型是与现有元素结构相同的新元素 它具有附 ��� 参考指南� � ���0 码力 | 123 页 | 2.61 MB | 1 年前3
2022年美团技术年货 合辑数据治理一体化实践之体系化建模 1263 vi > 2022年美团技术年货 运维 / 安全 1277 数字化新业态下数据安全创新——Token 化 1277 Linux 中基于 eBPF 的恶意利用与检测机制 1293 如何应对开源组件风险?软件成分安全分析(SCA)能力的建设与演进 1328 算法 < 1 YOLOv6:又快又准的目标检测框架开源啦 作者:楚怡 凯衡 等 1. 概述 YOLOv6 AutoHEnsGNN 框架 多类别层次化图模型优化: (1)候选图模型的生成:现实世界中的图通常是多种属性的组合,这些属性信息很难 只用一种方法捕捉完全,因此,我们使用了基于谱域、空域、Attention 机制等多种 不同类型的模型来捕捉多种属性关系。不同模型在不同数据集上效果差异较大,为了 防止后续模型融合时加入效果较差的模型,会对 GCN、GAT、APPNP、TAGC、 DNA、GraphSAG Layer(如图 19):三 边时空注意力机制神经网络来对用户历史行为进行建模,具体通过对请求经纬度信 息、商户经纬度信息和请求时间的交互进行学习。针对空间信息交叉,我们进一步采 用地理位置哈希编码和球面距离相结合的方式;针对时间信息交叉,我们也采用绝对 与相对时间相结合的方式,有效实现用户行为序列在不同时空条件下的三边表达。最 后,经上述网络编码后的时空信息经过注意力机制网络融合,得到 LBS 场景下用户0 码力 | 1356 页 | 45.90 MB | 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 19 > Nacos 架构 内核层 插件机制:实现三个模块可分可合能力,实现扩展点 SPI 机制,用于扩展自己公司定制。 事件机制:实现异步化事件通知,SDK 数据变化异步通知等逻辑,是 Nacos 高性能的关键部分。 日志模块:管理日志分类,日志级别,日志可移植性(尤其避免冲突),日志格式,异常码+帮 助文档。 回调机制:SDK 通知数据,通过统⼀的模式回调用户处理。接口和数据结构需要具备可扩展性。 容量管理:管理每个租户,分组下的容量,防止存储被写爆,影响服务可用性。 流量管理:按照租户,分组等多个维度对请求频率,长链接个数,报文大小,请求流控进行控制。 缓存机制:容灾目录,本地缓存,Server 缓存机制,是 Nacos 高可用的关键。 启动模式:按照单机模式,配置模式,服务模式,DNS 模式模式,启动不同的模块。 ⼀致性协议:解决不同数据,不同⼀致性要求情况下,不同⼀致性要求,是0 码力 | 326 页 | 12.83 MB | 10 月前3
美团点评2018技术年货在早期,运营配置上线流程需要研发同学参与。产品提出运营配置需求,研发同学通过修改代码对配置进 行变更,然后通过代码上线进行发布。整体流程如下: 这种上线机制存在以下几个问题: 1. 配置上线过多依赖于代码的发布。 2. 整体上线过程无审核机制,无法对配置资源进行合规审核。 3. 配置容易出错,上线前不能提前预览上线后的效果,只有“事后”(上线后)才能验证效果。 APPKIT打造稳定、灵活、高效的运营配置平台 运营流程化 设计一套整体的流程管理机制,解决运营的投放、审核、发布和回滚的问题。通过流程化的机制,我们实 现了“事前”、“事中”、“事后”的三级管理。 首先,在运营配置上线前,通过测试用户的预览功能,可以预览上线后的实时效果。同时,通过穿越功能 可查看将来时段显示的效果。防止出现上线后链接出错、视觉效果达不到预期等问题。 其次,在流程阶段,引入审核机制,通过视觉和内容两方面的审核,保证投放数据的准确性。 ”。 接口SDK化 接口SDK化 对于运营数据,无论是通过数据库的落地方案、还是通过分布式缓存的方案,都无法彻底解决服务中心化 和服务抖动的问题。通过接入的SDK化,可以做到数据的本地缓存更新机制,解除对中心化服务的依赖, 大大提升服务的稳定性和性能。同时整个APPKIT服务变成可水平扩展,在扩展过程中也不会影响中心服 务的稳定性。 四、APPKIT架构 四、APPKIT架构 APP0 码力 | 229 页 | 61.61 MB | 1 年前3
降级预案在同程艺龙的工程实践-王俊翔数据采集、计算、存储 指标(HBase) 指标明细(ES) 降级⽇日志(ES) ETL 指标计算(Flink) 脚本引擎 查 询 服 务 ⽇日志数据 指标(Redis) 业务异常数据快照(ES) 熔断降级通知 降级服务管理理 故障代码注⼊入 降级服务注册设计 serviceA serviceB serviceC etcd register service metadata center mysql sharding watch admin • 使⽤用ETCD实现注册中⼼心 • 简单 - Go语⾔言编写部署维护简单,定义良好的API • 安全 - SSL认证机制 • 快速 - ⽀支持上万次写⼊入操作 • 可信 - Raft算法保证强⼀一致性,Proxy反向代理理模式⽀支持 • 服务数据存储 • 应⽤用、服务元数据、状态数据,etcd、mysql双份存储 MVEL 表达式引擎 降级服务管理理 • 降级服务管理理 • 应⽤用、服务、策略略产品化、数据化 • 应⽤用、服务指标实时监控,健康状态评估 • 实时监测服务降级执⾏行行状态,降级发⽣生点数据 快照及时回溯 • 降级策略略管理理 • 多种策略略⽅方案:失效备援、服务熔断、资源隔 离、延迟处理理 • 策略略灵活调整,实时监控策略略运⾏行行状态 应⽤用 / 服务 降级代码管理理 •0 码力 | 26 页 | 18.67 MB | 1 年前3
Python 标准库参考指南 3.10.15 __dir__() 方法,该函数会尽量从对象的__dict__ 属性和其类型对象中收集信息。 得到的列表不一定是完整,如果对象带有自定义 __getattr__() 方法时,结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 对象: >>> class X: ... a = 1 ... >>> X = type('X', (), dict(a=1)) 另请参阅类型对象。 提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()),相当 于类定义中关键字 (除了 metaclass) 的行为方式。 另请参阅 class-customization。 在 3.6 版更改: 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 40 Chapter 4. 内置类型 The Python Library Reference, 发布 3.10.15 • 对于其它类型,请查看相应的文档0 码力 | 2207 页 | 10.45 MB | 9 月前3
Python 标准库参考指南 3.10.15 __dir__() 方法,该函数会尽量从对象的__dict__ 属性和其类型对象中收集信 息。得到的列表不一定是完整,如果对象带有自定义 __getattr__() 方法时,结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 对象: >>> class X: ... a = 1 ... >>> X = type('X', (), dict(a=1)) 另请参阅类型对象。 提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()), 相当于类定义中关键字 (除了 metaclass) 的行为方式。 另请参阅 class-customization。 在 3.6 版更改: 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。0 码力 | 2072 页 | 10.39 MB | 9 月前3
Python 标准库参考指南 3.13 __dir__(),该函数会尽量从对象所定义的 __dict__ 属性和其类型对象中收集信 息。结果列表不一定是完整的,并且当对象具有自定义的 __getattr__() 时还可能是不准确的。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 = 1 ... >>> X = type('X', (), dict(a=1)) 另请参阅: • 有关类的属性和方法的文档。 • 类型对象 提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()),相 当于类定义中关键字 (除了 metaclass) 的行为方式。 另请参阅 class-customization。 在 3.6 版本发生变更: 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。0 码力 | 2246 页 | 11.74 MB | 9 月前3
Python 标准库参考指南 3.13 __dir__(),该函数会尽量从对象所定义的 __dict__ 属性和其类型对象中收集信 息。结果列表不一定是完整的,并且当对象具有自定义的 __getattr__() 时还可能是不准确的。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 = 1 ... >>> X = type('X', (), dict(a=1)) 另请参阅: • 有关类的属性和方法的文档。 • 类型对象 提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()),相 当于类定义中关键字 (除了 metaclass) 的行为方式。 另请参阅 class-customization。 在 3.6 版本发生变更: 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。0 码力 | 2242 页 | 11.73 MB | 9 月前3
共 355 条
- 1
- 2
- 3
- 4
- 5
- 6
- 36













