对象的创建与销毁在JNI中,创建和销毁Java对象是常见的操作。这涉及到使用JNIEnv指针提供的函数来实例化Java类并管理对象的生命周期。创建Java对象要创建一个Java对象,首先需要获取表示该对象类的 jclass ,然后使用 JNIEnv 的 NewObject 函数。 NewObject 函数需要三个参数:1. jclass:表示要实例化的Java类的类引用。2. jmetho 1个月前 (12-31) 18℃ 0评论0喜欢
调用本地方法在JNI中,从Java代码调用本地方法是一个核心功能。这个过程涉及到Java端的声明、本地方法的实现,以及两者之间的连接。以下是如何在JNI中调用本地方法的详细步骤。在Java中声明本地方法首先,在Java类中声明本地方法。使用`native`关键字标记这些方法,但不需要提供方法体。这些方法的具体实现在本地代码 1个月前 (12-31) 23℃ 0评论0喜欢
基本数据类型映射在JNI中,Java的基本数据类型和C/C++的基本数据类型之间有一一对应的关系。这种映射关系是JNI能够实现Java与本地代码之间数据交换的基础。以下是Java基本数据类型与C/C++基本数据类型之间的映射:整数类型byte:在Java中,`byte`是有符号的8位整数。在C/C++中,它映射为`jbyte`,实际上就是一个`signed char`。shor 1个月前 (12-31) 48℃ 0评论0喜欢
JNI 简介Java Native Interface(JNI)是Java平台的一个标准接口,它允许Java代码与其他语言编写的代码进行交互。这种交互能力极大地扩展了Java的应用范围,使得Java程序可以调用系统级的库或者执行高性能计算,这些往往是纯Java代码难以高效完成的。从Java 1.1版本开始,JNI标准就成为Java平台的一部分。JNI最初的设计目的是为了本地 1个月前 (12-31) 29℃ 0评论0喜欢
在现代软件开发和部署中,Docker 容器已经成为一种流行的技术,它提供了轻量级的虚拟化环境,使得应用程序能够在隔离的环境中运行。然而,随着全球化的发展,时区问题成为了容器化应用中不可忽视的一个环节。本文将深入探讨 Docker 容器中的时区调整方案,包括其重要性、常见问题、解决方案以及最佳实践。 时区调整的重 1个月前 (12-31) 24℃ 0评论0喜欢
在过去三年中,来自Meta、Ahana(现为IBM)、Intel和字节跳动的工程师团队联手打造了一款名为Velox的先进执行引擎,它的设计目标是可以在各种计算引擎之间灵活组合使用。在这个过程中,他们开发出了基于C++的Presto worker,这是一个全新的查询执行引擎,它基于Velox构建,此前被称为Project Prestissimo,现在则被命名为Presto 2.0。我们 7个月前 (06-27) 458℃ 0评论2喜欢
火焰图(Flame Graphs)是一种可视化技术,用于展示软件程序的运行时性能。它们可以帮助开发者快速识别程序中的热点(即执行时间最长的部分)。本文将指导您如何在 Linux 和 Mac 平台上生成火焰图。火焰图简介火焰图是由 Brendan Gregg 创建的性能分析工具,它以一种直观的方式展示了程序的调用栈信息。火焰图的每一层代表函 10个月前 (04-10) 639℃ 0评论1喜欢
最近有一个线上 Presto 集群的 Coordinator 节点内存一直处于90%以上,如下图所示:如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号:过往记忆大数据日志里面可以看到几乎每分钟都在 Full GC,但是内存仍然占用很高,所以第一个想法就是存在内存泄漏。但是线上的集群内存是180GB,所以分析这些内存就不能用 1年前 (2024-01-31) 372℃ 0评论2喜欢
当前 velox 支持了 HDFS、S3 以及本地文件系统,其中 HDFS 和 S3 模块是需要在编译的时候显示指定的,比如我们要测试 HDFS 功能,编译 prestissimo 的时候需要显示指定 PRESTO_ENABLE_HDFS=ON,如下:[code lang="bash"]PRESTO_ENABLE_HDFS=ON make release[/code]Velox 解析 HDFS NN endpoint 逻辑核心代码如下:[code lang="CPP"]HdfsServiceEndpoint HdfsFileSystem::getServic 2年前 (2023-06-29) 764℃ 0评论3喜欢
为了方便集群的部署,一般我们都会构建出一个 dokcer 镜像,然后部署到 k8s 里面。Presto、Prestissimo 以及 Velox 也不例外,本文将介绍如果构建 presto 以及 Prestissimo 的镜像。构建 Presto 镜像Presto 官方代码里面其实已经包含了构建 Presto 镜像的相关文件,具体参见 $PRESTO_HOME/docker 目录:[code lang="bash"]➜ target git:(velox_docker) ✗ ll ~/ 2年前 (2023-06-21) 529℃ 0评论8喜欢