Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

浅析JNI函数的注册过程

浅析JNI函数的注册过程

我们在Java中调用Native code的时候,一般是通过JNI来实现的,我们只需要在java类中加载本地.so库文件,并声明native方法,然后在需要调用的地方调用即可,至于java中native方法的具体实现,全部交给了Native层。我们要在java中正确地调用到本地代码中对应函数的前提是什么呢?答案就是通过一定的机制建立java中native方法和本地代码中函数的一一对应关系,那么这种机制是什么呢?就是JNI函数的注册机制。JNI函数的注册有两...
Android打造带透明圆弧的ImageView

Android打造带透明圆弧的ImageView

这几天因为项目需求,需要在ImageView上面叠加一层透明圆弧,并且在沿着圆弧的方向显示相应的文字,效果如下图所示:拿到这个需求,首先想到的是自定义一个ImageView来实现此功能,即在onDraw()中绘制圆弧和文字。同时因为要保证圆弧的位置可以任意摆放,圆弧的颜色、透明度以及文字大小、颜色等都是可控的,所以增加了一些自定义属性。实现代码非常简单,如下:1.自定义ImageView:package com.linuxidc.customviewsde...
Android系统Binder机制学习总结

Android系统Binder机制学习总结

一、Binder机制概述在Android开发中,很多时候我们需要用到进程间通信,所谓进程间通信,实现进程间通信的机制有很多种,比如说socket、pipe等,Android中进程间通信的方式主要有三种:1.标准Linux Kernel IPC 接口;2.标准D-BUS接口;3.Binder接口。其中,Binder机制是使用最且最被认可的,因为Binder机制有以下优点:1.相对于其它IPC机制,Binder机制更加简洁和快速;2.消耗的内存相对更少;3.传...
Python函数递归和生成器

Python函数递归和生成器

一、什么是递归如果函数包含了对其自身的调用,该函数就是递归的。递归做为一种算法在程序设计语言中广泛应用,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。例如,要计算1-9的9位数字的乘积,直观的算法是1*2*3*4*5*6*7*8*9,如果要计算1-10000的乘积,直观的算法就难于实现出,而递归就可以很简单的实现。请看示例:1 def fa...
Swift之“闭包”的应用

Swift之“闭包”的应用

相信了解swift的,都应该知道,swift舍弃了OC中的block,但是block的应用又比较灵活,作用也很强大。swift中当然不能缺少这样的设计模式,于是推出了闭包,其功能和作用与OC的block有着异曲同工之妙,但是在写法上,差距比较大。本文,主要是来一探“闭包”的使用方法。一:闭包简介 1,闭包也是一个函数,函数是什么?函数就是一段代码块。这个没有什么可纠结的。 2,闭包的使用方法,闭包主要有两种使用方法,1),闭包在方法...
Swift中桥接头文件的建立

Swift中桥接头文件的建立

桥接头文件主要应用于swift和oc的混编。这里有两种创建方式。方法一:适用于项目(swift项目)之前没创建过oc的类,或(oc的项目)swif的类这里以swift项目为例既然没用过就创建一个呗Commond+n然后创建,这是会出来一个提示选择Create Bridging Header就可以了,这样项目中就有这个桥接头文件了。在桥接头文件里直接 import “类名.h”就可以使用了。方式二:适用于任何情况,想怎么玩怎么玩。1)...
Nginx 空指针间接引用漏洞(CVE-2016-4450)

Nginx 空指针间接引用漏洞(CVE-2016-4450)

nginx 空指针间接引用漏洞(CVE-2016-4450)发布日期:2016-05-13更新日期:2016-06-02受影响系统:Nginx Nginx描述:CVE(CAN) ID: CVE-2016-4450Nginx是一款使用非常广泛的高性能web服务器。Nginx保存客户端请求到临时文件的代码中存在空指针间接引用漏洞,畸形的请求可造成拒绝服务。<*来源:Moritz Muehlenhoff *>建议:厂商补丁:Nginx-----目...
<< 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 >>