- 博客(82)
- 资源 (60)
- 收藏
- 关注
原创 线程2- 多线程共享资源
解决: 第二次访问第二把锁的时候, 不调用lock,调用try-lock ,加锁失败, 等着,放弃已经有的锁,那么别人可以访问你了 (首先都释放,在互相访问)上图 : T1 写独占, t2,t3, t4来了,T1 独占 T1写完了,释放内存, T3 首先访问, 写优先级高, 访问完才 T2 T4 读访问。消费A型号获取锁,B阻塞, all=0 , 释放锁,B获取锁, all=0 , pthread_cond_wait 逻辑正确。消费者A,pthread_mutex_lock(&lock);
2025-09-25 16:15:17
1033
原创 ③.Linux进程通信
open注意事项: 打开fifo文件的时候,read端会阻塞等待write端open, write端同理,也会阻塞等待另外一端打开。1) 管道已满,write阻塞等待. 如果要演示现象,读端一直不读,写一直写。一个写多个读: 存在重复读问题,如果写的还没有覆盖,不会像管道一样读完了就没有了,只能覆盖。2). 有写端,read阻塞等待。文件,软连接,目录都是占用磁盘的,其他的都是伪文件,不用占用磁盘空间,比如管道。实现方式就是队列,一个写,也可以多个读,可以多个读,读走了就没有了 ,
2025-09-22 16:19:51
1004
原创 MF卡协议分析
// MifareClassic 的RFID卡 8KB的一个 EEPROM// 1K: 16个分区(sector),每个分区4个块(block),每个块(block) 16个byte数据// 0-2 扇区用来存储数据, 3扇区用来存储密码// 扇区0,第0个block 不可以读写,用来存储厂商信息的 , 凯哥的卡, 扇区 前面8个字节是卡号MF卡整体结构 分区,块分区最后一个块 // 每个分区,最后一个块用来存储 改区key // 16个字节...
2022-05-13 10:08:15
1136
原创 uart printf 实现 和 c语言 可变参数
可变参数运行时入栈内部结构:编写代码:/* * push_test.c V1.0 * Copyright (c) 2017 Shenzhen 100ask Technology Co.Ltd.All rights reserved. * http://www.100ask.org * 100ask.taobao.com * * 测试平台: ubuntu16.04(64位机器) gcc -m32 -o push_test push_test.c *...
2022-02-12 20:30:07
764
原创 s5pv210汇编实现时钟代码
①。 先选择不使用PLL. 让外部24MHz 原始时钟直接过去,绕过APLL那条路.global clock_initclock_init: ldr r0, =ELFIN_CLOCK_POWER_BASE // 1 设置各种时钟开关,暂时不使用PLL ldr r1, =0x0 // 芯片手册P378 寄存器CLK_SRC:Select clock source 0 (Main) str r1, [r0, #CLK_SRC0_OFFSET] ldr r0, =ELFIN_C...
2021-10-26 20:12:40
462
1
原创 S5PV210的内存地址映射详解
S5PV 210 属于 ARM Cortex-A8架构, 32 位CPU , CPU 设计时就有 32 根 地址线 & 32 根 数据线32 地址线 决定了 CPU 地址空间 为 4G , 2^32 次方4G CPU 地址分配映射:SFRS 256M 地址DRAM1 内存第一个插槽 1G 外界内存DRAM2 .512M内存 1.5G , 210 32 位 为什么只支持 1.5G内存,内存分配地址1.5GROM : 单片机rom一般是flash (闪存)、 或者硬盘 放
2021-02-20 16:49:23
1584
3
原创 ThreadPoolExecuto 线程池 最深刻理解
线程池的理解:代码1:public class Main2 { public static void main(String[] args) throws InterruptedException { /* 参数1:核心线程数,默认启动线程数 * 参数2: 最大启动线程数 * 参数3,参数4, 线程不够的时候,启动的线程,如果60s 内没有在次执行Runnable,那么 被回收 * 参数5: 如果任务超过最.
2020-10-05 12:38:15
754
原创 ios13.7 iPhone/iPad Location-cleaned 驱动下载
Iphone/ipad 最新驱动下载地址:https://download.csdn.net/download/dreams_deng/12523667
2020-09-12 11:25:58
9843
3
原创 Android 实现控件流式布局
要点如下:1. 测量规则:如果父控件是ViewGroup, 调用Measure方法,如果子控件是View,那么调用重写onMeasure测量,调用setMeasureDimension设置宽高子控件onMeasure 中, 必须知道 父控件的 测量规则 // 1. 测量的时候测量多次 // 父容器 给当前 视图的 widthMeasureSpe...
2020-08-03 10:23:15
2462
1
原创 导航栏穿透效果原理图
首先看一下bounds和frame区别:每一个控件都有矩形框、内容区bounds: 以自己内容区为左上角为原点,矩形框左上角到该点的距离frame: 是以父控件内容区左上角为原点坐标contentOffset.x、contentOffset.y:和bounds x、y值一致,内容区和矩形区左上角距离contentInset:内边距...
2020-07-15 10:49:27
1129
原创 微信小程序快速入门学习2
1、 app.json: 全局配置app.wxss: 全局样式2、 home.json: 页面配置3、 数据绑定:<text data-id="{{ title }} ">{{ title }} </text><!-- checkbox 必须要这么写 不能check="true" --><checkbox checked="{{true}} "></checkbox>4. 页面运算:运算:{{ num1+ num...
2020-07-14 09:59:09
1561
原创 css中遇到盒子居中问题
1. 有宽度、高度的盒子 水平 居中 margin:0 auto2. 没有宽度的盒子 水平居中<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> .box{ width: 500px; height: 300px; backg...
2020-07-08 09:14:49
853
原创 ios ble 蓝牙锁开发用例
开发流程:1. 建立中心管家2. 扫描外部设备3. 获取扫描的 外部设备,获取外部设备 , 连接外部设备4. 连接外设 成功,获取 发现服务5. 发现服务 uuid, 发现 服务下 特征值6. 读取 特征值 ,订阅 ble->app 通道 获取app->ble 特征值7. 接收 读取的特征值8. 锁入网,传递psw2 给app9. p1+p2 加密 systemId 鉴权 10. 锁回复 psw3 11.发送 开锁 确认帧代码...
2020-07-04 16:42:15
1502
原创 css3 transition 过渡使用总结
1.案例1 transition: 2s;<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> #test{ width: 200px; height: 200px; border-radius: 50%; background...
2020-06-26 14:10:37
2155
原创 Javascript基础语法总结
1、 内容11.函数中声明变量不使用var 就是全局变量,变量不使用var,属于window的一个属性2.Js数据类型 Number,String,Array,Date3. 调用属性方式4. 时间对象5. js中array 就是java list和stack6. 事件绑定方式27. window api 定时器8. 节点概念代码实现:<!DOCTYPE html><html> <head> <met...
2020-06-25 16:50:55
2455
原创 Android 动态换肤框架原理
1. Android 系统PhoneWindow 源码阅读1.1. Activity实例化 PhoneWindow Activity: final void attach(Context context, ActivityThread aThread, Instrumentation instr, IBinder token, int ident, Application application, Intent intent, A...
2020-05-24 20:19:06
2163
原创 Tinker热修复原理实现
热修复: 方案1: 在已加载类直接替换原有方法, 在原有类的基础上进行修改,无法实现对原有类的进行方法和字段增减 AndFix 会出现部分机型 上热修复失效, 不稳定类加载方案2: APP重新启动,让ClassLoader加载新类1. App 类加载器 ClassLoader下 子类 BaseDexClassLoader 加载 dexElements(classex dex,classex2 dex.....) Elements数组: ...
2020-05-19 16:19:31
1140
原创 Android 进程保活,点击home键 或者 点击back键盘 、锁屏、息屏保证服务器定时器不会阻塞
点击home键保证 或者 点击back键盘 、锁屏、息屏,保活,保证定时器不会被阻塞,如果用户直接杀死App,那么无法保活进程保护状态: android 进程优先级:https://www.cnblogs.com/lixiansheng/p/11359937.html前台进程可视进程: activy有弹框服务进程: activity退出,后台服务在运行后台进程: 没有服务,activity退出空进程**进程管理策略:进程启动分为 冷启动和热启动 热启动:当用户退出某...
2020-05-19 14:41:36
1349
原创 jz2440s3c2440 jtag口、串口、usb devices 使用
1.串口: 串口类型: 针串口 、usb串口的使用1. usb 串口 插入电脑2. 安装串口驱动,安装驱动以后 系统分配com4 窗口3. windows下载串口连接软件,连接串口,进入linux2.jtag烧写口: 针口(开发板10针口),需要排线连接板子和eop usb烧写器有哪些: jlink、op、 eop(jz2440标配)eop功能:1. 烧程序 2. usb 转串口功能1. 排线连接 板子上10针口和 eop ...
2020-05-16 09:58:07
3753
2
原创 appium使用 自动化测试
1. 环境搭建:1. 安装node.js v12.13.0.cnpm淘宝镜像配置:npm install -g cnpm --registry=https://registry.npm.taobao.orgappium,基于node.js实现,用于测试android、ios、混合应用、移动网页应用cnpm install -g appium@1.7.2 : 安装appium...
2020-05-03 19:00:11
5309
1
原创 一次撸玩python基础
1、 注释 2、变量 3、类型转化 4. python打印输出 5. 逻辑运算,条件控制 6. for 循环 7. 字符串函数 8. 列表数组 9. 二维数组 10. python 元组 11. python 字典 12. python 函数# 1. 单行注释'''多行注释'''# 2....
2020-04-27 17:23:36
607
2
原创 google guava-19.0 和 Java中 commons-collections4-4.4 使用
1. HashMap: 键盘不可以重复,值可以重复 Multimap: 键可以重复 HashBiMap: 键与值不能重复,插入以后抛出异常 双键的Map-》Tablepackage com.denganzhi.pp;import java.util.Collection;import java.util.HashMap;import java.util.Hasht...
2020-04-25 19:46:13
914
原创 Java泛型使用总结案例
1. 泛型类使用package com.denganzhi.fangxing;/*** * 泛型类: 申明时使用泛型 * 字母: * T key 表示类型 * E,V 分别代表键值中的key value * E: 代表元素 */ class Student<T1,T2> { private T1 username; private T...
2020-04-25 18:51:17
555
原创 JS模块化 CommonJs规范与ES6规范在浏览器端使用
什么是模块化: 把所有Js写入一个文件,耦合度高 , Js文件拆分 1. 模块化遇到问题 1. 全局变量 污染 * 解决 闭包 2. 避免命令冲突 冲突依赖,A依赖C A依赖B A依赖B 出错 解决: CommonsJs、ES6规范 1.CommonsJs: 服务端代表作品,Nod...
2020-04-21 14:14:13
1348
原创 npm 入门使用
1. 什么是node.js: 可以在服务器运行的js开源代码 使用谷歌的 V8引擎运行js代码, 使用事件驱动、非阻塞、异步IO,Js是单线程的 node奇数版测试版、偶数稳定版本 传统script引入js库问题: 1.比如A依赖jqury, 首先引入A,在引入jquery出问题 2.缺乏库管理系统 CommonsJs为了解决上面带来...
2020-04-21 13:54:40
3238
原创 Java|Android xml定义解析规范
xml 语法: html 于 xml 语法区别: html语法松散, xml语法严谨 html做页面展示,xml做数据存储 html标签预定义,xml标签自定义1. dtd约束使用* 外部dtd:在外部文件中定义dtd * 本地dtd文件:<!DOCTYPE SYSTEM "student.dt...
2020-04-20 21:53:47
844
原创 正则表达式语法|Java正则表达式使用
1. 正则表达式语法使用工具 :RegexBuddy.exe 正则匹配1. 标准字符集合 \n: 换行符 \t: 制表符 \\ \^ \$: 需要特殊转义的 \d : 数字 0-9 任意一个数字 \D : 非数字 \w : 字母 A-Z,a-z,_ 任意一个字母或下划线 \W: 非 字母 A-Z,a-z,0-9,_ \s: 空格...
2020-04-19 21:47:15
793
原创 微信小程序快速入门学习1
1.开发尺寸,屏幕适配: 美工按照: 375*667pt 来做 : 4.7英寸 @2x iphone6/6s/7/8 开发按照: 375*667来下载图片即可, 单位rpx 1rpx=1pt, 小程序根据375*667自动2.小程序构成:单个Pager构成4个文件:2.1. *.js: 数据更新 MVVM体验: data: {...
2020-04-15 19:05:17
3066
原创 Linux 基础命令使用总结
1. 来源:Unix: IBM、惠普 一般 公式 买不起, 用linux Unix: 分支linux 、solaris(sun公司的)、android linux 林纳斯内核版本 发行版本的2个分支: ubuntu系统 redhat系列(centos是redhat的社区版)2. Linux各级目录/bin: 所有用户可以执行命令,单用户可以执行...
2020-04-12 21:46:02
2247
原创 Java线程基础与单例设计
1.概念:Thread 内部就是静态代理,Thread就是代理角色,Runnable就是真实角色Thread 编码:2. 线程状态:新生状态:new Thread就绪状态:start() 以后,等待cpu 调度运行状态: cpu 调度以后阻塞状态:t3.join(); // 把t3线程执行完毕,在执行其他线层Thread.yield(); //暂停自己线程,如...
2020-04-09 22:06:10
690
原创 Android 蓝牙开发中 int ->byte -> hex 转化
1. 首先理解左移、右移: 1<<1 =2 : 1左移1位, 相当于乘2,右移多少位,乘多少个21: 0000 0001 1<<1: 0000 0010 2,超出8位长度丢掉,左边补02>>1 = 1 : 右移, 右边补02: 0000 0010 2 2>>1 0000...
2020-04-07 15:07:29
1458
原创 Android 中 RSA、AES 加密
1. Base64 编码解码编码:结果是string 解码:结果是byte String Tag="denganzhi1"; @RequiresApi(api = Build.VERSION_CODES.O) public void base64Show(View view){ String encode = null; try {...
2020-04-07 10:42:39
1245
2
原创 Android 实现 我的首页背景 图实现 下拉 视差动画展示 全图,松手回弹
要点:1. ImageView 设置: android:scaleType="centerCrop" 中间压缩,两边展示,只显示控件高度2. 监听 ListView 的overScrollBy方法 下拉滑动deltaY: 瞬时变化变量 ListView 的int newHeight = (int) (mImage.getHeight() + Math.abs(deltaY /...
2020-04-07 09:55:17
858
原创 基于TCP手动封装http协议
1. 客户端,浏览器2. 服务端基于 socket的 协议解析服务端实现GET请求启动服务端代码,请求路径:http://localhost:8888/ GET请求直接放入浏览器地址栏即可package com.denganzhi.socket;import java.io.BufferedReader;import java.io.IOException;imp...
2020-04-06 22:11:51
2377
原创 Java中Socket编程 TCP|UDP通信
通信数据源文件:数据源:文件、byteArrayOutputStream、管道、控制台1. 基础概念:1. 地址:Ip地址2. 端口: 计算机中区分不同进程同一个协议下,端口不能重复使用,不同协议可以1024以下端口预留给系统的 比如http 80 ftp 21URL: 统一资源定位符组成: 协议+主机域名+端口+资源文件名3. 数据...
2020-04-05 13:32:41
399
原创 一个用例理解MotionEvent.getX()/getRawX/getScrollY()/childView.scrollBy((int) DX, (int) 0)
1.Android移动方式1. 使用scrollTo/scrollBy 只能影响View的内容移动,并不能改变View本身的位置2. setX , setY: 设置控件相对于父控件位置3. 动画 2. Api 综合理解:getRawX: 获取当前控件相对于屏幕原点坐标getX: 获取当前控件相对于父控件坐标##MotionEvent.getX(): 获取按下点相...
2020-04-02 17:17:08
616
原创 Java实现 多线程、断点下载 (基于HttpURLConnection)
理论基础:1.从服务器获取文件大小,本地创建一个和服务器一样大的临时文件2. 计算分配几个线程去下载服务器上资源,每个线程知道现在文件位置100M 文件线程1下载位置 0-33M线程2下载位置 33-66M线程3下载位置 66—100M3. 开启多个3个线程,每一个线程下载对应的位置4. 所有线程下载完毕,下载完毕注意点:在HTTP协议中可以通过Range头字段指...
2020-04-02 14:48:16
546
原创 Android 图像处理2
图片绘制原理: 1. 绘制背景图 绘制图层 被修改的2. 修改绘制图层3. 绘制修改图层1. 案例1:微信画板布局:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.andro...
2020-04-02 11:06:22
1069
原创 Android 图片优化 【 图片的二次采样】
1. 图片的二次采样,避免图片太大OOM // 避免图片太大挂了 // 默认情况下 每个 anroid 给应用分配最大 堆大小16M (VM heap) public void sendNotification(View view) { // 设置为true,那么不解析图片,获取图片部分信息 BitmapFactory.Options op...
2020-04-01 10:04:41
561
mutipeerConnectivityTest.zip
2020-07-04
Android 动态换肤框架原理
2020-05-24
微信小程序ble开发.zip
2020-07-06
MqttClient.zip
2020-07-03
mj_refresh 上拉、下拉、自定义header、footer、afn子类化案例
2020-06-11
lookxanimation.zip
2020-07-20
gradle-5.6.4-all.zip gradle-5.4.1-all.zip gradle-5.1.1-all.zip gradle-4.10.1-all
2020-10-02
RootUtls工具类.zip
2020-10-20
My Application.zip
2020-08-19
tabbar使用.zip
2020-07-15
MyTableView1.zip
2020-07-14
code_banner.zip
2020-07-14
camera.zip
2020-05-25
UITableView23.zip
2020-06-03
ios scrollview使用总结
2020-06-11
ios 网络、json、 xml 、uiviewView 使用
2020-06-08
server,client 通过aild 通信, 内容提供者案例
2022-12-26
MF卡协议分析 代码 如何用NFC读取 MF卡内容
2022-06-17
修改机器码点亮led2-资料2021-11-21.zip
2021-11-21
s5pv210汇编和C实现时钟代码.zip
2021-10-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅