05 2023 档案

摘要:(1)bin/zkCli.sh 进入 zk 客户端, 默认连接本地 2181 端口 (2)bin/zkCli.sh -server host:port 指定要连接的服务器和端口 (3)create /path1/path2 data 创建指定节点, 并赋值数据 (需要提前手动创建好父节点, 否则异常 阅读全文
posted @ 2023-05-25 15:49 zwj鹿港小镇 阅读(133) 评论(0) 推荐(0) 编辑
摘要:以下是C和C++的性能调优工具,包含工具介绍和链接: (1)Valgrind:一款非常流行的内存调试和性能分析工具,可以检测内存泄漏、死锁等问题,并提供CPU性能分析工具。它可以跟踪程序中的所有内存分配和释放操作,并在程序执行时给出详细的报告。Valgrind是一个开源工具,支持Linux和MacO 阅读全文
posted @ 2023-05-22 17:30 zwj鹿港小镇 阅读(355) 评论(0) 推荐(0) 编辑
摘要:一、互斥锁 最常使用于线程同步的锁;标记用来保证在任一时刻,只能有一个线程访问该对象,同一线程多次加锁操作会造成死锁;临界区和互斥量都可用来实现此锁,通常情况下锁操作失败会将该线程睡眠等待锁释放时被唤醒 二、递归锁 严格上讲递归锁只是互斥锁的一个特例,同样只能有一个线程访问该对象,但允许同一个线程在 阅读全文
posted @ 2023-05-20 18:27 zwj鹿港小镇 阅读(63) 评论(0) 推荐(0) 编辑
摘要:Reactor 翻译过来的意思是「反应堆」,可能大家会联想到物理学里的核反应堆,实际上并不是的这个意思。 这里的反应指的是「对事件反应」,也就是来了一个事件,Reactor 就有相对应的反应/响应。 事实上,Reactor 模式也叫 Dispatcher 模式,我觉得这个名字更贴合该模式的含义,即  阅读全文
posted @ 2023-05-19 17:38 zwj鹿港小镇 阅读(100) 评论(0) 推荐(0) 编辑
摘要:一、libevent库简介 Libevent是一个用C语言编写的,是开源社区的一款高性能的I/O框架库,使用Libevent的著名案例有:高性能的分布式内存对象缓存软件memcached,Googlo浏览器Chromium的Linux版本。作为一个I/O框架库,Libevent具有如下特点: 跨平台 阅读全文
posted @ 2023-05-19 16:11 zwj鹿港小镇 阅读(120) 评论(0) 推荐(0) 编辑
摘要:一、前言 对于行锁和表锁的含义区别,在面试中应该是高频出现的,我们应该对MySQL中的锁有一个系统的认识,更详细的需要自行查阅资料,本篇为概括性的总结回答。 MySQL常用引擎有MyISAM和InnoDB,而InnoDB是mysql默认的引擎。MyISAM不支持行锁,而InnoDB支持行锁和表锁。 阅读全文
posted @ 2023-05-18 17:37 zwj鹿港小镇 阅读(82) 评论(0) 推荐(0) 编辑
摘要:一、应用场景 多线程对同一资源的竞争,需要用到锁,例如Java自带的Synchronized、ReentrantLock。但只能用于单机系统中,如果涉及到分布式环境(多机器)的资源竞争,则需要分布式锁。 1、分布式锁的主要作用: (1)保证数据的正确性: 比如:秒杀的时候防止商品超卖,表单重复提交, 阅读全文
posted @ 2023-05-18 14:46 zwj鹿港小镇 阅读(2094) 评论(0) 推荐(0) 编辑
摘要:1、常见变量的表示 序号 参数 说明 1 $0 当前脚本的文件名 2 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是1 3 $# 传递给脚本或函数的参数个数 4 $* 传递给脚本或函数的所有参数 5 $@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $ 阅读全文
posted @ 2023-05-17 12:33 zwj鹿港小镇 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-05-15 21:43 zwj鹿港小镇 阅读(20) 评论(0) 推荐(0) 编辑
摘要:对于运行在Linux上的分布式系统,一个标准的性能调优建议是调整tcp_rmem和tcp_wmem内核可调参数。但是这些是什么呢?为什么它们很重要?它们是如何工作的? 一、理解TCP缓冲区 为了更好地理解TCP缓冲区是如何工作的,让我们研究这样一个场景:“应用程序A”(客户端)希望通过TCP将数据发 阅读全文
posted @ 2023-05-15 17:54 zwj鹿港小镇 阅读(1017) 评论(0) 推荐(0) 编辑
摘要:系统级性能优化通常包括两个阶段:性能剖析(performance profiling)和代码优化。 性能剖析的目标是寻找性能瓶颈,查找引发性能问题的原因及热点代码。 通过它,应用程序可以利用 PMU,tracepoint 和内核中的特殊计数器来进行性能统计。它不但可以分析指定应用程序的性能问题 (p 阅读全文
posted @ 2023-05-15 16:47 zwj鹿港小镇 阅读(50) 评论(0) 推荐(0) 编辑
摘要:一、什么是消息队列: 1.1、消息队列的优点: (1)解耦:将系统按照不同的业务功能拆分出来,消息生产者只管把消息发布到 MQ 中而不用管谁来取,消息消费者只管从 MQ 中取消息而不管是谁发布的。消息生产者和消费者都不知道对方的存在; (2)异步:主流程只需要完成业务的核心功能;对于业务非核心功能, 阅读全文
posted @ 2023-05-09 09:48 zwj鹿港小镇 阅读(210) 评论(0) 推荐(0) 编辑
摘要:1、为什么使用消息队列 (1)解耦 (2)异步 (3)流量消峰填谷 2、消息队列的优点和缺点 有点: (1)解耦 (2)异步 (3)流量消峰填谷 缺点: (1)可用性降低 (2)复杂度提高 (3)一致性问题 3、常见消息队列的比较 4、RabbitMQ基础架构 阅读全文
posted @ 2023-05-08 16:56 zwj鹿港小镇 阅读(10) 评论(0) 推荐(0) 编辑
摘要:1、Linux操作系统的引导 (1)Linux操作系统代码是如何从硬盘中读出的 (2)Linux在启动的时候如何拿到硬件参数的 (3)Linux在初始运行中都做了什么 内核代码中boot地下有3个文件,bootsect.s、setup.s、head.s BIOS/Bootloader: 由PC机的B 阅读全文
posted @ 2023-05-07 13:56 zwj鹿港小镇 阅读(61) 评论(0) 推荐(0) 编辑
摘要:1、内核进程的销毁 前半部分: (1)exit是销毁函数 一个系统调用 do_exit; 首先是该函数会释放进程的代码段和数据段占用的内存 (2)关闭进程打开的所有文件,对当前的目录和i节点进行同步(文件操作); (3)如果当前要销毁的进程有子进程,那么就让1号进程作为新的父进程(init进程); 阅读全文
posted @ 2023-05-03 19:25 zwj鹿港小镇 阅读(31) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示