查漏补缺!抖音四面被拒,再战头条终获offer,经典好文

查漏补缺!抖音四面被拒,再战头条终获offer,经典好文,第1张

概述前言首先介绍一下自己,计算机水本,考研与我无缘。之前在帝都某公司算法部实习,公司算大公司吧,然而个人爱好偏开发,大二的时候写个一个app,主要是用各种框架。JNI简介JNI(JavaNativeInterface英文缩写),译为Java本地接口。是Java众多开发技术中的一门技术,意在利用本地代码,为Jav 前言

首先介绍一下自己,计算机水本,考研与我无缘。之前在帝都某公司算法部实习,公司算大公司吧,然而个人爱好偏开发,大二的时候写个一个app,主要是用各种框架。

JNI 简介

JNI (Java Native Interface英文缩写),译为Java本地接口。是Java众多开发技术中的一门技术,意在利用本地代码,为Java程序提供更高效、更灵活的拓展。尽管Java一贯以其良好的跨平台性而著称,但真正的跨平台非C/C++莫属,因为当前世上90%的系统都是基于C/C++编写的。同时,Java的跨平台是以牺牲效率换来对多种平台的兼容性,因而JNI就是这种跨平台的主流实现方式之一。

总之,JNI是一门技术,是Java 与C/C++ 沟通的一门技术。首先,来回顾下AndroID的系统架构图。

我们来简单介绍下每一层的作用。

linux层linux 内核

由于AndroID 系统是基础linux 内核构建的,所以linux是AndroID系统的基础。事实上,AndroID 的硬件驱动、进程管理、内存管理、网络管理都是在这一层。

硬件抽象层

硬件抽象层(HarDWare Abstraction Layer缩写),硬件抽象层主要为上层提供标准显示界面,并向更高级别的 Java API 框架提供显示设备硬件功能。HAL 包含多个库模块,其中每个模块都为特定类型的硬件组件实现一个界面,例如相机或蓝牙模块。当框架 API 要求访问设备硬件时,AndroID 系统将为该硬件组件加载对应的库模块。

系统运行库和运行环境层AndroID Runtime

AndroID 5.0(API 21)之前,使用的是Dalvik虚拟机,之后被ART所取代。ART是AndroID *** 作系统的运行环境,通过运行虚拟机来执行dex文件。其中,dex文件是专为安卓设计的的字节码格式,AndroID打包和运行的就是dex文件,而AndroID toolchain(一种编译工具)可以将Java代码编译为dex字节码格式,转化过程如下图。

如上所示,Jack就是一种编译工具链,可以将Java 源代码编译为 DEX 字节码,使其可在 AndroID 平台上运行。

原生C/C++ 库

很多核心 AndroID 系统组件和服务都是使用C 和 C++ 编写的,为了方便开发者调用这些原生库功能,AndroID的Framework提供了调用相应的API。例如,您可以通过 AndroID 框架的 Java OpenGL API 访问 OpenGL ES,以支持在应用中绘制和 *** 作 2D 和 3D 图形。

应用程序框架层

AndroID平台最常用的组件和服务都在这一层,是每个AndroID开发者必须熟悉和掌握的一层,是应用开发的基础。

Application层

AndroID系统App,如电子邮件、短信、日历、互联网浏览和联系人等系统应用。我们可以像调用Java API Framework层一样直接调用系统的App。

更多学习和讨论,欢迎加入我们的知识星球!

点击这里加入我们吧!

群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的AndroID交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。

圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。

这里有2000+小伙伴,让你的学习不寂寞~·

总结

以上是内存溢出为你收集整理的查漏补缺!抖音四面被拒,再战头条终获offer,经典好文全部内容,希望文章能够帮你解决查漏补缺!抖音四面被拒,再战头条终获offer,经典好文所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1055414.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存