JVM内存模型和性能优化

来源:互联网 发布:c语言long long 编辑:程序博客网 时间:2024/05/16 06:09

JVM内存模型优点

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

JVM性能的人为问题

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

Java内存种类

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

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

    两种内存使用

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

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



0 0