JVM内存模型和性能优化

2/22/2017来源:ASP.NET技巧人气:2737

JVM内存模型优点

内置基于内存的并发模型: 多线程机制 同步锁Synchronization 大量线程安全型库包支持 基于内存的并发机制,粒度灵活控制,灵活度高于数据库锁。 多核并行计算模型 基于线程的异步模型。

JVM性能的人为问题

关键原因是:没有正确处理好对象的生命周期。 需要从需求中找出存在自然边界的业务对象,将其对应落实到内存中,成为内存模型In-memory Domain Model。 有大小边界限制的内存是缓存,没有永远使用不完的内存,缓存=“有边界的”内存。 缓存是Domain Model对象缓存,不同于传统意义上数据库缓存的定义。 分布式缓存可以提高巨量数据处理计算能力。

java内存种类

Stack栈内存 存取速度快,数据可多线程间共享。 存在栈中的数据大小与生存期必须确定

Heap堆内存 大小动态变化,对象的生命周期不必事先告诉编译器JVM。

两种内存使用

Stack栈内存 基本数据类型,Java 指令代码,常量 对象实例的引用 对象的方法代码

Heap堆内存 对象实例的属性数据和数组。堆内存由Java虚拟机的自动垃圾回收器来管理。