V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  katsusan  ›  全部回复第 6 页 / 共 23 页
回复总数  449
1 ... 2  3  4  5  6  7  8  9  10  11 ... 23  
2020-12-01 14:36:02 +08:00
回复了 Joker123456789 创建的主题 Java 突然想到一个问题,消息队列的意义是什么?
最明显的一个原因就是上游的生产能力并不固定,当下游的消费能力不够需要扩容到扩容完成期间需要一个缓冲,消息队列正好提供了这个缓冲区。
2020-11-03 18:17:40 +08:00
回复了 sagaxu 创建的主题 宽带症候群 预警,电信用户请谨慎升级至 5G 套餐
@happyeveryday 有的,比如在下是 99 元的融合套餐,流量 10G/月,一言不合就超了
2020-10-22 18:32:29 +08:00
回复了 loriann 创建的主题 Go 编程语言 请教一个 go 的函数问题
Go 里的闭包函数在内存里是 code+data 形式表现的。

以你 Set 函数返回的 f 为例,在编译期就可以分析出它应该包含内部匿名函数的入口点地址和 i 的值,
在 x64 上就是 16 字节空间,也就是 main 栈上的 f 指向一个 16 字节的空间,执行 f=Set(100)的赋值后
第二个 8 字节就赋值为 100 。

执行 f(&ss)时参照 https://golang.org/s/go11func,在 x86_64 下 R0 用的是 DX 寄存器。

MOV …, R0

MOV 0(R0), R1 //R0+0=>R1,即函数入口地址

CALL R1 # called code can access “data” using R0,比如例子里的 100 就是 8(R0)
2020-10-20 19:24:41 +08:00
回复了 noble4cc 创建的主题 程序员 redis 大 key 导致读取和删除性能降低的原因是什么呢?
用户态内存复制到内核缓冲区吧,另外 ram 的存取不命中 cache 的话本来也不快,大概要六七十纳秒起步。
2020-10-14 12:09:04 +08:00
回复了 lasuar 创建的主题 Go 编程语言 如何在新版本的 go 中 import 旧版本的标准库?
标准库默认的是链接$GOROOT/pkg/$GOOS_$GOARCH 下的目标文件,
比如"import go/ast“的话会链接 /usr/local/go/pkg/linux_amd64/go/ast.a,
目前没看到链接器有提供选项可以改这个。按我的愚见有两种思路:
1. git clone 指定版本的 go 源码到 GOPATH/pkg/mod/github.com/golang
比如 git clone --branch go1.13.1 https://github.com/golang/go %GOPATH%/pkg/mod/github.com/golang
这样可以 import "github.com/golang/go/src/go/ast"来使用
2. 在当前项目下用 vendor 管理一个标准库的副本
go env -w GOPROXY=https://goproxy.cn
2020-09-23 19:10:46 +08:00
回复了 Apple2023 创建的主题 iPhone iPhone 电池健康到多少才应该换电池?
6 年 ip6,83%
2020-09-15 18:40:46 +08:00
回复了 chanchancl 创建的主题 Go 编程语言 关于 go 在 Linux , amd64 平台下的系统调用问题
linux 内核文档写的很清楚,RCX 和 R11 会在 x86_64 系统调用时被内核使用。

--------------------------------------arch/x86/entry.S-------------------------------------
* 64-bit SYSCALL saves rip to rcx, clears rflags.RF, then saves rflags to r11,
* then loads new ss, cs, and rip from previously programmed MSRs.
* rflags gets masked by a value from another MSR (so CLD and CLAC
* are not needed). SYSCALL does not save anything on the stack
* and does not change rsp.
*
* Registers on entry:
* rax system call number
* rcx return address
* r11 saved rflags (note: r11 is callee-clobbered register in C ABI)
* rdi arg0
* rsi arg1
* rdx arg2
* r10 arg3 (needs to be moved to rcx to conform to C ABI)
* r8 arg4
* r9 arg5
* (note: r12-r15, rbp, rbx are callee-preserved in C ABI)
------------------------------------------------------------------------------------------------
2020-08-19 19:23:45 +08:00
回复了 jasonding 创建的主题 职场话题 吐槽一个同事
在你不知道他是怎样进来之前不要轻易动手 /doge
2020-08-14 16:58:40 +08:00
回复了 luna080 创建的主题 问与答 早 9 晚 9,到底咋能找到对象呢?😭😭
问道于盲
2020-07-31 02:32:47 +08:00
回复了 luckRay 创建的主题 职场话题 曝光上海某公司, 996,被裁,该怎么维权啊?
你这是刚跳过去的吗哈哈,之前脉脉上就爆出过这家管理混乱无能。离职证明上写无关信息也说明人事部门也是一群没常识的 five,大胆点去仲裁,同时可以在多个平台曝光给以压力。
2020-07-17 22:11:50 +08:00
回复了 sunshinev 创建的主题 程序员 golang panic 不打印参数地址怎么办,是三个点
run 函数被内联了,可以在编译时加入-gcflags "-l"禁止内联。

➜ /tmp go build -gcflags "-m" panic.go
# command-line-arguments
./panic.go:10:6: can inline run
./panic.go:5:6: can inline main
./panic.go:7:5: inlining call to run
./panic.go:7:5: main ... argument does not escape
./panic.go:7:5: a escapes to heap
./panic.go:10:10: leaking param: a
./panic.go:11:13: run ... argument does not escape
./panic.go:11:13: a escapes to heap
2020-07-08 14:22:55 +08:00
回复了 cwx391497 创建的主题 Visual Studio Code VSCode+RemoteWSL+WSL 导致 WIN10 蓝屏
之前尝试过并未出现这样的情况,可以 eventvwr 打开 windows 事件日志找出哪个进程导致的蓝屏
@lsk569937453 用 http 的途径去 git clone,你图中走的是 ssh
@lsk569937453 go get 应该是对 git 的封装,看看 git clone 能不能正常工作
2020-06-30 15:31:30 +08:00
回复了 wangbenjun5 创建的主题 程序员 关于 golang 除法运算符/的疑惑
golang 的编译大概分为三步,
#1.进行词法分析和语法分析,构建出语法树 AST
#2.进行类型检测 typecheck 和 AST 优化(var x = 10/4.0 就在这步计算出来)
#3.进行静态单赋值 SSA 优化(ten/4.0 在这步计算得出)和中间代码生成

解析 10/4.0 时,经过一系列 switch case 后会调用[evconst]( https://github.com/golang/go/blob/master/src/cmd/compile/internal/gc/const.go#L569)计算出 10/4.0 写到 x 节点上,而 evaconst 会先调用[match 函数]( https://github.com/golang/go/blob/master/src/cmd/compile/internal/gc/const.go#L686)
来将两个变量转化为同样类型,这个函数逻辑对应着#7 所记录的 spec 规范。

而碰到 print(ten/4.0)时由于左边为变量已经推导出为 int 型所以会被[defaultlit2 函数]( https://github.com/golang/go/blob/master/src/cmd/compile/internal/gc/const.go#L1126)获取并且按左节点优先原则将右边的 4.0 转化为左边的类型。

可以从 GOSSAFUNC=main go build x.go 获得的 html 里看到 main 函数从 source->AST->SSA 的转换过程。
韭零后阿噗阿噗
2020-05-07 16:45:42 +08:00
回复了 zhiyul 创建的主题 职场话题 从另一个角度看今年的行情
说明都不敢离职吧
1 ... 2  3  4  5  6  7  8  9  10  11 ... 23  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1557 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 37ms · UTC 16:25 · PVG 00:25 · LAX 09:25 · JFK 12:25
Developed with CodeLauncher
♥ Do have faith in what you're doing.