gpt4 book ai didi

java - 内存分配的最佳技术 - 重用一个全局内存或分配许多本地缓冲区并让它被垃圾收集

转载 作者:行者123 更新时间:2023-12-01 11:25:32 26 4
gpt4 key购买 nike

我正在从文件中读取一堆字节消息。我想将每条消息读入缓冲区,进行一些解析,然后将消息存储到带有字段数据的对象中。

一般来说,最好使用全局引用分配一 block 内存并为我读取的每条消息重用它,还是为每条消息分配本地对象不同的内存块(这样它可以被垃圾收集,因为有没有全局引用)?

此外,是否有一些引用资料列出了良好的 Java 编程实践/设计,可能涵盖此技术以及构建 Java 代码所需的其他技术?我已经编写 Java 代码很长时间了,但不确定我的所有技术是否都是最理想的。

最佳答案

我建议您查看Creational Patterns一般来说。这应该为您提供一个良好的入门平台。

Five well-known design patterns that are parts of creational patterns are the

  1. Abstract factory pattern, which provides an interface for creating related or dependent objects without specifying the objects' concrete classes.
  2. Builder pattern, which separates the construction of a complex object from its representation so that the same construction process can create different representations.
  3. Factory method pattern, which allows a class to defer instantiation to subclasses. =4. Prototype pattern, which specifies the kind of object to create using a prototypical instance, and creates new objects by cloning this prototype.
  4. Singleton pattern, which ensures that a class only has one instance, and provides a global point of access to it.

这些创建模式通常用于高性能 Java 应用程序。但需要更多的细节和测试才能知道哪种模式可以提高您的个人表现。

单独,并且比简单地更好地管理对象生命周期更进一步。有诸如OpenHFT之类的库(高频交易)甚至可以让你 IPC 进入共享内存段。 ,这不是你想要的,我假设你没有计算微秒。但我认为这说明关闭 GC 并不像描述的那么牵强。

但如果我是你,我会尝试一种合适的创建模式来更好地管理我的对象生命周期。

关于java - 内存分配的最佳技术 - 重用一个全局内存或分配许多本地缓冲区并让它被垃圾收集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30834977/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com