会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
wudiffs
博客园
首页
新随笔
联系
管理
订阅
2019年9月25日
guava、caffeine、ohc(堆外缓存)详解
摘要: 一、Guava缓存 Guava Cache适用于以下场景: 你愿意消耗一些内存空间来提升速度。 你预料到某些键会被查询一次以上。 缓存中存放的数据总量不会超出内存容量。(Guava Cache是单个应用运行时的本地缓存。它不把数据存放到文件或外部服务器。如果这不符合你的需求,请尝试Redis这类工具
阅读全文
posted @ 2019-09-25 16:43 wudiffs
阅读(6186)
评论(0)
推荐(0)
2019年9月24日
go语言学习相关资料
摘要: 1、环境搭建,参考下面链接 https://blog.csdn.net/Koren_Wei/article/details/83048369 2、书籍 推荐下面两本入门书籍,评分高,讲的很透彻,建议两本都看。 go语言实战 go语言学习笔记 3、githup https://github.com/g
阅读全文
posted @ 2019-09-24 10:11 wudiffs
阅读(165)
评论(0)
推荐(0)
go语言部署
摘要: 一、go语言部署 由于go语言支持跨平台,只需要不同平台编译成各平台所需要的二进制文件,就可以运行,无需任何环境。java跨平台是由于有适配各平台的jvm,二者跨平台的原理还是不同的。 针对下面平台的编译部署命令如下: // 设置目标可执行程序操作系统构架 这里amd64是一个很大的坑,这里是要运行
阅读全文
posted @ 2019-09-24 10:10 wudiffs
阅读(763)
评论(0)
推荐(2)
go语言--通道
摘要: 一、两种并发模型 多线程共享内存,以共享内存的方式来通信。比如java在访问共享数据的时候,通过加锁来实现,java.util.concurrent包。 CSP(communicating sequential processes)并发模型,以通信的方式来共享内存。Go的CSP并发模型是通过goro
阅读全文
posted @ 2019-09-24 10:08 wudiffs
阅读(502)
评论(0)
推荐(0)
go语言--竞争、原子函数、互斥锁
摘要: 一、go语言竞争状态、原子函数、互斥锁 下面代码例子是展示并发下公共数据操作,通过原子函数和互斥锁怎么解决。 package main import ( "sync" "runtime" "fmt" "sync/atomic" ) var( // counter是所有goroutine都要增加的变量
阅读全文
posted @ 2019-09-24 10:06 wudiffs
阅读(234)
评论(0)
推荐(0)
go语言--goroutine
摘要: 一、goroutine goroutine就是Go语言提供的一种用户态线程。Go自己实现了goroutine的调度器(Scheduler),Go的调度器由三部分组成: M:指的是Machine,一个M直接关联了一个内核线程。 P:指的processer,代表M所需的上下文环境,也是处理用户级代码逻辑
阅读全文
posted @ 2019-09-24 10:05 wudiffs
阅读(413)
评论(0)
推荐(0)
线程模型
摘要: 一、内核线程模型 内核线程(Kernel Level Thread,KLT)就是由操作系统内核支持的线程,这种线程由内核来完成线程切换,内核通过操作调度器(Scheduler)对线程进行调度,并负责将线程的任务映射到各个处理器上。 程序一般不会直接去使用内核线程,而是去使用内核线程的一种高级接口—轻
阅读全文
posted @ 2019-09-24 10:03 wudiffs
阅读(328)
评论(0)
推荐(0)
go语言基础知识
摘要: 一、一个简单的Go程序 下面这个程序是一个http请求,输出返回的body字段。panic会立即中断函数流程,执行延时调用。从下面这个程序可以看出通过go访问http非常简洁。 二、Go语言数据类型 uint 32位或64位 uint8 无符号 8 位整型 (0 到 255) uint16 无符号
阅读全文
posted @ 2019-09-24 10:01 wudiffs
阅读(312)
评论(0)
推荐(0)
go语言设计初衷和优势
摘要: 一、设计Go语言是为了解决当时Google开发遇到的问题: 大量的C++代码,同时又引入了Java和Python。 成千上万的工程师。 数以万计行的代码。 分布式的编译系统。 数百万的服务器。 二、Google开发中的痛点: 编译慢。 失控的依赖。 每个工程师只是用了一个语言里面的一部分。 程序难以
阅读全文
posted @ 2019-09-24 09:59 wudiffs
阅读(859)
评论(0)
推荐(0)
2019年9月23日
jdk8 HashMap初始化和扩容机制
摘要: 工作中大家讨论HashMap设置初始化容量的问题,写篇文章好好聊聊。 一、jdk8 HashMap初始化和扩容机制 以下面的代码为例 Map map = new HashMap(3); map.put("AA", "AA"); map.put("BB", "BB"); map.put("CC", "
阅读全文
posted @ 2019-09-23 17:09 wudiffs
阅读(2236)
评论(0)
推荐(0)
下一页
公告