JAVA NIO Bytebuffer.allocateDirect() 对 int 的大小限制

2023-11-30

我正在尝试制作堆外内存缓冲区。我想要非常大的缓冲区(比如 10GB)。 我听说jvm堆有时会因为full GC而冻结。所以,我尝试用 java.nio.ByteBuffer 制作缓冲区。

但是,我遇到了很大的困难!

java.nio.ByteBuffer.allocateDirect(int size)

函数仅支持整数。但我想要更大的尺寸。我能做些什么?我应该怎么办?请帮助我堆栈溢出大师。

我的开发环境是macbook pro,i7 2.4ghz,16gb ddr3,250ssd,osx 10.9,eclipse kepler x64。

我尝试一些方法来解决问题:

ByteBuffer buffer = ByteBuffer.allocateDirect(1024*1024*2000);
ByteBuffer buffer1 = ByteBuffer.allocateDirect(1024*1024*2000);
ByteBuffer buffer2 = ByteBuffer.allocateDirect(1024*1024*2000);
ByteBuffer buffer3 = ByteBuffer.allocateDirect(1024*1024*2000);

但这是行不通的。只再次分配内存1024*1024*2000

请帮我。


你不能让单个缓冲区那么大。时期。您可以制作几个较小的,并根据需要在自己的代码中进行选择。这就是你所能做的。

e.g.:

ByteBuffer[] myBuffers = new ByteBuffer[howMany];
for (int x = 0; x < howMany; x++) {
    myBuffers[x] = ByteBuffer.allocateDirect(prettyBig);
}

and then

byte getByte(long index) {
    int bufx = index / howMany;
    int bx = index % howMany;
    return myBuffers[bufx].get(bx); 
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA NIO Bytebuffer.allocateDirect() 对 int 的大小限制 的相关文章

  • Android 2.2 SDK - Droid X 相机活动无法正常完成

    我注意到我在 Droid X 上调用的默认相机活动与我的 Droid 和 Nexus One 上的默认相机活动看起来不同 在 Droid 和 Nexus One 上选择 确定 后 活动将完成 Droid X 有一个 完成 按钮 它将带您返回
  • 禁用 Eclipse Java 调试器的热代码替换 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在 Eclipse 中禁用热代码替换 https stackoverflow com questions 2594408 how do i disable hot code replace in
  • Android 自定义视图不能以正确的方式处理透明度/alpha

    我正在绘制自定义视图 在此视图中 我使用两个不同的绘画和路径对象在画布上绘画 我基本上是在绘制两个重叠的形状 添加 Alpha 后 视图中重叠的部分比图像的其余部分更暗 这是不希望的 但我不知道如何解决它 这是我的代码片段 用于展示我如何在
  • 使用 RecyclerView 适配器在运行时更改布局屏幕

    我有两个布局文件 如下所示 如果列表中存在数据 则我显示此布局 当列表为空时 我会显示此布局 现在我想在运行时更改布局 当用户从列表中删除最后一项时 我想将布局更改为第二张图片中显示的 空购物车布局 In getItemCount Recy
  • 在 HTTP 标头中发送 UTF-8 值会导致 Mojibake

    我想使用 servlet 发送阿拉伯语数据HTTPServletResponse给客户 我正在尝试这个 response setCharacterEncoding UTF 8 response setHeader Info arabicWo
  • 如何从 Retrofit2 获取字符串响应?

    我正在做 android 正在寻找一种方法来执行超级基本的 http GET POST 请求 我不断收到错误 java lang IllegalArgumentException Unable to create converter for
  • Git 无法识别重命名和修改的包文件

    我有一个名为的java文件package old myfile java 我已经通过 git 提交了这个文件 然后我将我的包重命名为new所以我的文件在package new myfile java 我现在想将此文件重命名 和内容更改 提交
  • Java 数组的最大维数

    出于好奇 在 Java 中数组可以有多少维 爪哇language不限制维数 但是JavaVM规范将维度数限制为 255 例如 以下代码将无法编译 class Main public static void main String args
  • 无法加载或查找主类,可以在命令行中使用,但不能在 IDE 中使用[重复]

    这个问题在这里已经有答案了 在将其标记为重复之前 请先听我说完 我正在尝试使用 gradle 导入一个 java 项目 功能齐全 适用于所有其他笔记本电脑 没有问题 我的项目 100 正常运行 适用于所有其他笔记本电脑 当我的笔记本电脑被重
  • 如何将 Jfreechart(饼图)添加到 netbeans 的面板中

    我正在使用 netbeans gui 编辑器 并且正在尝试添加一个本身位于内部框架中的 Jfreechart 并且这个内部框架我想将其添加到面板中 正如您在此图中看到的那样 抱歉 我无法直接发布图像 因为我新手 http www flick
  • Java - 返回值是否会中断循环?

    我正在编写一些基本上遵循以下格式的代码 public static boolean isIncluded E element Node
  • 如何记录来自 Akka (Java) 的所有传入消息

    在 Scala 中 您可以使用 LoggingReceive 包装接收函数 如何通过 Java API 实现相同的目标 def receive LoggingReceive case x do something Scala API 有Lo
  • 为什么java中的for-each循环中需要声明变量

    for 每个循环的通常形式是这样的 for Foo bar bars bar doThings 但如果我想保留 bar 直到循环结束 我可以not使用 foreach 循环 Foo bar null Syntax error on toke
  • JVM:是否可以操作帧堆栈?

    假设我需要执行N同一线程中的任务 这些任务有时可能需要来自外部存储的一些值 我事先不知道哪个任务可能需要这样的值以及何时 获取速度要快得多M价值观是一次性的而不是相同的M值在M查询外部存储 注意我不能指望任务本身进行合作 它们只不过是 ja
  • 解决错误javax.mail.AuthenticationFailedException

    我不熟悉java中发送邮件的这个功能 我在发送电子邮件重置密码时遇到错误 希望你能给我一个解决方案 下面是我的代码 public synchronized static boolean sendMailAdvance String emai
  • 哪个集合更适合存储多维数组中的数据?

    我有一个multi dimensional array of string 我愿意将其转换为某种集合类型 以便我可以根据自己的意愿添加 删除和插入元素 在数组中 我无法删除特定位置的元素 我需要这样的集合 我可以在其中删除特定位置的数据 也
  • Android - 9 补丁

    我正在尝试使用 9 块图片创建一个新的微调器背景 我尝试了很多方法来获得完美的图像 但都失败了 s Here is my 9 patch 当我用Draw 9 patch模拟时 内容看起来不错 但是带有箭头的部分没有显示 或者当它显示时 这部
  • Hibernate 和可序列化实体

    有谁知道是否有一个框架能够从实体类中剥离 Hibernate 集合以使它们可序列化 我查看了 BeanLib 但它似乎只进行实体的深层复制 而不允许我为实体类中的集合类型指定实现映射 BeanLib 目前不适用于 Hibernate 3 5
  • JAXB - 列表<可序列化>?

    我使用 xjc 制作了一些课程 public class MyType XmlElementRefs XmlElementRef name MyInnerType type JAXBElement class required false
  • 启动Java项目时发生类冲突:ClassMetadataReadingVisitor将接口org.springframework.asm.ClassVisitor作为超类

    我正在使用最新的Spring框架版本 3 2 2 RELEASE 开发一个Java Web项目 但是现在项目启动时遇到了问题 详细错误是 java lang IncompleteClassChangeError 类 org springfr

随机推荐

  • 计算PostgreSQL中批量查询影响的行数

    首先 是的 我已经阅读了 DO 语句的文档 http www postgresql org docs 9 1 static sql do html 所以我的问题是 我需要执行一些包含 UPDATE 语句的动态代码块并计算所有受影响的行数 我
  • UIImageView 中的 UIImage 大小

    我有一些UIImage并将其显示在UIImageView 我需要使用UIViewContentModeScaleAspectFit内容模式 这是简单的代码 UIImageView imageView UIImageView alloc in
  • Guice:根据谁获得它来注入不同的实现?

    我有两个第三方类 它们都实现了Authorizer界面 我需要为每个注入不同的实现 如果我做一个 Provides 我怎样才能实现它 以便它提供运行时所需的实现 提供者不知道是谁要求注射 理论上我可以使用 Named 但我无法修改正在注入的
  • C# 数组子集获取

    我有一个字节数组 我想确定这个字节数组的内容是否作为连续序列存在于另一个更大的数组中 执行此操作的最简单方法是什么 天真的方法是 public static bool IsSubsetOf byte set byte subset for
  • iPhone 应用程序需要启动画面吗?

    这是我第一次提交我的应用程序 我从文档中知道应该指定启动图像 但我创建了自己的启动视图 带有 uilabel 和 uiimageview 的视图控制器 并且效果很好 但如果我不制作发布图片 我担心不被接受 有人可以给我一些建议吗 苹果引用
  • Firefox 扩展程序不显示图标

    我已经实现了示例 mozilla firefox 扩展来在工具栏上显示 firefox 图标 操作按钮 它将打开 http www mozilla org 它在 jpm run 中工作正常 然后我使用 jpm xpi 创建了该包并创建了 x
  • 如何实现-在__del__上写入文件?

    我正在尝试对类 obj 销毁进行一些活动 如何实现文件打开 del 功能 我使用的是Python 3 4 class iam object def init self print I m born def del self f open m
  • 如何在实体框架中查找具有指定日期范围列表的日期?

    我有一个我创建的类的 IEnumerable 来包含日期范围 该类看起来像这样 public class Range
  • 如何使用 PHP 中的 API 在 facebook 上发布墙?

    我想使用 facebook API 在 facebook 墙上发布分数 确保您有 Facebook SDKhttps github com facebook php sdk 启动 Facebook API facebook new Face
  • JVector Map如何在标记悬停时获得动态图像

    嗨 我正在使用JVector Map我知道我的问题可能以前被问过 而且我也发现了这篇文章jvectormap 标记标签图像也是 但是我的问题还是没有解决 我想在工具提示中显示每个标记的图片 当鼠标悬停时它会显示该图片 这是我的代码 worl
  • 需要 Gradle 2.1 迁移到 Gradle 包装器并同步项目

    我正在尝试建立u202杰克 沃顿 Jake Wharton 的 Android 项目 我的 android studio 无法构建该项目 显示的错误如下 Gradle 2 1 is required Migrate to Gradle wr
  • mySQL 中奇怪的 Ascii 字符。需要查询才能删除

    我正在尝试找出如何从 mySQL 数据库中删除该字符 它是由其他没有做得很好的人为我转换的 表是 ps product lang 字段是描述和描述短 我认为我的查询应该是 更新 ps product lang 设置描述 替换 描述 但是我应
  • Mapbox:libc++abi.dylib:以 NSException 类型的未捕获异常终止(lldb)

    我在 Android 上工作时一直在实现 Mapbox 通过 CocoaPods 安装后在 iOS 上遇到错误 我得到了framework not found Mapbox但在以下答案之后目标覆盖 FRAMEWORK SEARCH PATH
  • R 中的直方图 - x 轴未正确居中

    我有一个列表中的直方图d我只需输入即可创建的值 hist d And this is what I get 我怎样才能使x轴一直向左延伸到该图的原点 左下角 为什么会在 0 4处截止 宏的回答是迄今为止最简单的路线 但是 如果您确实对默认行
  • 在 Xamarin.iOS 中将选项卡移动到顶部时删除底部的空白

    我需要根据 Youtube 的最新 UI 创建选项卡式菜单 并在 Android 和 iOS 上显示顶部菜单 Android 上的默认行为是在顶部显示菜单 这样就可以正常工作 在 iOS 上 我创建了一个自定义渲染 并使用以下代码将栏的位置
  • Java、C、PHP 的自动补全库?

    我正在为我的文本编辑器构建一个开源自动完成插件 因为它还没有 是否有我可以使用的自动完成库 即某种包含 Java C PHP 等常用函数的数据文件 我已经构建了插件 但我并不特别想浏览所有 Java 文档并手写插件将引用的实际库 我只是在寻
  • 如何让 Liferay 6.1.0 在找不到资源时始终重定向到 404 页面?

    我为我拥有的 Liferay 网站创建了一个简单的钩子 它包含一个覆盖默认 Liferay 404 的 404 jsp 如果我输入特定页面 它可以正常工作 例如 即将http localhost 8080 joky jsp throws 严
  • AspectJ 和 CDI

    我正在尝试找出一种将 bean 注入某个方面的方法 I mean public class Greeter public String greet String name public aspect GreeterAspect Inject
  • 使用一系列角度创建循环列表 python

    我有一个列表列表 其中包含角度集的下限和上限 就像是 1 22 2 24 359 15 360 21 总共360个元素 现在我想检查从 1 到 360 的每个角度 列表中包含该角度的元素 我正在考虑使用下限和上限来创建列表的所有元素rang
  • JAVA NIO Bytebuffer.allocateDirect() 对 int 的大小限制

    我正在尝试制作堆外内存缓冲区 我想要非常大的缓冲区 比如 10GB 我听说jvm堆有时会因为full GC而冻结 所以 我尝试用 java nio ByteBuffer 制作缓冲区 但是 我遇到了很大的困难 java nio ByteBuf