摘要: Goroutine是go语言中最基本的组成单位之一,事实上,GO语言的程序都至少有一个goroutine main goroutine,他在进程开始时自动创建并启动,几乎在所有的项目中。 简单的说goroutine 是一个并发函数(不一定是并行的), goroutine 在go语言中是独一无二的,他 阅读全文
posted @ 2021-10-21 23:54 菜鸟的进击 阅读(56) 评论(0) 推荐(0) 编辑
摘要: Go的垃圾回收官方形容为 非分代 非紧缩 写屏障 三色并发标记清理算法。非分代:不像Java那样分为年轻代和年老代,自然也没有minor gc和maj o gc的区别。非紧缩:在垃圾回收之后不会进行内存整理以清除内存碎片。写屏障:在并发标记的过程中,如果应用程序(mutator)修改了对象图,就可能 阅读全文
posted @ 2021-07-23 09:54 菜鸟的进击 阅读(224) 评论(0) 推荐(0) 编辑
摘要: nil channel与closed channel的读写 名词解释 nil channel:未初始化的channel,即没有执行make操作closed channel:执行了closed操作的channel 读写结果 对这两种特殊channel执行读写操作会发生什么呢? 对nil channel 阅读全文
posted @ 2021-07-22 10:36 菜鸟的进击 阅读(185) 评论(0) 推荐(0) 编辑
摘要: go-mutex的模式 go-mutex的模式 1. 正常模式 2. 饥饿模式 mutex是golang提供的基础并发原语,可以帮助我们处理多goruntine并发访问共享资源的问题。每个goruntine都要再获取到锁之后才能操作共享资源,完成操作释放锁,保证了共享资源的读写安全性。 但这种方式也 阅读全文
posted @ 2021-07-22 10:16 菜鸟的进击 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-04-27 17:27 菜鸟的进击 阅读(127) 评论(0) 推荐(0) 编辑
摘要: public Double CNYtoN(String amount) { double result = 0; double temp = -1;//存放一个单位的数字如:十万 int count = 0;//判断是否有chArr Map<Character, Double> map = new 阅读全文
posted @ 2020-09-18 19:10 菜鸟的进击 阅读(933) 评论(0) 推荐(0) 编辑
摘要: #!/bin/bash count=0 for file in `ls`; do count=$((${count} + 1)); mv $file `echo ${count}"."${file##*.}`; done ${file##*.} 获取后缀名 过滤掉sh脚本 #!/bin/bash c 阅读全文
posted @ 2020-09-08 13:15 菜鸟的进击 阅读(560) 评论(0) 推荐(0) 编辑
摘要: java 获取json的jsonPah(com.alibaba.fastjson) //获取jsonPath public static List<String> getListJsonPath(JSONObject jsonObject) { List<String> jsonPaths= JSO 阅读全文
posted @ 2020-09-03 17:59 菜鸟的进击 阅读(3367) 评论(0) 推荐(0) 编辑
摘要: RPC 远程方法调用 优点:提升系统可扩展性,提升可维护性,和吃持续交付能力实现系统的高可用等 缺点 rpc受限于网络 实现一个rcp远程调用关键在于带里层的实现 还是贴代码吧 package client import ( "bytes" "fmt" "github.com/gorilla/rpc 阅读全文
posted @ 2020-08-31 22:28 菜鸟的进击 阅读(882) 评论(0) 推荐(0) 编辑
摘要: //声明注解 import java.lang.annotation.*; import java.util.concurrent.TimeUnit; /** * @ClassName RedisLock * @Author lvhoushuai(tsxylhs @ outlook.com) * @ 阅读全文
posted @ 2020-08-25 11:03 菜鸟的进击 阅读(1778) 评论(0) 推荐(1) 编辑