写点什么

jni

0 人感兴趣 · 20 次引用

  • 最新
  • 推荐

Android C++ 系列:Linux 信号(一)

用户头像
轻口味21 小时前

本文介绍了信号的编号,信号机制,信号产生的种类,信号产生的原因,以及进程处理信号的行为,信号集处理函数等。

Android C++ 系列:Linux 进程间通信 (二)

用户头像
轻口味11 月 25 日

本文介绍了mmap函数:mmap可以把磁盘文件的一部分直接映射到内存,这样文件中的位置直接就有对应的内存 地址,对文件的读写可以直接用指针来做而不需要read/write函数。

https://static001.geekbang.org/infoq/7f/7fbcd28656ebe1ebf2b6cc74130855fe.png?x-oss-process=image/resize,w_416,h_234

Android C++ 系列:Linux 进程 (三)

用户头像
轻口味11 月 23 日

本文介绍了僵尸进程和孤儿进程的概念解决方案。僵尸进程: 子进程退出,父进程没有回收子进程资源(PCB),则子进程变成僵尸进程;孤儿进程: 父进程先于子进程结束,则子进程成为孤儿进程,子进程的父进程成为1号 进程init进程,称为init进程领养孤儿进程。

https://static001.geekbang.org/infoq/7f/7fbcd28656ebe1ebf2b6cc74130855fe.png?x-oss-process=image/resize,w_416,h_234

Android C++ 系列:Linux 进程 (二)

用户头像
轻口味11 月 22 日

本文介绍了进程原语:fork和exec。 fork调用一次返回两次:父进程中返回子进程ID ;子进程中返回0;读时共享,写时复制。

https://static001.geekbang.org/infoq/7f/7fbcd28656ebe1ebf2b6cc74130855fe.png?x-oss-process=image/resize,w_416,h_234

Android C++ 系列:Linux 进程 (一)

用户头像
轻口味11 月 21 日

本文介绍了进程的基本概念,进程控制块信息,fork和exec两个主要的系统调用。以及进程环境的修改及获取,进程状态的修改与获取。

https://static001.geekbang.org/infoq/65/65bdb21624feca43c33f1826feeb19f4.jpeg?x-oss-process=image/resize,w_416,h_234

Android C++ 系列:Linux 文件系统 (二)

用户头像
轻口味11 月 20 日

本文介绍了Virtual Filesystem(VFS)虚拟文件系统及其原理,以及stat、chmod、chown、utime等常用文件操作函数以及mkdir、rmdir、readdir等目录操作函数。

https://static001.geekbang.org/infoq/65/65bdb21624feca43c33f1826feeb19f4.jpeg?x-oss-process=image/resize,w_416,h_234

Android C++ 系列:Linux 文件系统 (一)

用户头像
轻口味11 月 19 日

本文介绍了经典的ext2文件系统的块结构:超级块、块组描述符表(GDT)、块位图、inode位图(inode Bitmap)。数据块(Data Block) 根据不同的文件类型对应情况,并介绍了数据块寻址方式。

https://static001.geekbang.org/infoq/65/65bdb21624feca43c33f1826feeb19f4.jpeg?x-oss-process=image/resize,w_416,h_234

Android C++ 系列:Linux 文件 IO 操作 (二)

用户头像
轻口味11 月 18 日

本文介绍了read/write的系统调用,以及阻塞、非阻塞相关的概念以及配置方式,等待超时方式。还介绍了lseek、fcntl、ioctl文件操作相关的系统调用。

https://static001.geekbang.org/infoq/ce/ce6feaa003ffc2b41c79286866c2070d.jpeg?x-oss-process=image/resize,w_416,h_234

Android C++ 系列:Linux 文件 IO 操作 (一)

用户头像
轻口味11 月 17 日

文本介绍了Linux下的文件操作命令、系统调用、API接口等。并介绍了C标准函数与系统函数的区别,PCB概念等。

https://static001.geekbang.org/infoq/c8/c80182db0d94123580098f024c7f1c36.png?x-oss-process=image/resize,w_416,h_234

Android C++ 系列:访问 Assets 文件夹

用户头像
轻口味11 月 16 日

今天我们介绍了Android Assets文件夹使用,包括Java层和JNI层,并详细介绍了JNI层AAssetManager接口的使用。

https://static001.geekbang.org/infoq/c8/c80182db0d94123580098f024c7f1c36.png?x-oss-process=image/resize,w_416,h_234

Android C++ 系列:JNI 操作 Bitmap

用户头像
轻口味11 月 15 日

本文介绍了Android Bitmap相关知识,以及在JNI层操纵Bitmap:检索Bitmap对象信息、访问原生像素缓存等,并介绍了JNI层旋转、镜像Bitmap的操作实战。

https://static001.geekbang.org/infoq/c8/c80182db0d94123580098f024c7f1c36.png?x-oss-process=image/resize,w_416,h_234

Android C++ 系列:JNI 中的线程操作

用户头像
轻口味11 月 14 日

本文介绍了通过C语言创建线程的方法和C层等待线程返回的方法,以及JNI提供的AttachCurrentThread 和 DetachCurrentThread方法,通过该方法将C线程附着到Java虚拟机,同时我们还介绍了JNI_OnLoad方法和JavaVM结构。

https://static001.geekbang.org/infoq/c8/c80182db0d94123580098f024c7f1c36.png?x-oss-process=image/resize,w_416,h_234

Android C++ 系列:JNI 调用时的异常处理

用户头像
轻口味11 月 13 日

当发生异常时,一定要先处理异常,然后才能继续执行后面的步骤。如果不是需要立即返回的,那么就通过 ExceptionClear清除这次异常,然后在进行其他的处理。对于在 Native 中发生了异常,需要让 Java 层去处理了,则在 Native 中抛出对应的异常,Java层捕获。

https://static001.geekbang.org/infoq/c8/c80182db0d94123580098f024c7f1c36.png?x-oss-process=image/resize,w_416,h_234

Android C++ 系列:JNI 调用时缓存字段和方法 ID

用户头像
轻口味11 月 11 日

之前分享的JNI操作是基础,基于应用到实战中就要讲究各种技巧,用以提升效率。本文提到JNI调用时字段和方法ID缓存其实最终的方案还是以初始化时缓存为主,是在实际开发中总结出来的。

https://static001.geekbang.org/infoq/c8/c80182db0d94123580098f024c7f1c36.png?x-oss-process=image/resize,w_416,h_234

Android C++ 系列:认识 JNI

用户头像
轻口味11 月 10 日

本介绍了JNI概念以及JNI的作用、JNI提供的接口,以及我们常用到的一些使用了JNI的开源程序。

https://static001.geekbang.org/infoq/c8/c80182db0d94123580098f024c7f1c36.png?x-oss-process=image/resize,w_416,h_234

Android C++ 系列:JNI 调用 Java 类的构造方法和父类的方法.md

用户头像
轻口味11 月 9 日

本文讲解了JNI层创建Java层对象的两种方法(通过NewObject一次性创建和通过AllocObject 和CallNonvirtualVoidMethod分布创建的方法)和如何在JNI层调用Java层类对象的父类方法的方法。对一些复杂的项目使用JNI特性提供了一些思路。

Java 筑基 - JNI 到底是个啥

用户头像
码农参上8 月 18 日

在前面介绍Unsafe的文章中,简单的提到了java中的本地方法(Native Method),它可以通过JNI(Java Native Interface)调用其他语言中的函数来实现一些相对底层的功能,本文我们就来顺藤摸瓜,介绍一下jni以及它的使用。

Java 的这个强大功能,很多人都不知道

​​​​​​摘要:大多数框架采用单一的语言所开发。JNI这项Java中提供的强大功能,却逐渐的被人遗忘了。

https://static001.geekbang.org/infoq/a2/a260e7abf737e4158384366b2b510401.jpeg?x-oss-process=image/resize,w_416,h_234

我看 JAVA 之 Object & JNI

用户头像
awen2 月 26 日

注:基于jdk11 我看JAVA系列 主要是针对JDK源码的学习,沉淀 本章介绍了Object类和JNI的使用

https://static001.geekbang.org/infoq/c4/c4d3c9f925af9a38204a49d498975c67.png?x-oss-process=image/resize,w_416,h_234

java 是如何调用 native 方法?hotspot 源码分析必会技能

用户头像
诸葛小猿2020 年 11 月 14 日

为什么到看JDK源码时,到native方法就没有了?native方法是干啥的?在哪里能看到native方法?java是如何调用native方法的?今天,就通过实际模拟,看看java是如何调用native方法的。

jni_jni资料文章-InfoQ写作平台