logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

NDK(二):JNI 的数据结构

JNI(全名Java Native Interface)Java native接口,其可以让一个运行在Java虚拟机中的Java代码被调用或者调用native层的用C/C++编写的基于本机硬件和操作系统的程序。简单理解为就是一个连接Java层和Native层的桥梁。开发者可以在native层通过JNI调用到Java层的代码,也可以在Java层声明native方法的调用入口。

#jvm#java#c++
设计模式 — UML常见符号

(图一)1. 继承(extends)接口与接口之间的继承关系;类与类之间的继承关系;箭头指向方向:子类指向父类;2. 实现(implement)类对接口的实现关系;箭头指向方向:实现类指向接口;3. 关联关系(Association)双向关联:可以有两个箭头或者没有箭头(不推荐);单向关联:有...

#uml#设计模式
Python(应用) — Tesseract图片文字识别(一)

Mac安装Tesseract-OCR安装: brew installtesseract语言库下载地址:https://github.com/tesseract-ocr/tessdata简体中文库:chi_sim.traineddata下载简体中文库chi_sim.traineddata,然后将文件拷贝到到:/usr/local/Cellar/tesseract/3.04...

Flutter渲染机制(二):Element

在Flutter渲染机制(一):Widget 树一文中,我们介绍了 Widget 树,发现每一种类型的 Widget 都会创建与之相对应的 Element,那这个 Element 又是什么,有什么作用呢?Element 是 Widget 的实际内容,并且会根据 Widget 的位置,配置自己在书中的位置。Element 会形成一棵树,有的 Element 有一个子节点,有的有多个子节点。

文章图片
#flutter#android
Kotlin基础 — 操作符:run、with、let、also、apply、takeIf、takeUnless、repeat

概述分析Kotlin的 Standard.kt 代码,主要分为三部分:1. run、with、let、also、apply 的比较2. takeIf、takeUnless、repeat 的使用3. 异常类的使用一、run、with、let、also、apply 的比较所有的总结都源自于代码,所以最终还是要回到代码中找到答案。示例1. run()...

Maven系列(一) — Nexus 下载及配置

Nexus 是 Maven 仓库管理器,如果我们使用 Maven,可以从 Maven 中央仓库下载所需要的构件(artifact),但这会受到Maven 中央仓库是影响 (诸如:带宽),因此我们可以在本地架设一个 Maven 仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。

SPI 机制(一) — ServiceLoader 解析

SPI 全称为`Service Provider Interface`,是JDK内置的一种服务提供发现机制。简单来说,它是一种动态替换发现机制。例如,在设计组件化路由框架的时候就会使用到 SPI 设计思想。

Android 虚拟机 (Dalvik & ART)

我们知道Android的程序虽然也是使用Java/Kotlin语言编码,并生成.class字节码,但并不能运行在JVM上,而是运行在自己的VM上。而Android程序之所以不能在JVM上运行的根本原因是.class字节码文件并不是Android的最终可执行文件,而是一个过渡产物,最终会生成dex文件在Android VM上执行。Dalvik 虚拟机和 ART 虚拟机。

#android#dalvik
到底了