自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 ADB调试学习

ADB,即,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。

2023-09-10 15:38:21 197 1

原创 git学习记录

git是一个开源的分布式版本控制系统由 Linus Torvalds开发,可以通过命令将代码上传到仓库,也可以将仓库的代码克隆到本地。

2023-08-07 17:41:00 113 1

原创 Linux网络编程 | Socket、TCP、HTTP的区别和关系

Linux网络编程部分,介绍了socket、tcp、http的区别

2023-07-22 22:15:25 270

原创 虚拟机出现问题 rm: cannot remove Read-only file system

虚拟机出现rm: cannot remove Read-only file system问题 ,不能删除文件,或者电脑开机进入initramfs无法正常启动

2023-07-20 22:43:58 4577

原创 Linux网络编程 | Socket编程

TCP 缺点:慢,效率低,占用系统资源高,易被攻击,TCP 在传输数据之前, 要先建立连接,这会消耗时间,而且在数据传递时,确认机制,重传机制,拥塞 机制等都会消耗大量时间,而且要在每台设备上维护所有的传输连接,事实上, 每个连接都会占用系统的 CPU、内存等硬件资源。②UDP 的优点:快速,比 TCP 稍安全,UDP 没有 TCP 的握手,确认,窗口,重传,拥塞控制等机制,UDP 是一个无状态的传输协议,所以它在传递数据时非常 快。服务器监听客户端的请求,并不需要知晓客户端的ip信息。

2023-07-19 16:24:32 109

原创 Linux系统编程 | 线程

进程是程序执行时的一个实例,是担当分配系统资源(CPU时间、内存等)的基本单位。在面向线程设计的系统中,进程本身不是基本运行单位,而是线程的容器。程序本身只是指令、数据及其组织形式的描述,进程才是程序(那些指令和数据)的真正运行实例。一个进程在同一时刻只做一件事情。有了多个控制线程后,在程序设计时可以把进程设计成在同一时刻做不止一件事,每个线程各自处理独立的任务。相比之下,1.线程更为节省资源。而且切换效率快2.线程间通信更加方便。

2023-07-14 14:06:42 89 1

原创 linux进程间通信

IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。它可以看成是一种特殊的文件,对于它的读写也可以使用普通的read、write 等函数。当一个管道建立时,它会创建两个文件描述符:fd[0]为读而打开,fd[1]为写而打开。2. 它只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之间)。1. 它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。管道通信:(通常指的是无名管道)

2023-07-14 14:02:41 77 1

原创 LINUX 进程编程(占坑)

作用—系统初始化 开机启动的第一个进程 (ID为1 收留孤儿进程)那么A叫做父进程,B叫做子进程,父子进程是相对的概念,理解为人类中的父子关系。每个进程都有一个非负整数表示的唯一ID,叫做pid,类似身份证。实际工作中,配合grep来查找程序中是否存在某一个进程。作用—进程调度,分配各个进程的cpu、网络等资源。Pid=0: 称为交换进程(swapper)问1. 什么是程序,什么是进程,有什么区别?问4. 什么叫父进程,什么叫子进程?问2. 如何查看系统中有哪些进程?

2023-07-14 14:02:15 88 1

原创 Linux | 文件编程

Linux系统编程之文件编程概述

2023-07-14 13:42:51 135 1

原创 Linux系统编程 | 概述

linux操作系统入门的记录

2023-07-11 09:29:49 163 1

原创 leetcoode刷题4 | 链表part02

两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。首先使用虚拟头结点的方式,定义出一个虚拟的头结点并定义cur指针指向头结点。

2023-04-23 00:03:14 127 1

原创 leetcode刷题3 | 链表、203.移除链表元素、 707.设计链表、206反转链表

定义三个指针,pre、cur、tmp,pre负责记录新生成链表的头部,cur负责遍历元素,tmp负责暂存旧链表的头部,每次遍历tmp先储存下个链表的头部即cur->next ,然后cur的next指向新链表的头部即pre,最后pre向前更新,cur更新为旧链表的头部tmp。思路:虚拟出一个头结点,则无需判断被删除的结点是否为头结点,循环遍历链表删除目标结点,返回表头即可。1.普通解法:新建一个链表B,遍历A并不断给B,这样做比较简单,但是会占用大量系统资源。,请你反转链表,并返回反转后的链表。

2023-04-21 21:18:54 206 1

原创 leetcode刷题2 | 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II ,

找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。思路在于原来的数组本身就是从小到大排序,因此我们用两个指针从两边分别向内遍历,判断元素平方的大小,将较大值依次逆序放入答案数组中,即可实现答案数组由小到大排序。输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100]输入:nums = [-7,-3,2,3,11] 输出:[4,9,9,49,121]

2023-04-20 22:24:39 169

原创 leetcoode刷题1 | 数组理论基础、704.二分查找、27.移除元素

题目来源:力扣 力扣二分查找是给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。

2023-04-20 02:46:45 341 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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