内外皆秀
码龄6年
关注
提问 私信
  • 博客:196,881
    动态:25
    196,906
    总访问量
  • 85
    原创
  • 2,306,611
    排名
  • 61
    粉丝
  • 0
    铁粉

个人简介:从小到大,不停奔跑 人生是一场难得的修行,不要轻易的交白卷

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
  • 加入CSDN时间: 2018-11-27
博客简介:

qq_43824618的博客

查看详细资料
个人成就
  • 获得240次点赞
  • 内容获得38次评论
  • 获得671次收藏
  • 代码片获得301次分享
创作历程
  • 7篇
    2021年
  • 92篇
    2020年
  • 16篇
    2019年
  • 1篇
    2018年
成就勋章
TA的专栏
  • 程序
    51篇
兴趣领域 设置
  • 服务器
    linux
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

180人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Linux中644、755、777权限详解

在linux系统中,文件或目录的权限分为3种:1.读权限 r (代表数字为4)2.写权限 w(代表数字为2)3.执行权限 x (代表数字为1)所以我们常见的文件权限有:444 r--r--r--600 rw-------644 rw-r--r--666 rw-rw-rw-700 rwx------744 rwxr--r--755 rwxr-xr-x777 rwxrwxrwx从左至右,1-3位字母代表文件所有者(User)的权限,4-6位字母代表同组用户(Group)的.
原创
发布博客 2021.02.24 ·
12005 阅读 ·
8 点赞 ·
0 评论 ·
16 收藏

抖音、吃鸡、王者荣耀:你的自律,是如何被顶级产品经理一步一步毁掉的

文章概要01你的沉迷跟这个时代有关这是个特别容易沉迷的时代。抖音、煲剧、王者荣耀、吃鸡游戏……你的时间和注意力悄悄被它们偷走,却从不说再见。或许你也纳闷,自己的自制力怎么这么差了?但我想说,这事可能不完全怪你。《欲罢不能:刷屏时代如何摆脱行为上瘾》分享到:你的沉迷跟这个时代有关。作者亚当·奥尔特,是普林斯顿大学的心理学博士。他在这本书里以大量科学研究为基础,揭示了一个细思极恐的真相:任何人都会成为瘾君子,商业公司为了让你在科技产品、网络游戏中无法自拔,布下了一个个裹在诱饵
转载
发布博客 2021.02.23 ·
1021 阅读 ·
4 点赞 ·
0 评论 ·
0 收藏

蓝牙查看和分析btsnoop.log

在做BLE的过程中好多人遇到这些问题: 1)为什么远端设备发给我的消息我没收到? 2)为什么远端设备发给我的消息和我接收到的不一样? 3)为什么我的消息发布出去? 等等。想要知道为什么,除了经典的logd(万能的printf)之外,Android蓝牙中有一个很重要的debug...
转载
发布博客 2021.02.20 ·
6565 阅读 ·
3 点赞 ·
0 评论 ·
21 收藏

蓝牙HCI协议介绍

1.HCI简介HCI层为上层提供了一个统一访问hci控制器的接口,其接口为一系列的指令和事件。主机(用户软件)对蓝牙芯片的控制都是通过协议规范中定义的指令,来控制蓝牙控制器(蓝牙芯片)进入相应的工作模式,例如在蓝牙启动的时候,主机会发送复位,设置蓝牙名称、设置pincode等指令,当控制器完成相关的操作后会返回相应的事件通知主机。蓝牙核心架构抽象为三层: User Application(Host)...
原创
发布博客 2021.02.20 ·
4145 阅读 ·
3 点赞 ·
2 评论 ·
19 收藏

蓝牙状态机(StateMachine)

StateMachine是一个层次状态机:一个状态可以有多个子状态的状态机。状态机中的状态需继承基类State,并实现成员函数processMessage,从而对收到的Message进行处理;一个状态对应于一个<State>对象,并且状态必须实现<processMessage>方法,可选的实现方法是<enter/exit/getName>,<enter/exit>方法对应于构造和析构函数,它们被用于初始化和清理状态。StateMachine的构造函数都
原创
发布博客 2021.02.04 ·
1533 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

蓝牙的四种音频编码:Apt-X、SBC、AAC、LDAC

以下为常用的几种音频传输格式和支持厂商。按照编码的码率由低到高列举。 SBC(Sub-band coding,子带编码) 最早的格式应该是SBC,SBC是A2DP(Advanced Audio Distribution Profile,蓝牙音频传输协议)协议强制规定的编码格式。所有的蓝牙都会支持这个协议,所以所有的蓝牙音频芯片也会支持这个协议。SBC编码在传输时的码率具体参数未找到,根据sony官网宣传给出的资料,是:328Kbps,44.1KHZ。这个码率其实和高品质的MP3差不多。但因为蓝牙.
原创
发布博客 2021.01.25 ·
11700 阅读 ·
0 点赞 ·
0 评论 ·
7 收藏

JAVA基础知识(类、对象、接口)

类和对象1.概念类是一类事物的抽象概念,它不指一个具体事务,而是将一类事物所具有的特点进行抽取,形成一个范围指向的概念。对象指某一类中的具体指代,表示的是一个具体事物。类生成对象的过程叫做实例化。2.类的声明类在使用前,必须先声明,然后才可以声明变量,创建对象。声明语法如下:[标识符] class 类名{//类的属性//类的方法}[标识符]可以是public、private、protected或者完全省略这个标识符。private:私有访问...
原创
发布博客 2021.01.15 ·
1534 阅读 ·
2 点赞 ·
2 评论 ·
6 收藏

秋招的第一份offer(关键点一定要敢于尝试)

关键点一定要敢于尝试总有人在感慨时间,因为时间真的可以改变一切,唯一不变的,可能就是一直在变。高考这个关键点过后,日光倾城而下,大学时光摆上的印记也即将淡化,很快就又到了一个人生的关键点。毕业后的去向,这是每个大学生都必须深思的问题,对于个人而言,每个选择都是伟大的,但只有一个选择,可以更好的改变自己。以下就我本人的秋招经历及经验供大家参考。我在大二时决定了就业这个方向,一是本人成绩不是非常优秀,但还行;二是大学之后,刻苦能力相比高中也减了维度,还有伴随着成长,会占有你时间的事情也会增多;.
原创
发布博客 2020.12.27 ·
273 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

四大组件之Service

service基本概念Service(服务)是一种计算型组件,用于在后台执行一系列计算任务,主要处理一些需要在后台长期运行的任务或耗时较长的操作,无用户界面。由于Service组件工作在后台,故用户无法直接感知它的存在。Service组件和 Activity组件略有不同,Activity组件只有一种运行模式,即Activity处于启动状,但Service组件却有两种状态:启动状态和绑定状态。当Service组件处于启动状态时,这个时候Service内部可以做一些后台计算,并不需要和外界有直接交互。
原创
发布博客 2020.12.23 ·
688 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android Fragment简介

Fragment概述介绍Fragment是一种可以嵌入在活动中的UI片段,能够让程序更加合理和充分地利用大屏幕的空间,出现的初衷是为了适应大屏幕的平板电脑,可以将其看成一个小型Activity,又称作Activity片段。使用Fragment可以把屏幕划分成几块,然后进行分组,进行一个模块化管理。Fragment不能够单独使用,需要嵌套在Activity中使用,其生命周期也受到宿主Activity的生命周期的影响。2.特点·Fragment依赖于Activity,不能独立存在·一个Act
原创
发布博客 2020.12.17 ·
434 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android开发基础(四大组件及Intent)

一、Android开发的四大组件:1.Activity:(通常展现一个可视化的用户界面)(1)一个Activity通常就是一个单独的屏幕(窗口)。(2)Activity之间通过Intent进行通信。(3)Android应用中每个Activity都必须要在AndroidMainfest.xml配置文件中声明。2.Service:(用于在后台完成用户指定的操作)(1)service分为两种:a. started(启动):应用程序组件(如activity)调用startServi.
原创
发布博客 2020.11.27 ·
3309 阅读 ·
4 点赞 ·
2 评论 ·
8 收藏

常用adb命令

查看当前所有连接的模拟器设备:adb devices 获取管理员权限:adb root 挂在分区(可使系统分区重新可写):adb remount 查看模拟器log信息:adb logcat > +创建的文件名 (一般geany +创建的文件查看) 查看adb版本信息:adb version 进入shell模式:adb shell 重启模拟器:adb reboot 开启adb服务:adb star-server 关闭adb服务:adb kill-server 导入文件到模拟器:adb
原创
发布博客 2020.11.27 ·
152 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

蓝牙协议及Git常用命令

蓝牙相关蓝牙:支持设备短距离通信的无线技术,10米内,可实现固定设备移动设备的数据交换。车载蓝牙:车内无线免提系统,蓝牙与手机连接,可以在汽车行使中接打电话。模块功能:1.蓝牙配对 2.蓝牙电话 3.蓝牙音乐。蓝牙协议:HFP:蓝牙设备控制电话(接听、挂断、是否支持语音拨号等)。A2DP:蓝牙音频传输模型协定,采用耳机内的芯片堆栈数据,达到声音的高清晰度。AVRCP:音频/视频远程控制规范,定义如何控制流媒体特征(暂停、停止、音量控制等)。PBAP:电话号码簿访问协议。S
原创
发布博客 2020.11.26 ·
310 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

随机数函数rand()和srand()的区别

引子相信大家对于rand()函数并不陌生,我们常用它来生成伪随机数,但是为什么有时候我们生成的随机数并不符合预期呢?或者说,为什么有时候我们生成的随机数并不随机?如何有效地生成伪随机数呢?rand()rand()函数是使用线性同余法做的,它并不是真的随机数,因为其周期特别长,所以在一定范围内可以看成随机的。rand()函数不需要参数,它将会返回0到RAND_MAX之间的任意的整数。如果我们想要生成一个在区间[0, 1]之内的数,那么我们可以写出如...
转载
发布博客 2020.09.02 ·
9859 阅读 ·
11 点赞 ·
2 评论 ·
27 收藏

linux中各种锁机制的使用与区别详解

前言:相信需要了解这方面的知识的小伙伴,已经基本对进程间通信和线程间通信有了一定了解。例如,进程间通信的机制之一:共享内存(在这里不做详解):多个进程可同时访问同一块内存。如果不对访问这块内存的临界区进行互斥或者同步,那么进程的运行很可能出现一些不可预知的错误和结果。接下来我们了解三种常见的Linux下的互斥操作—>锁。1.互斥锁(mutex) 特点:对于读者和写者来说。只要有一方获取了锁,另一方则不能继续获取,进而执行临界区代码。创建锁: 有两种方法创建互斥锁,静态方式和动态
转载
发布博客 2020.08.20 ·
733 阅读 ·
2 点赞 ·
1 评论 ·
4 收藏

有1000桶酒,其中1桶有毒。小老鼠喝了,毒性会在1周后发作。现在我们用小老鼠做实验,要在1周后找出那桶毒酒,问最少需要多少老鼠?

思路就是将桶的数量用二进制表示,2^10=1024,也就是10只小鼠最多能验出1024桶酒中哪个有毒。小鼠编号1-10。酒桶也编号1-1000,然后把酒桶的编号转变为二进制数。如果第几位是1,就把这桶酒给第几个小鼠喝。最后大概每个小白鼠喝500酒桶里的混合液。下面具体解释一下。将桶数编号为二进制 第几个小白鼠喝对应位置标号为1的酒1 0000000001 第1号老鼠喝2 0000000010 第2号老鼠喝3 0000000011 第1号和第2号老鼠喝4 0000000100 第3号老鼠喝
原创
发布博客 2020.08.20 ·
3206 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

TCP传递时的粘包问题及解决

socket网络编程中,都是端到端的通信。TCP是面向连接的,收发两端都要有成对的socket,因此,发送端为了将多个发往接收端的包更有效的发到对方,使用了优化方法(Nagle算法,为了减少网络中报文段的数量),将多次间隔较小、数据量小的数据,合并成一个大的数据块,然后进行封包。这样,接收端,就难于分辨出来了,必须提供科学的拆包机制。对于非面向连接的UDP,不会使用块的合并优化算法,实际上目前认为,是由于UDP支持的是一对多的模式,所以接收端的skbuff(套接字缓冲区)采用了链式结构来记录每一个到达的
原创
发布博客 2020.08.19 ·
424 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

求两个字符串的最长公共子串

问题:有两个字符串str1和str2,求出两个字符串中最长公共子串长度。比如:str1=acbcbcef,str2=abcbced,则str1和str2的最长公共子串为bcbce,最长公共子串长度为5。算法思路:1、把两个字符串分别以行和列组成一个二维矩阵。2、比较二维矩阵中每个点对应行列字符中否相等,相等的话值设置为1,否则设置为0。3、通过查找出值为1的最长对角线就能找到最长公共子串。针对于上面的两个字符串我们可以得到的二维矩阵如下:从上图可以看到,str1和str2共有
转载
发布博客 2020.08.10 ·
735 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C++中使用new与不使用new创建对象的区别

一、实例使用new创建对象:CTest* pTest = new CTest();delete pTest;不使用new创建对象:CTest mTest;使用new,用一个指向类对象的指针来接收;不使用new,直接定义一个类对象。二、区别使用new创建的特点:new创建类对象使用完需delete销毁。new创建类对象需要指针接收,一处初始化,多处使用。new创建对象直接使用堆空间,而局部不用new定义类对象则使用栈空间。new对象指针用途广泛,比如作为函...
原创
发布博客 2020.07.29 ·
1908 阅读 ·
4 点赞 ·
0 评论 ·
13 收藏

你真的会写内存拷贝程序吗

写一个函数,完成内存移动(拷贝),并为其写一个简单的测试用例来进行测试。够简单的吧?有的同学很快就写出了答案,详见程序清单1与程序清单2。程序清单 1 V0.1版程序void MyMemMove(char *dst,char *src,int count){ while(count--) { *dst++ = *src++; }} 程序清单 2 测试用例void Test(){ char p1...
原创
发布博客 2020.07.13 ·
291 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏
加载更多