-
-
微信支付软件架构,这也太厉害了!
作者:Jack Jiang背景作为一个重要业务,微信支付在客户端上面临着各种问题。其中最核心问题就是分平台实现导致的问题:iOS 和安卓实现不一致容易出 Bug通过沟通保证不了质量扩展性差,无法快速响应业务需求...
06月12日[编码文章]浏览:3
-
C++ std:shared_ptr自定义allocator引入内存池
当C++项目里做了大量的动态内存分配与释放,可能会导致内存碎片,使系统性能降低。当动态内存分配的开销变得不容忽视时,一种解决办法是一次从操作系统分配一块大的静态内存作为内存池进行手动管理,堆对象内存分配时从内存池中分配一块类对象大小的内存,释放时并不实际将内存归还给操作系统,而是交给自定义的内存管理...
06月12日[编码文章]浏览:3
-
编程核心思想:模块的抽象、分解与组合,及实现其高内聚、低耦合
代码的易复用、易扩展、易维护是代码组织的最高目标。1 应对复杂性:抽象(abstract)、分解(decompose)问题的数据抽象与功能(function)抽象,抽象出模块及模块分解。从模块四要素去理解模块:...
06月12日[编码文章]浏览:2
-
Android系统调试(03)OOM问题总结
1 内存泄露框架@1 为什么会有内存泄漏?一个不会被使用的对象,因为另一个正在使用的对象持有该对象的引用,导致它不能正常被回收,而停留在...
06月12日[编码文章]浏览:1
-
15分钟弄懂 const 和 define
1. 什么是const ?const是C/C++中的一个关键字(修饰符 , const一般用来定义一个常量, 既然叫做常量, 即以后再也不能修改其值.const定义常量2. 什么是#define?而define, 宏定义, 则是一条预编译指令, 编译器在编译阶段会将所有使用到宏的地方简单地进行替换....
06月12日[编码文章]浏览:2
-
盘点腾讯linux C++后台开发面试题
鹅厂是cpp的主战场,而以cpp为背景的工程师大都对os,network这块要求特别高,不像是Java这种偏重业务层的语言,之前面试Java的公司侧重还是在数据结构、网络、框架、数据库和分布式。所以OS这块吃的亏比较大。面试分为以下几大块C/C++网络操作系统Linux系统MongoDBRedism...
06月12日[编码文章]浏览:2
-
-
oatpp c++源码 设计模式分析
Oatpp 是一个用于构建高性能、异步、基于 HTTP 的 Web 应用程序和 API 的 C++ 框架。下面从多个常见的设计模式角度来分析 Oatpp 的 C++ 源码。1. 工厂模式(Factory Pattern)...
06月12日[编码文章]浏览:2
-
为何 C++ 多态设计总出错?大部份开发者没掌握的虚函数底层
在C++编程的世界中,代码不仅仅是功能的实现,更是性能、安全性和可维护性的综合体现。你是否曾因内存泄漏、多态设计的复杂性或类型转换的不可控而感到困惑?作为一名C++技术专家,我将带你深入探索虚拟构造函数、智能指针、类型转换等高级技巧,通过精心设计的小案例和优化前后对比,揭示这些技术的底层原理和实践价...
06月12日[编码文章]浏览:4