Muxx


  • 首页

  • 归档

  • 标签

  • 关于

  • 搜索

gin学习笔记

发表于 2018-10-23
1.c.writermem的意义
阅读全文 »

算法笔记

发表于 2018-10-23
全排列  
    例如abcd,排列可能数等于数字个数的阶乘 4!
阅读全文 »

技术演讲技巧

发表于 2018-10-23

关键字

阅读全文 »

wrk

发表于 2018-10-23

压力测试

阅读全文 »

优质文章整理

发表于 2018-10-22

Go

  • Go 语言机制之栈与指针
  • Go 语言机制之逃逸分析
  • Go 语言机制之内存剖析
  • Go中string转[]byte的陷阱
  • 聊一聊goroutine stack
  • 为什么 Go 语言允许百万级别的 goroutines,而 Java 只允许数千级别的 threads?
  • 也谈goroutine调度器
  • golang核武器goroutine调度原理、channel详解
  • web常见问题排查

nginx/openresty

nginx调优之reuseport

小心openresty模塊緩存

操作系统

  • Linux系统中 进程 、线程 、时间片的关系?
  • 浅谈cpu.idle和cpu.load
  • Linux内存管理
  • 进程的挂起、阻塞和睡眠
  • 内核态是指一个特殊的进程,还是指进程的一种特殊状态?

并行计算

  • Difference Between UMA and NUMA

elasticsearch

  • Elasticsearch分布式一致性原理剖析(一)-节点篇
  • Elasticsearch分布式一致性原理剖析(二)-Meta篇
  • Elasticsearch分布式一致性原理剖析(三)-Data篇

分布式系统

老生常谈——利用消息队列处理分布式事务

网络编程

  • 怎样理解阻塞非阻塞与同步
  • 我读过的最好的epoll讲解
  • 大话 Select、Poll、Epoll
  • [经典的”服务器最多65536个连接”误解]
  • [如何可靠关闭 TCP 连接]
  • 就是要你懂 TCP | 最经典的TCP性能问题
  • go-under-the-hood

架构

  • 使用缓存的正确姿势

其他

  • 3个角度,聊聊产品经理的PRD基本功
  • 字符编码笔记:ASCII,Unicode 和 UTF-8

code review

发表于 2018-10-22

常规项
代码能够工作么?它有没有实现预期的功能,逻辑是否正确等。
所有的代码是否简单易懂?
代码符合你所遵循的编程规范么?这通常包括大括号的位置,变量名和函数名,行的长度,缩进,格式和注释。
是否存在多余的或是重复的代码?
代码是否尽可能的模块化了?
是否有可以被替换的全局变量?
是否有被注释掉的代码?
循环是否设置了长度和正确的终止条件?
是否有可以被库函数替代的代码?
是否有可以删除的日志或调试代码?

go逃逸分析

发表于 2018-10-22

概念

正常情况下对象在栈上分配内存,有些情况下会对象会在堆上分配内存,这就是逃逸。

go语言在一定程度消除了堆和栈的区别,go在编译的时候进行逃逸分析来决定一个对象放栈上还是放堆上,其中不逃逸的对象放栈上,可能逃逸的放堆上,分析的过程就是逃逸分析

逃逸分析时不止分析对象内存分配位置,也会做同步消除,如果你定义的对象的方法上有同步锁,但在运行时,却只有一个线程在访问,此时逃逸分析后的机器码,会去掉同步锁运行。

产生原因

  • 变量共享
    栈帧所在内存在栈帧结束后(return)变为不可访问区域,如果要栈帧中一些局部数据变量后扔有访问需求,需要将变量变为共享,具体的方法是返回局部变量的指针, 这样变量便会在堆上分配内存,后续可有效访问该块内存,达到共享的目的。

简而言之,任何时候,一个值被分享到函数栈帧范围之外,它都会在堆上被重新分配(逃逸)

阅读全文 »

Elasticsearch技术笔记

发表于 2018-10-19

概念理解

待整理笔记

阅读全文 »
1…121314…29
Mu

Mu

230 日志
53 标签
© 2021 Mu
由 Hexo 强力驱动
主题 - NexT.Pisces