Andrew's Blog

Stay hungry, Stay foolish.


  • Home

  • About

  • Tags

  • Categories

  • Archives

前缀和与差分数组

Posted on 2020-11-09
前缀和计算一个长度为N的数组中元素和为K的连续子数组的个数?如:在长度为3的数组[1,1,1]中元素和为2的连续子数组的个数为2,即[1,1], [1,1] 这里一个很简单的思路是枚举出原始数组所有的子数组,然后计算出子数组的元素和,判断是否等于K。问题是如何快速计算出子数组的元素和呢,这里可以使 ...
Read more »

Kafka浅析

Posted on 2020-11-09
一、三种常见的消息队列RabbitMQErlang语言开发的,轻量级的,基于队列模式的消息队列,性能较差(相比于Kafka, RocketMQ),不支持消息的大量堆积。 RocketMQ阿里用Java开发的,基于发布订阅模式的消息队列,性能,稳定性久经考验,但与Kafka相比,在国际上不够流行,与周 ...
Read more »

内存对齐规则

Posted on 2020-01-12
后面填坑
Read more »

govaluate表达式引擎

Posted on 2020-01-12
https://github.com/Knetic/govaluatego语言实现的识别go语言语法的执行引擎,可以做golang语法的表达式解析,常被用于实现规则引擎等 https://github.com/robertkrimen/ottogo语言实现的识别Js的语法的执行引擎,功能同上
Read more »

goroutine pool

Posted on 2020-01-12
ants: https://github.com/panjf2000/antsants是一个高性能的 goroutine 池,实现了对大规模 goroutine 的调度管理、goroutine 复用,允许使用者在开发并发程序的时候限制 goroutine 数量,复用资源,达到更高效执行任务的效果。
Read more »

golang中painc和recover的坑

Posted on 2020-01-12
本文记录一个golang的recover和painc的坑。 recover和painc1234567891011121314151617181920212223242526272829303132333435363738394041424344// 不能捕获func f1()){ r ...
Read more »

cpp智能指针详解

Posted on 2020-01-12
cpp是一种没有垃圾回收的语言,给了程序员十足的控制感,同时也为内存泄漏问题留下了重大的隐患。Modern Cpp不推荐程序员完全用new和delete手动管理内存,而是应该使用智能指针。这一节我们就来梳理下智能指针的特性与应用场景。 auto_ptr我们从std::auto_ptr说起。在C++ ...
Read more »

网络字节序与主机字节序

Posted on 2020-01-12 | In Network
主机字节序在网络编程中涉及到的IP地址和端口号通常是多字节整数,多字节整数在不同的硬件结构上字节序可能不同。所谓字节序指的是对于存储需要多个字节(大于 1 字节)的整数来说,其每个字节在不同的机器内存中存储的顺序。这就是所谓的主机字节序,一般分为两类: 大端序(big endian)内存地址从小到大 ...
Read more »

伪共享

Posted on 2020-01-11 | In OS
CPU缓存与缓存行多核时代的到来使得并发编程愈来愈受到关注,这一节我们来了解一下号称多核并发编程中的性能刺客的伪共享(False Sharing)。要了解伪共享还得从CPU缓存讲起。 CPU缓存是位于CPU和主存之间的临时存储器,它的容量比主存小得多但是交换速度比主存快得多。CPU缓存的基本单位是缓 ...
Read more »

Go项目配置pre-commit hook

Posted on 2019-08-04 | In GO
一、前言Go语言官方提供有: gofmt 来进行Go代码格式化 go tool vet 检查Go源码中静态错误第三方提供有: golint 检查GO代码风格(注释,命名等) goimports 自动导入需要的import statement和自动移除未被使用import statement 下面 ...
Read more »
12…6

Andrew

All In

60 posts
13 categories
67 tags
Creative Commons
© 2017 — 2020 Andrew