- 博客(8)
- 收藏
- 关注
原创 Redis + Lua 实现限流(令牌桶算法)
local last_tokens = tonumber(redis.call("GET", key)) or capacity -- 令牌数量(默认满桶)local last_time = tonumber(redis.call("GET", key .. ":time")) or now -- 上次刷新时间。local capacity = tonumber(ARGV[2]) -- 令牌桶的最大容量。local requested = tonumber(ARGV[4]) -- 请求的令牌数。
2025-03-02 13:47:14
673
原创 进程通信的方式
fcntl.flock(f, fcntl.LOCK_EX) # 加锁。fcntl.flock(f, fcntl.LOCK_UN) # 解锁。例如 SIGKILL(终止进程)、SIGSTOP(暂停进程)。(进程 A 写入,进程 B 读取)。
2025-03-02 11:16:08
1433
原创 JVM调优的常用参数
在进行 JVM 调优时,建议根据应用的实际负载和性能需求进行逐步调整,并通过监控和分析工具(如 JVisualVM、JConsole、GC 日志分析工具)进行性能检测。每个应用的需求不同,调优参数的最佳组合也可能不同,因此需要进行反复测试和验证。
2025-02-24 13:01:45
273
原创 JAVA的垃圾回收机制
来判断对象是否可被回收,而不是引用计数(容易产生循环引用问题)。Java 的垃圾回收机制(GC)主要用于。(如大数据处理、微服务、金融系统等)。G1(Garbage First)是。,就会被认为是“垃圾”并回收。是垃圾回收的主要区域,并被。(默认 1MB~32MB)。
2025-02-23 14:58:46
657
原创 JVM的构成及作用
(3)执行引擎(Execution Engine)将字节码翻译为底层系统指令,再交由CPU执行去执行,此时需要调用其他语言的本地库接口(Native Method Library)来实现整个程序的功能。(2)运行时数据区(Runtime Data Area)把字节码加载到内存中,而字节码文件只是JVM的一套指令集规范,并不能直接交给底层系统去执行,而是有执行引擎运行。3、栈解决的是程序运行的问题,栈里面存的是栈帧,栈帧里面存的是局部变量表、操作数栈、动态链接、方法出口等信息。Java 内存主要分为。
2025-02-23 13:05:51
1371
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人