果冻虾仁_社区达人页

个人头像照片
果冻虾仁
已加入开发者社区1794
勋章 更多
个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
初入江湖
初入江湖
成就
已发布60篇文章
1条评论
已回答1个问题
0条评论
已发布0个视频
github地址
我关注的人 更多
技术能力
兴趣领域
擅长领域
技术认证

暂时未有相关云产品技术能力~

暂无个人介绍
暂无精选文章
暂无更多信息

2022年05月

  • 05.31 11:27:42
    发表了文章 2022-05-31 11:27:42

    bRPC小课堂:从StringPiece说开来(二)

    序言 何谓StringPiece? StringPiece的常见使用场景 源码剖析StringPiece BasicStringPiece模板 构造函数 容量相关函数 数据修改函数 修改其他字符串的函数 数据访问函数 比较函数 查找函数 截取子串 返回string对象 从StringPiece到string_view 备胎转正 API的差异 如果你没有C++14/17
  • 05.31 11:03:43
    发表了文章 2022-05-31 11:03:43

    C/C++:堆栈面面观(二)

    学习C语言,我们都听过堆(heap)和栈(stack)的概念。也是C/C++码农面试的常见考点,今天带大家来深入浅出一下。本文写于大四,写作初衷也是来自于曾经的面试经历、大学课程所学以及各种网络资料,融合《CSAPP》的读书感悟总结而成。需要注意的是:有些地方“堆栈”这个词特指的是栈,而不是堆和栈。命名约定:本文中堆栈一次出现的地方,指的是两种东西,而非一种。
  • 05.29 12:15:28
    发表了文章 2022-05-29 12:15:28

    GPU服务器初体验:从零搭建Pytorch GPU开发环境

    如果你有一台带N卡的个人电脑的话,那么是不需要买GPU云服务器的。如果你的公司或实验室有GPU服务器这个福利或资源的话,那么玩玩GPU服务器也不错。
  • 05.29 12:08:08
    发表了文章 2022-05-29 12:08:08

    C++的单例模式为什么不直接全部使用static,而是非要实例化一个对象?

    C++的单例模式为什么不直接全部使用static,而是非要实例化一个对象?
  • 05.29 12:03:22
    发表了文章 2022-05-29 12:03:22

    C++ Trick:右值引用、万能引用傻傻分不清楚

    C++11标准颁布距今已经十年了,在这个标准中引入了很多新的语言特性,在进一步强化C++的同时,也劝退了很多人,其中就包含右值引用。
  • 05.29 12:01:35
    发表了文章 2022-05-29 12:01:35

    C++服务性能优化的道与术-道篇:阿姆达尔定律

    在之前的文章 《2004:当CPU温和地走入那个良夜》 中我讲到了2000年后摩尔定律的终结,CPU时钟频率定格,多核成为CPU发展的新方向,并行计算成为趋势。
  • 05.29 11:54:28
    发表了文章 2022-05-29 11:54:28

    brpc小课堂:有界队列BoundedQueue

    brpc实现了一个“有界队列”的类模板BoundedQueue。先说一下什么是有界队列。 所谓有界队列表示的就是一个队列其中的容量是有限的(固定的),不能动态扩容的队列。这种听起来没有vector那种自动扩容能力的容器,主要还是全面为了性能考虑的。一般也是用作生产者和消费者模式,当队列容量已满的时候,一般就表示超过了这个队列的最大吞吐能力,故而拒绝加入新的任务。
  • 05.29 11:50:22
    发表了文章 2022-05-29 11:50:22

    C++设计模式之SFINAE:用来检测类中是否有某个成员函数

    针对类中特定成员函数的检测其实在工作中也可能用到。C++中可以用SFINAE技巧达到这个目的。
  • 05.29 11:48:40
    发表了文章 2022-05-29 11:48:40

    C++ Trick:什么时候需要前置声明?

    经常有C++开发的小伙伴提问: C++中要使用类A时,什么时候#include "a.h",什么时候用class A前置声明呢?
  • 05.29 11:47:12
    发表了文章 2022-05-29 11:47:12

    C++为什么要弄出虚表这个东西?

    首先声明一点,虚表并非是C++语言的官方标准的一部分,只是各家编译器厂商在实现多态时的解决方案。另外即使同为虚表不同的编译器对于虚表的设计可能也是不同的,本文主要基于Itanium C++ ABI(适用于gcc和clang)。
  • 05.29 11:40:42
    发表了文章 2022-05-29 11:40:42

    C++服务性能优化的道与术-道篇:google benchmark的安装与使用

    如果你实现一个公共的工具函数,有多种实现方式,你怎么测试性能呢?是循环多少次,然后打印一下起止时间,计算耗时吗?这样当然没问题。但是每次都类似的需求,都会写很多冗余的代码来进行耗时统计,另外也缺乏灵活性。有没有方便的方式来测试呢?有,Google家的benchmark性能测试框架。
  • 05.29 11:36:10
    发表了文章 2022-05-29 11:36:10

    C++按值返回对象那些事

    C++按值返回对象那些事
  • 05.29 11:30:21
    发表了文章 2022-05-29 11:30:21

    C++的lambda是函数还是对象?

    关于C++的lambda是函数还是对象,这其实不是一个一概而论的问题。
  • 05.29 11:28:52
    发表了文章 2022-05-29 11:28:52

    C/C++为什么要专门设计个do…while?

    最初do ... while的出现,更多的是作为循环控制流的一种语法糖。因为不论是while 还是 for循环,都是要先判断是否满足进入循环体的条件的。满足条件之后才能进入循环去执行循环体内的操作。
  • 05.29 11:26:36
    发表了文章 2022-05-29 11:26:36

    brpc小课堂:从StringPiece说开来(一)

    序言 何谓StringPiece? StringPiece的常见使用场景 源码剖析StringPiece BasicStringPiece模板 构造函数 容量相关函数 数据修改函数 修改其他字符串的函数 数据访问函数 比较函数 查找函数 截取子串 返回string对象 从StringPiece到string_view 备胎转正 API的差异 如果你没有C++14/17
  • 05.29 11:19:21
    发表了文章 2022-05-29 11:19:21

    白嫖Github的Action做定时任务

    白嫖Github的Action做定时任务
  • 05.29 11:03:32
    发表了文章 2022-05-29 11:03:32

    STL中有哪些副作用或稍不注意会产生性能开销的地方?

    可能很多人都不在意,在使用STL容器的时候,潜意识里面将clear()成员函数视为常量时间复杂度O(1)的。但是其实不然。我感觉可能是很多人都知道对于vector而言,clear()之后,修改了size()的结果,不影响capacity()的结果,因而得出clear()只是修改了某个标记,是常量时间复杂度的错误结论。
  • 05.29 10:57:10
    发表了文章 2022-05-29 10:57:10

    当我们谈论shared_ptr的线程安全性时,我们在谈论什么

    自C++11起,shared_ptr从boost转正进入标准库已有10年了。然而当C++程序员们在谈论shared_ptr是不是线程安全的的时候,还时常存在分歧。确实关于shared_ptr 的线程安全性不能直接了当地用安全或不安全来简单回答的,下面我来探讨一下。
  • 05.29 10:55:09
    发表了文章 2022-05-29 10:55:09

    C++ STL容器如何解决线程安全的问题?

    众所周知,STL容器不是线程安全的。对于vector,即使写方(生产者)是单线程写入,但是并发读的时候,由于潜在的内存重新申请和对象复制问题,会导致读方(消费者)的迭代器失效。实际表现也就是招致了core dump。另外一种情况,如果是多个写方,并发的push_back(),也会导致core dump。
  • 05.29 10:53:08
    发表了文章 2022-05-29 10:53:08

    C++代码简化之道 (2):消除非必要的指针

    作为C++程序员,肯定免不了和指针打交道了。一般我们使用指针都是为了避免不必要的拷贝,但有时候其实可以简化掉它。
  • 05.29 10:51:03
    发表了文章 2022-05-29 10:51:03

    C++代码简化之道

    我是极简主义者,崇尚简洁明快的代码风格,这也可能是我不喜欢Java全家桶的原因……当然我说的简洁是要建立在不降低可读性的前提下,即不影响代码本身的表现力。如果为求代码精简而让代码晦涩艰深同样不可取。
  • 05.29 10:25:52
    发表了文章 2022-05-29 10:25:52

    什么是thread local?

    线程本地存储:thread local storage(简称TLS)。也叫线程特有存储:thread specific storage(简称TSS)或线程私有存储:thread private storage。名字太多,以下内容均简称为thread local。
  • 05.29 10:21:06
    发表了文章 2022-05-29 10:21:06

    “伪共享”凌乱记

    本文属于并发编程系列,通过之前的文章我们了解到了CPU中缓存行的概念。简单复习一下就是缓存行是CPU读写缓存的最小单位,一般是64字节。另外当前CPU共有三个级别的缓存,从距离CPU内核的由近及远分为是L1 Cache、L2 Cache、L3 Cache。基于这个背景知识,我今天继续来谈一下和缓存相关的另一大话题:Fasle Sharing!
  • 05.29 10:06:35
    发表了文章 2022-05-29 10:06:35

    百度工程师厂外生存指南

    百度曾经一度被称为中国互联网的黄埔军校。这句话其实有两方面含义:一是说从百度走出来的工程师活跃在中国各大互联网企业中,对整个中国互联网的繁荣发展做出了贡献。二是说百度如同历史上的黄埔军校一般,为外界培育和输送了大量人才,但是自身却在逐步没落,暗示百度的人才流失严重。然而很多百度厂内高管常以『百度是中国互联网的黄埔军校』而自豪,这只是理解了这句话的第一层含义,却殊不知其第二层。高管们不对厂内人才大量流失的原因做反思,反而因为一句黄埔军校而沾沾自喜。着实让人唏嘘不已。
  • 05.29 10:02:13
    发表了文章 2022-05-29 10:02:13

    把bthread_start_background封装成现代C++的风格!

    在基于brpc开发服务的时候,bthread_start_background()一定是高频函数。bthread_start_background()是brpc框架提供给我们的API,让我们可以方便使用brpc的协程bthread。
  • 05.28 20:08:21
    发表了文章 2022-05-28 20:08:21

    指令重排序与内存屏障

    指令重排序与内存屏障
  • 05.28 20:02:43
    发表了文章 2022-05-28 20:02:43

    brpc中的定时任务使用介绍

    ok,欢迎来到brpc小课堂,今天我来讲点不是很hard core的东西,大家take it easy。
  • 05.28 20:00:04
    发表了文章 2022-05-28 20:00:04

    小议CPU缓存一致性协议MESI

    你有没有听过缓存一致性协议?你是否了解CPU中的高速缓存?本文带你揭秘,从CPU的视角来看待并发编程。
  • 05.28 19:55:20
    发表了文章 2022-05-28 19:55:20

    bthread源码剖析(五): bthread上下文的创建

    在之前的文章有介绍过调用jump_stack()函数进行bthread上下文的切换(bthread栈的切换),其中涉及了汇编语言。本文来讲一讲与之对应的另外一个操作:调用get_stack()进行上下文的创建(bthread栈的创建),并且同样会涉及汇编语言。
  • 05.28 19:49:42
    发表了文章 2022-05-28 19:49:42

    bthread源码剖析(四): 通过ParkingLot实现Worker间任务状态同步

    通过之前的文章我们知道TaskGroup(以下简称TG)是在死循环等待任务,然后切换栈去执行任务。在当前TG没有任务的时候会进行“工作窃取”窃取其他TG的任务。在没有任务的时候TG会“休眠”,当任务出现的时候被唤醒然后消费。
  • 05.28 19:45:46
    发表了文章 2022-05-28 19:45:46

    bthread源码剖析(三): 汇编语言实现的上下文切换

    上回书说道,TaskGroup的run_main_task()有三大关键函数,剩余一个sched_to()没有展开详谈。那在今天的sched_to()源码探秘之旅开始之前呢,首先高能预警,本文会涉及到汇编语言,所以请大家坐稳扶好!
  • 05.28 19:41:43
    发表了文章 2022-05-28 19:41:43

    bthread源码剖析(二): 工作窃取与TaskGroup的run_main_task()

    上一篇文章,介绍了TaskControl(简称TC)的初始化逻辑、worker的基本概念,并引出了TaskGroup(简称TG)的主要函数:run_main_task()。在谈run_main_task()之前,我们先看一下TG的几个主要成员。
  • 05.28 19:38:32
    发表了文章 2022-05-28 19:38:32

    bthread源码剖析(一): 基本概念与TaskControl初始化

    bthread源码剖析(一): 基本概念与TaskControl初始化
  • 05.28 19:32:59
    发表了文章 2022-05-28 19:32:59

    通过echo_server带你入门brpc!

    前文我们介绍过如何编译安装brpc(brpc最新安装上手指南),今天通过echo_server来介绍一下brpc的基本使用方法与细节。
  • 05.28 19:29:13
    发表了文章 2022-05-28 19:29:13

    Web Services:重整山河待后生

    Web Services:重整山河待后生
  • 05.28 19:23:47
    发表了文章 2022-05-28 19:23:47

    实践解读CLOSE_WAIT和TIME_WAIT

    实践解读CLOSE_WAIT和TIME_WAIT
  • 05.28 19:20:42
    发表了文章 2022-05-28 19:20:42

    C++ Trick:不使用friend,怎么访问private成员变量?

    想知道怎么不使用friend,访问private的成员变量? 有方法,但不鼓励……
  • 05.28 19:19:04
    发表了文章 2022-05-28 19:19:04

    C++模拟面试:从数组“紧凑”操作说开来

    C++模拟面试:从数组“紧凑”操作说开来
  • 05.28 19:15:03
    发表了文章 2022-05-28 19:15:03

    通过Redis学习事件驱动设计

    通过Redis学习事件驱动设计
  • 05.28 19:07:08
    发表了文章 2022-05-28 19:07:08

    brpc最新安装上手指南

    brpc最新安装上手指南
  • 05.28 19:01:31
    发表了文章 2022-05-28 19:01:31

    C++ Trick:小心,子类隐藏父类成员函数

    学习面向对象的语言,了解继承是必不可少的。您可能觉得这太基础了,大家可都是老“996”了,还用介绍封装、继承、多态那老三样吗?
  • 05.28 18:58:43
    发表了文章 2022-05-28 18:58:43

    C++ Trick:宏函数与模板类之殇

    C++ Trick:宏函数与模板类之殇
  • 05.28 18:55:27
    发表了文章 2022-05-28 18:55:27

    C++模拟面试:宏、lambda、智能指针闲谈

    C++模拟面试:宏、lambda、智能指针闲谈
  • 05.28 18:39:27
    发表了文章 2022-05-28 18:39:27

    awk一行码:求交集、差集、筛选白名单数据

    众所周知,awk不是一个工具/命令,它其实是一种『编程语言』。 对于后台开发工程师而言,不管你是什么语言的工程师。对于统计线上数据,从日志提炼信息等等场景,awk都是必备神器!
  • 05.28 18:36:48
    发表了文章 2022-05-28 18:36:48

    谈谈腾讯和百度的C++开发环境

    笔者先后在TB待过,主要做C++开发工作。今天来谈一下两个公司的C++开发环境。
  • 05.28 18:30:45
    发表了文章 2022-05-28 18:30:45

    Python中的网关:WSGI

    互联网飞速发展,在web开发的江湖中,除了武林盟主Java以外,许多脚本语言都参与进来分一杯羹。花开花落,花落花开,无数少年侠士在Web江湖演绎着自己的传说,不不负少年游。
  • 05.28 18:19:19
    发表了文章 2022-05-28 18:19:19

    天下风云出我辈:Servlet

    让我们坐上时光机,回到上个世纪90年代的中叶。C语言稳坐编程语言江湖的头把交椅,C++也羽翼渐丰。彼时在圣克拉拉的某个咖啡馆里出现了一位其貌不扬的少年。谁都不会想到这个手持盒子,靠嵌入式起家的孩子会成为日后十年、二十年乃至更长的时空中,搅动互联网江湖的重要人物。他的名字是——Java。
  • 发表了文章 2022-05-31

    bRPC小课堂:从StringPiece说开来(二)

  • 发表了文章 2022-05-31

    C/C++:堆栈面面观(二)

  • 发表了文章 2022-05-29

    GPU服务器初体验:从零搭建Pytorch GPU开发环境

  • 发表了文章 2022-05-29

    C++的单例模式为什么不直接全部使用static,而是非要实例化一个对象?

  • 发表了文章 2022-05-29

    C++ Trick:右值引用、万能引用傻傻分不清楚

  • 发表了文章 2022-05-29

    C++服务性能优化的道与术-道篇:阿姆达尔定律

  • 发表了文章 2022-05-29

    brpc小课堂:有界队列BoundedQueue

  • 发表了文章 2022-05-29

    C++设计模式之SFINAE:用来检测类中是否有某个成员函数

  • 发表了文章 2022-05-29

    C++ Trick:什么时候需要前置声明?

  • 发表了文章 2022-05-29

    C++为什么要弄出虚表这个东西?

  • 发表了文章 2022-05-29

    C++服务性能优化的道与术-道篇:google benchmark的安装与使用

  • 发表了文章 2022-05-29

    C++按值返回对象那些事

  • 发表了文章 2022-05-29

    C++的lambda是函数还是对象?

  • 发表了文章 2022-05-29

    C/C++为什么要专门设计个do…while?

  • 发表了文章 2022-05-29

    brpc小课堂:从StringPiece说开来(一)

  • 发表了文章 2022-05-29

    白嫖Github的Action做定时任务

  • 发表了文章 2022-05-29

    STL中有哪些副作用或稍不注意会产生性能开销的地方?

  • 发表了文章 2022-05-29

    当我们谈论shared_ptr的线程安全性时,我们在谈论什么

  • 发表了文章 2022-05-29

    C++ STL容器如何解决线程安全的问题?

  • 发表了文章 2022-05-29

    C++代码简化之道 (2):消除非必要的指针

正在加载, 请稍后...
滑动查看更多
  • 回答了问题 2014-10-30

    【第六期】10月30日ECS产品经理对控制台需求及问题分享与答疑!

    Re【第六期】10月30日ECS产品经理对控制台需求及问题分享与答疑!
    ssh登录,经常会卡死,或者掉线啊。
    踩0 评论0
  • 提交了问题 2014-10-25

    我连不上我的主机啦。。。。

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息