- 博客(6)
- 收藏
- 关注
原创 kafka的工作原理
图示是消费者组内的消费者小于partition数量的情况,所以会出现某个消费者消费多个partition数据的情况,消费的速度也就不及只处理一个partition的消费者的处理速度!所以在实际的应用中,建议。由于该文件采用的是稀疏索引的方式存储着相对offset及对应message物理偏移量的关系,所以直接找相对offset为5的索引找不到,这里同样利用二分法查找相对offset小于或者等于指定的相对offset的索引条目中最大的那个相对offset,所以找到的是相对offset为4的这个索引。
2023-10-19 16:36:11 53 1
原创 Spring Boot----Maven简介
Maven 翻译为"专家"、"内行",是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。当我们处理多模块的项目(包含成百上千个模块或者子项目),模块间的依赖关系就变得非常复杂,管理也变得很困难。通过可传递性的依赖,所有被包含的库的图形会快速的增长。我们需要做的只是在每个项目的 pom 中定义好直接的依赖关系。3、卓越的依赖管理,包括自动更新,依赖关闭(也称为传递依赖)。
2023-07-06 14:23:09 114 1
转载 动态库和静态库
不同的应用程序如果调用相同的库,那么内存中只需要有一份共享库的实例即可,规避了空间的浪费问题。同时因为是在程序运行时被载入的,也解决了程序的更新问题,不需要重新编译。库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。静态库是在编译链接期被链接到可执行文件中,运行时不在需要该静态库,因此体积比较大。动态库是在程序运行时才被载入,因此程序运行时候依赖动态库,体积比较小。/动态库是为了解决静态库的缺点而产生的。
2023-03-29 15:12:02 96
原创 warning: ISO C++ forbids converting a string constant to ‘char*‘ [-Wwrite-strings]
在我们上面的表达式中就存在这样的一个问题,等号右边的"abc"是一个不变常量,在c++中叫做string literal,type是const char *,而p则是一个char指针。如果强行赋值会发生什么呢?编译运行的结果会因编译器和操作系统共同决定,有的编译器会通过,有的会抛异常,就算过了也可能因为操作系统的敏感性而被杀掉。我们在学习c或者c++的时候都知道,如果在赋值操作的时候,等号两边的变量类型不一样,那么编译器会进行一种叫做 implicit conversion 的操作来使得变量可以被赋值。
2022-12-14 11:05:57 1568
原创 make和cmake
每次当我们改变了系统中的一小部分源码的时候,重新编译整个程序的效率是很低的。需要”make”的一个原因是,它可以使得终端用户构建和安装你的应用包,而不用去详细的了解它具体是如何做到的。构建的整个过程是什么?对于CMake,需要进行2步:第一,你需要配置你的编译环境(可以通过在你的编译目录中输入cmake ,也可以通过使用GUI客户端)。这将创建一个等效的,依赖你选择的编译环境的编译脚本或其他。当你编写了一个程序,你应该为它写一个makefile文件,这样才有可能通过使用“Make”来构建和安装你的程序。
2022-11-17 14:07:57 325
原创 C语言基础学习——指针
定义指针变量和定义普通变量写法相同,只不过需要在指针变脸前面加*,有以下写法:或其中,datatype代表指针指向的数据类型,例如:年龄为整形变量:int *age=18;姓名为字符型变量:char *name = "zhangsan";age是一个指向 int 类型数据的指针变量,变量的值为18,age的值也可以由取a的地址获得。比如:int a = 18;在定义指针变量 age 的同时对它进行初始化,并将变量 a 的地址赋予它,此时age就指向了 a。
2022-11-04 18:09:42 118 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人