获得徽章 0
- 算法就是函数,函数体就被解析成一条条指令存储起来;数据就用变量存储起来。
执行程序时,就是执行一条条机器指令叭函数体调用了变量怎么办,例如i++,你首先要去找到i叭,i存储在数据区,就去数据区找i,然后将i++;再回来,执行下一跳指令。
函数体调用了其他函数怎么办,首先,去代码区找函数,不像去数据区找变量那样,加个1就解决了叭,被掉函数很长怎么办,一时半会处理不完,那就先去代码区将被调函数拿出来放在函数调用(call stack)栈里(栈区),也要考虑被调函数的形参,这个变量也在数据区,你也要去从数据区读取出来,放在调用栈里。如果被调函数又调用了函数,那就再放入递归调用栈里。先入后出,当前执行的函数在栈顶。last-in first-out展开评论点赞 - 在开发中遇到文件上传采用Base64的方式上传,记得以前刚开始学http上传文件的时候,都是通过content-type为multipart/form-data方式直接上传二进制文件,我们知道都通过网络传输最终只能传输二进制流,所以毫无疑问他们本质上都是一样的。评论点赞
- 总结一下,最长回文子串方法,1.暴力,O(n^3) ; 2.枚举对称轴,s[i]为对称轴,或者s[i-1]与s[i]中间为对称轴,然后进行中心扩展;3.动态规划,dp[i][j]表示i-j字串是否是回文串, 枚举l和r,当s[l] == s[r] && ( dp[l+1][r-1] 或者 r-l<2) 的时候,dp[l][r] =true。评论点赞
- Go语言中的协程(Goroutine)是一种轻量级的线程,是Go语言并发编程的基本单位。协程在语言层面上提供了高效的并发处理方式,使得在一个程序中可以同时运行成百上千个协程,而且启动和切换的开销相对较小,使得编写高效的并发程序变得相对容易。评论点赞
- 静态链接(Static Linking)和动态链接(Dynamic Linking)都涉及到在编译和执行过程中,程序代码和库函数之间的关联。地址重定位(Address Relocation)则是指在链接过程中,将代码中的符号引用(比如函数、变量等)与实际的地址关联起来的过程。
1. **静态链接和地址重定位:**
在静态链接中,编译器将所有程序和库函数的代码合并成一个单一的可执行文件。在这个文件中,所有的函数和变量都在同一个地址空间中,编译器会在编译阶段将所有符号引用替换为实际的地址。地址重定位在这里就是确保所有的符号引用都指向正确的物理地址,因为在编译时就知道所有函数和变量的实际位置。
2. **动态链接和地址重定位:**
在动态链接中,程序在运行时并不会将所有的代码和库函数合并到一个单一的可执行文件中。相反,程序会在运行时加载所需的共享库(动态链接库或动态共享对象),这些库是独立于主程序的。地址重定位在这里是指在程序加载库函数时,操作系统或运行时库会将符号引用与实际地址关联起来。
在动态链接中,地址重定位是延迟进行的。当程序启动时,操作系统会加载主程序,然后在需要的时候再加载所需的共享库。因此,地址重定位会在库加载时进行,而不是在编译阶段。
总结来说,静态链接时地址重定位是在编译阶段完成的,而动态链接时地址重定位是在程序运行时加载库时完成的。动态链接允许多个程序共享一个库,减小了可执行文件的大小,但需要在运行时处理地址重定位。展开评论点赞 - #挑战每日一条沸点# Git的版本分支图(Version Graph 或 Commit Graph)是用于展示版本库中提交(commit)的历史记录和分支结构的图形化表示方式。评论点赞
- #挑战每日一条沸点# 在 Redis 中,客户端指的是连接到 Redis 服务器的应用程序,通常运行在本地 PC 或远程机器上。这些客户端应用程序可以是各种编程语言编写的,如Python、Java、C++等,它们使用 Redis 提供的命令来与 Redis 服务器进行通信,发送命令请求并接收响应。
服务器端指的是 Redis 数据库服务本身,它运行在一个或多个服务器上,负责存储数据、处理命令、执行操作等。Redis 服务器通过监听一个网络端口来等待客户端的连接请求,一旦连接建立,客户端可以向服务器发送命令,服务器会处理这些命令并返回相应的结果。
客户端通过网络协议(如 RESP 协议)与 Redis 服务器进行通信。客户端将命令请求以 RESP 格式发送给服务器,服务器执行这些命令并将结果以 RESP 格式返回给客户端。客户端负责构建和解析命令及响应,而服务器负责处理数据和执行操作。展开评论点赞 - GO三件套GORM 是通过驱动的方式来链接数据库的,目前支持 Mysql、SQLSever、PostgreSQL、SQLite。如果需要链接其他类型的数据库,可以 复用/自行 开发驱动。评论点赞
- #挑战每日一条沸点# 今天看了下抖音项目,视频Feed流:支持所有用户刷抖音,视频按投稿时间倒序推出,视频投稿:支持登录用户自己拍视频投稿,个人主页:支持查看用户基本信息和投稿列表,注册用户流程简化。要实现这么多功能,真让人头大。评论点赞
![[微笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_1.7d9f699.png)