随手记两笔

coder...从来不曾无聊过...因为有些乐趣只有我们自己才懂

jni 方法签名

方法签名的格式为:(形参参数类型列表)返回值。 形参参数列表中,引用类型以L开头,后面紧跟类的全路径名(需将.全部替换成/),以分号结尾。 public native static byte test3_(); 方法签名:()B public native static void tes...

2019-04-26 10:43:32

阅读数 16

评论数 0

音视频

1、声波三要素 频率、振幅、波形。频率代表音阶的高低,振幅代表响度,波形代表音色。 人类听力频率范围:20HZ-----20KHZ 2、数字音频 采样、量化、编码 采样:是指在时间轴上对信号进行数字化 量化:是指在幅度轴上对信号进行数字化,比如用16比特的二进制信号来表示声音的一个采样...

2019-04-23 17:32:55

阅读数 9

评论数 0

jni

1、在jni层回调java对象的时候,参数必须作强转【v7、v8表现不一样,最好是强转为所需要的类型】 2、jni的函数需要返回值的必须写返回值,否则make编译能通过,运行的时候会有很多莫名其妙的错误 ...

2019-04-16 12:59:49

阅读数 11

评论数 0

文字排版

2019-03-20 09:50:55

阅读数 48

评论数 0

flutter

EdgeInsets

2019-03-19 09:53:39

阅读数 22

评论数 0

关于蓝牙服务对应的UUID码

UUID是“Universally Unique Identifier”的缩写,通用唯一识别码的意思。对于蓝牙设备,每个服务都有一个与它对应的UUID(唯一的)。 下面列出一些常用的蓝牙服务UUID: ServiceDiscoveryServerServiceClassID_UUID = '{...

2019-02-28 20:06:03

阅读数 48

评论数 0

android studio快捷键

查看类的方法 ctrl+F12 【inherited 查找keymapping】 ctrl+N [查找类 navigate class] 快速把局部变量变成成员变量 搜快捷键 field

2019-02-28 13:14:47

阅读数 40

评论数 0

dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent关系 伪码表示

public boolean dispatchTouchEvent(MotionEvent ev) { boolean consume = false; if (onInterceptTouchEvent(ev)){ consume...

2019-02-25 15:29:29

阅读数 41

评论数 0

android实现View移动

1、scrollTo 与 ScrollBy 2、动画 [View动画、属性动画] 3、改变布局参数

2019-02-25 11:30:39

阅读数 37

评论数 0

CAS指令

CAS指令执行需要3个操作数,分别是内存位置V,预期旧值A,新值B。CAS指令执行时,当且仅当V所存放的值符合旧值A时,处理器用B更新V存放的值,否则就不执行更新。但是无论是否更新了V的值,都会返回V的旧值。...

2019-02-15 11:02:30

阅读数 51

评论数 0

内存那点事儿

java内存模型: 主内存和工作内存 java内存模型: 定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量操作的底层细节。此处的变量是指实例字段、静态字段和构成数组的对象的元素,不包括局部变量和方法参数,因局部变量和方法参数都是线程私有的,不会共享,自然也不会存在...

2019-02-14 16:01:04

阅读数 59

评论数 0

java动态代理

public class DynamicProxy { public interface IHello{ void sysHello(); } static class IHelloImpl implements IHello{ @Override public void ...

2019-02-14 10:53:28

阅读数 47

评论数 0

C函数指针

void (*Func)(void); 返回值void、无参数的函数指针可以指向任何类型的函数指针,类似于泛型   void * 可以接受任何类型的指针,类似泛型   使用的时候注意转换...

2019-01-25 18:53:43

阅读数 36

评论数 0

utf8判断字符

utf8的规则比较简单: 对于UTF-8编码中的任意字节B,如果B的第一位为0,则B为ASCII码,并且B独立的表示一个字符; 如果B的第一位为1,第二位为0,则B为一个非ASCII字符(该字符由多个字节表示)中的一个字节,并且不为字符的第一个字节编码; 如果B的前两位为1,第三位为0,则B...

2019-01-21 17:40:58

阅读数 34

评论数 0

C语言遇到个坑

    FILE *fp = fopen("test.jpg", "r");     int ich = 0;// 注意ich 必须是int     while ((ich = getc(fp)) != EOF) { ...

2019-01-19 20:25:52

阅读数 42

评论数 0

Thread.stop

stop方法会直接导致正在运行的线程停止,就好比突然给电脑断开电源。 由于stop的暴力停止的特点会导致多线程不安全问题。 比如: A 线程  B线程 A 和 B通过加锁的方式 访问共享变量 N,当A处于同步代码块中操作N的时候,突然 A.stop ,这个时候A会释放锁并且停止运行,B获...

2019-01-10 15:52:27

阅读数 168

评论数 0

线程池 shutdown和shutdwonnow

shutdown 使得线程池不在接收新的任务,已经运行的任务会运行完毕,没运行的任务会被直接抛弃   shutdownnow 使得线程池不在接收新的任务,同时会给正在运行的任务发送Interrupted信号,当运行的线程处于sleep是就会抛出InterruptedException异常,如果...

2019-01-10 15:44:36

阅读数 62

评论数 0

C++ cmakelist 记录一下坑

使用C11的thread时候,注意在不同系统里面编译不一样。有些需要添加pthread库 比如ubuntu中: set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) add_executable(main ${S...

2019-01-06 13:03:57

阅读数 277

评论数 0

C++11 lambda 表达式

语法 [capture](parameters)->return-type{body} 如果没有参数,空的圆括号()可以省略.返回值也可以省略,如果函数体只由一条return语句组成或返回类型为void的话. 下面举了几个Lambda函数的例子: [](int x,...

2018-12-27 18:08:38

阅读数 33

评论数 0

Boost.Asio 的多线程模型

Boost.Asio 有两种支持多线程的方式,第一种方式比较简单:在多线程的场景下,每个线程都持有一个io_service,并且每个线程都调用各自的io_service的run()方法。   另一种支持多线程的方式:全局只分配一个io_service,并且让这个io_service在多个线程之间共...

2018-12-27 10:27:02

阅读数 62

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭