avatar
文章
35
标签
10
分类
7

首页
文章
标签
分类
图库
爱开源GoGo
首页
文章
标签
分类
图库

爱开源GoGo

go程序启动过程
发表于2023-03-05|更新于2025-05-09|Go
[[toc]] 一、go启动流程 1.1 第一个go程序 首先,我们来看一个简单的go程序启动流程 123456789// main.goimport "fmt"func main() {    str := make([]string, 0)    str = append(str, "zhiminding")    fmt.Printf("hello,%v", str)} 对上面的go程序进行编译,生成main 1go build -gcflags="-l -N" # -l 禁止内联, -N 禁止优化 查看编译出来的二进制和汇编代码 1go tool objdump -s "main.main" -S ./main # 用户实现的main函数,在源码中是main.main 该方法在控制台输出汇编代码,阅读和调试起来不方便,我们可以用lensm工具查看汇编代码 1.2 生产力工具lensm 为了方便看汇编和源代码,在go源码之间方便跳转,我们可以安装一个 ...
go语言数据结构
发表于2023-03-05|更新于2025-05-09|Go
slice 123list := make([]int,0)list = append(list,1)list = append(list,1) 编译期: 1234567891011121314// cmd/compile/internal/types.NewSlicefunc NewSlice(elem *Type) *Type { if t := elem.Cache.slice; t != nil { if t.Elem() != elem { Fatalf("elem mismatch") } return t } t := New(TSLICE) t.Extra = Slice{Elem: elem} elem.Cache.slice = t return t} 底层数据结构 123456789101112// reflect.SliceHeadertype SliceHeader struct { Data uintptr Len int Cap in ...
对象存储使用
发表于2023-01-06|更新于2025-05-09|存储
上传流程 文件上传分为客户端上传(主要是指网页端和移动端等面向终端用户的场景)和服务端上传两种场景,具体可以参考文档业务流程。 服务端SDK在上传方面主要提供两种功能,一种是生成客户端上传所需要的上传凭证,另外一种是直接上传文件到云端。 客户端上传凭证 客户端(移动端或者Web端)上传文件的时候,需要从客户自己的业务服务器获取上传凭证,而这些上传凭证是通过服务端的SDK来生成的,然后通过客户自己的业务API分发给客户端使用。根据上传的业务需求不同,七牛云 Go SDK支持丰富的上传凭证生成方式。 拷贝 // 存储相关功能的引入包只有这两个,后面不再赘述 import ( “github.com/qiniu/go-sdk/v7/auth/qbox” “github.com/qiniu/go-sdk/v7/storage” ) accessKey := “your access key” secretKey := “your secret key” mac := qbox.NewMac(accessKey, secretKey) 简单上传的凭证 最简单的上传凭证只需要AccessKey,S ...
vue nginx运行
发表于2023-01-06|更新于2025-05-09|vue
注:这里开始认为各位都会使用nginx 打包vue项目 1npm run build 测试打包的项目是否可以运行 1serve dist 可以正常运行 编译报错请移步到:​​renren-fast-vue@1.2.2 项目编译报错: build gulp​​ 部署vue项目到nginx 接下来将renren-fast-vue 项目生成的dist 目录修改为:renren-fast-vue 并压缩为:renren-fast-vue.zip 复制renren-fast-vue.zip 到服务器 解压到:/usr/local/nginx/ vue项目的nginx配置文件不直接在nginx.conf中进行配置,将配置保存在/usr/local/nginx/conf/vhost/renren-fast-vue.conf 配置内容为:vi /usr/local/nginx/conf/vhost/renren-fast-vue.conf 1234567891011121314151617181920212223server {        listen   7000;        se ...
Go抢占式调度
发表于2022-03-05|更新于2025-05-09|Go
2.6 抢占式调度 2.6.0 sysmon监听抢占时机 sysmon是一个Go里面的一个特殊的线程,不与任何P绑定,不参与调度,主要用于监控整个Go进程,主要有如下作用: 释放闲置超过5分钟的span物理内存 超过2分钟没有垃圾回收,强制启动垃圾回收 将长时间没有处理的netpoll结果添加到任务队列 向长时间执行的G任务发起抢占调度 收回因syscall而长时间阻塞的P sysmon线程在runtime.main函数里面创建: 123456789101112func main() {    ...      if GOARCH != "wasm" { // no threads on wasm yet, so no sysmon      // 启动sysmon的代码      // 在系统栈内生成一个新的M来启动sysmon      atomic.Store(&sched.sysmonStarting, 1)        systemstack(func() {          newm(sysmon, nil, ...
1…34
avatar
JimmyDing
种一棵树,最好的时间是十年前,其次是现在
文章
35
标签
10
分类
7
Follow Me
公告
欢迎前来爱开源GoGo
最新文章
大模型ReAct-基于langchain框架
大模型ReAct-基于langchain框架2025-05-28
大模型ReAct-基于llamaIndex框架
大模型ReAct-基于llamaIndex框架2025-05-28
mcp协议使用
mcp协议使用2025-05-13
vllm使用教程-基于qwen模型
vllm使用教程-基于qwen模型2025-05-09
解锁AI潜能:万字详解大语言模型提示工程的终极指南
解锁AI潜能:万字详解大语言模型提示工程的终极指南2024-08-14
RAG应用
RAG应用2024-06-11
大模型意图选择
大模型意图选择2024-06-07
pytorch导学:使用bert实现分类任务
pytorch导学:使用bert实现分类任务2024-05-11
分类
  • Go6
  • ai13
  • vue2
  • 存储6
  • 工具3
  • 搜索2
  • 搞笑1
标签
Go GPU faiss 搞笑 vue 工具 ai 缓存 mysql cos
归档
  • 五月 20254
  • 八月 20241
  • 六月 20242
  • 五月 20242
  • 四月 20246
  • 三月 202411
  • 一月 20241
  • 三月 20235
网站资讯
文章数目 :
35
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2025 By JimmyDing
框架 Hexo|主题 Butterfly