自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 lab4:以time/gettimeofday系统调用为例分析ARM64 Linux 5.4.34

_invoke_syscall函数执行该系统调用内核处理函数,将__invoke_syscall函数的两个参数regs和syscall_fn变为调用syscall_fn(regs),regs中存储着系统调用参数(regs->regs[0-5])和系统调用号(regs->regs[8]),从而执行该系统调用内核处理函数。可以看到ret_to_user的最后是kernel_exit 0负责恢复现场,与保存现场kernel_entry 0相对应,kernel_exit 0的最后会执行eret指令系统调用返回。

2023-05-16 22:03:00 153

原创 Linux操作系统分析lab3:基于VS Code的Linux内核调试环境搭建及start_kernel跟踪分析

继续执行,遇到1号进程kernel_init,,它是所有用户进程的祖先,由kernel_thread函数创建,kernel_thread函数创建一个新的内核线程(实际linux不支持线程所以是一个内核进程),该线程的入口地址是kernel_init()函数。在start_kernel的结尾arch_call_reset_init(),点开函数定义,发现执行了reset_init()函数,再设置一个函数断点"reset_init",继续点击单点跳过进入reset_init函数内部,由0号进程执行。

2023-05-15 23:07:33 147

原创 课程总结报告

以前对计算机的学习多数只停留在理论知识和业务层面,很少有机会去接触到偏低层的东西。虽然因为在实习,没有去线下听老师的课,但从这些PPT和实验中也学到了不少东西。学到了进程的创建调用切换和相关的代码,虽然以后大概率不会去研究这些,但对于以后工作的业务开发与代码实现还是有所帮助的。虚拟化技术是指在一台物理主机上同时运行多个虚拟机(也称为客户机),每个虚拟机都具有自己的操作系统和应用程序。

2023-05-15 22:03:28 133

原创 Linux操作系统分析Lab5:深入理解进程切换

通过对Linux内核进程切换的流程了解和对代码的具体分析,可以总结出:Linux内核进程切换过程中,会保存当前进程的上下文信息,并从调度队列中选中下一个需要执行的进程,然后将下一个进程的上下文信息加载到 CPU的寄存器和内存中,使其能够继续执行。在切换进程时,它会涉及到懒惰 TLB刷新、地址空间切换、锁切换等一系列操作,以确保进程能够正确地运行。最后,它会完成任务切换,并返回前一个进程的调度队列。

2023-04-25 22:36:39 389

原创 Taro微信小程序报错:Failed to load local image resource的解决方案

Taro微信小程序报错:Failed to load local image resource的解决方案

2023-02-14 14:05:53 4903

原创 JS读取服务器文件

JS读取服务器文件

2022-11-21 14:53:03 1333

原创 GO爬虫 —— goquery操作html节点

Go爬虫

2022-06-20 21:36:37 552

原创 Go服务平台项目(一)数据库表的设计与Gendry库的使用

Go服务平台项目(一)数据库表的设计与Gendry库的使用

2022-06-18 16:22:10 587 1

原创 Go服务平台项目(零) 基于gin+gendry+cron的后端GO项目总结

Go服务平台项目(零) 基于gin+gendry+cron的后端GO项目总结

2022-06-17 18:11:22 419

原创 MySQL数据库-命令行操作速查-超精简版

连接数据库:mysql -u 用户名 -p查看当前所有数据库:show datebases;进入数据库:use 数据库名;查看当前数据库所有的表:show tables;查看某个表的字段结构:desc 表名;查询表数据: select * from 表名;创建数据库:create database 数据库名;添加数据:insert into 表名 valuse(值,值);修改数据:添加:alter table 表名 add 字段名 类型 修饰【加的列.

2022-05-28 17:33:03 89

原创 【项目- 网络请求】二次封装axios

当前端从后端接口获取数据时,需要用到axios请求。下面总结了axios封装的详细版(学习)和精简版(直接用)。一、axios封装-详细版文件目录:src / utils / axios.jsimport axios from 'axios';const MODE = import.meta.env.MODE; // 环境变量:用于判断当前代码所运行的环境axios.defaults.baseURL = MODE == 'development' ? '/api' : 'http://api.

2022-05-07 17:20:44 213

原创 Jest测试-四则运算单元测试实验

一、Jest介绍Jest 是 Facebook 出品的一个 JavaScript 开源测试框架。相对其他测试框架,其一大特点就是就是内置了常用的测试工具,比如零配置、自带断言、测试覆盖率工具等功能,实现了开箱即用。Jest 适用但不局限于使用以下技术的项目:Babel,、TypeScript、 Node、 React、Angular、Vue 等。二、Jest安装1.项目安装Jestnpm init -ynpm install -D jest2.package.json 添加脚本"scrip

2022-04-05 22:31:29 1489

原创 字节跳动-武汉飞书前端-一面面经

一、个人介绍自我介绍讲一下技术栈和开发过程中觉得骄傲的事情二、JS基础Javascript常见数据类型如何判断数据的类型对数组进行typeof返回什么null和undefined有什么不同如何判断NaNES6的新特性箭头函数的特性箭头函数和普通函数的区别如何实现一个类原型链是什么JS数组map和set的区别get和post的区别JS用new方法创建实例时发生了什么http和https的区别为什么https的速度要慢一些prototype和__proto__的区别

2022-03-04 19:11:58 1189

原创 从0到1|基于Vite启动一个React项目

1.React + Vite 的环境搭建npm init vite-app 项目名 --template reactcd 项目名npm installnpm run devnpm run build拓展:webpack+react的环境搭建npm install babel -gnpm install webpack -gnpm install webpack-dev-server -g npm install -g create-react-appcreate-react-app

2022-02-16 22:13:44 714

原创 MongoDB入门学习一

一、MongoDB相关概念数据库一个mongodb中可以建立多个数据库。MongoDB的默认数据库为"db",该数据库存储在data目录中。MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中。有一些数据库名是保留的,可以直接访问这些有特殊作用的数据库。admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据

2022-02-13 17:01:07 71

原创 JS高阶函数|节流函数|防抖函数

挖个坑先

2022-01-17 12:57:38 330

原创 React启动遇到webpack报错-解决方案

1.背景昨天买的4k显示器中午刚到,本来心情大好,准备继续写数据库课程项目的代码,结果打开webstorm一运行,好家伙44个errors。明明昨天晚上还运行得好好的,怎么今天就成这样了…唉,只能硬着头皮改呗~2.报错描述报错基本分为两类:1.Module not fount: Error: Can’t resolve ‘XXX’ in ‘XXXX’…2.BREAKING CHANGE : web pack < 5 used to include …3.解决方案1.Modu

2021-12-25 16:53:07 1879

原创 【实用算法】如何随机打乱一个数组?

题目背景:给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组,要求每个数组排列返回的概率相同。常规思路:暴力求解将数组中所有的数都放到数据结构 waiting 中,并初始化打乱后的数组shuffle。循环n次,在第i次循环中(0 < i < n):在waiting中随机抽取一个数num,将其作为打乱后的数组shuffle的第i个元素;从waiting中移除num;public int[] shuffle() { //初始化打乱后的数组 int

2021-11-22 15:09:25 1661

原创 【LeetCode题型总结-01】如何得到有效的括号字符串?

来源:LeetCode hot 10020.有效的括号 301.删除无效的括号[1] 20.有效的括号(easy)给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。题解:1、JAVA题解(构建括号键值对+括号压栈判断栈空)class Solution { public boolean isValid(String s) {

2021-11-19 15:19:20 348

原创 C语言:x=x&(x–1)的含义与运用

int fun(int x){ int countx = 0; while (x) { countx++; x = x & (x – 1); } return countx;}该程序段用于统计整数二进制表达式中“1”的个数。其中:每执行一次x = x & (x – 1)操作,x 二进制表达式中的“1”就会少一个。...

2021-02-27 20:46:18 1596

原创 C语言基础知识复习(1)

1.运算符的优先级2.赋值语句的值例如:a=(b=4)+(c=6) 是一个合法的赋值表达式。(b=4)该表达式的值为4,(c=6)该表达式的值为6。3.const的定义与运用4.指针(*p与&p的区别)5.字符串操作函数6.a++与++a的区别7.sizeof(a)的意思8.短路原理短路原理:对于逻辑语句,电脑为了高效率,在且语句内,前面的判断如果是假的,那么后面的就不在进行直接跳过。...

2021-02-22 21:51:43 648

原创 C语言编程基础——printf格式控制符

背景为牛客网编程题BC14题题目描述:输入一个人的出生日期(包括年月日),将该生日中的年、月、日分别输出。输入描述:输入只有一行,出生日期,包括年月日,年月日之间的数字没有分隔符。输出描述:三行,第一行为出生年份,第二行为出生月份,第三行为出生日期。输出时如果月份或天数为1位数,需要在1位数前面补0。示例:输入:20130225输出:year=2013month=02date=25实现代码:#include <stdio.h>int main(){ in

2021-02-04 23:07:48 287

原创 Python爬虫学习(1)

为了完成毕业设计,从Python零基础开始学习爬虫技术。1.Requests库功能:用于网页请求网页请求方式:GET方法(常用)与POST方法使用GET方式抓取网页源码数据:import requests #导入requests包url = 'http://www.baidu.com/' #将目标网页赋值给一个变量strhtml = requests.get(url) #调用requests库的Get方法获取网页数据,并将其赋值给变量print(str

2021-01-28 20:58:44 226

空空如也

空空如也

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

TA关注的人

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