2020年9月29日

查看linux机器cpu、内存、内核等系统信息

摘要: linux服务器的cpu信息在/proc/cpuinfo文件中,内存信息在/proc/meminfo文件中。 通过文件可以获得物理cpu的个数、cpu的核数、逻辑cpu的个数 查看物理cpu个数: cat /proc/cpuinfo | grep "physical id" | sort | uni 阅读全文

posted @ 2020-09-29 20:09 koushr 阅读(576) 评论(0) 推荐(0) 编辑

2020年9月7日

redis为什么那么快

摘要: 1、纯内存操作。 2、高效的数据结构。 3、使用I/O多路复用模型epoll。 见https://www.cnblogs.com/koushr/p/13986873.html 阅读全文

posted @ 2020-09-07 00:44 koushr 阅读(103) 评论(0) 推荐(0) 编辑

2020年9月4日

websocket协议及应用

摘要: websocket协议是一个应用层协议,地位和http协议是一样的。 websocket最主要的作用是实现 <!DOCTYPE html> <html lang="en"> <script> // 向后端发送一个websocket连接请求 let ws = new WebSocket('ws://1 阅读全文

posted @ 2020-09-04 09:57 koushr 阅读(185) 评论(0) 推荐(0) 编辑

2020年8月20日

leetcode第一篇:排序算法

摘要: 必须要掌握的排序算法,重要性从高到低,有: 快排 归并排序 堆排序 希尔排序 插入排序 选择排序 冒泡排序 阅读全文

posted @ 2020-08-20 10:07 koushr 阅读(111) 评论(0) 推荐(0) 编辑

2020年8月6日

深度优先搜索、广度优先搜索

摘要: 深度优先搜索: 英文是Depth First Search,简称为DFS。主要思路就是从图/树中一个顶点开始,沿着一条路一直走到底,然后从这条路尽头的节点回退到上一个节点,再从另一条路走到底。。。不断重复此过程,直到所有的节点都遍历完成。DFS的特点就是一条道走到黑,不撞南墙不回头。 DFS遍历下面 阅读全文

posted @ 2020-08-06 19:32 koushr 阅读(113) 评论(0) 推荐(0) 编辑

2020年7月29日

go基础第二篇:利用pprof定位cpu和内存问题

摘要: 在项目的main.go文件中引入 _ "net/http/pprof" 在main函数中加入: go func() { _ = http.ListenAndServe(":6060", nil) }() 保证6060端口能访问到,如在容器中部署的话,别忘了添加端口映射。如果有防火墙的话,别忘了放开端 阅读全文

posted @ 2020-07-29 14:45 koushr 阅读(661) 评论(0) 推荐(0) 编辑

2020年7月27日

go基础第一篇:并发之channel

摘要: go不推荐使用共享内存机制,而是推荐使用CSP并发模型机制。 CSP全称是Communicating Sequential Processes,可以翻译成通信顺序进程(Communicating翻译成通信的意思)。简单解释就是,CSP模型由并发执行的实体组成,实体之间通过发送消息进行通信,发送消息时 阅读全文

posted @ 2020-07-27 19:05 koushr 阅读(232) 评论(0) 推荐(0) 编辑

2020年5月22日

docker第二篇:自定义Dockerfile文件

摘要: Dockerfile文件内容至少要有这么几项: 1、用FROM指定基础镜像 如FROM nginx 2、用COPY把宿主机上的文件复制到镜像中 如COPY ./aa.jar /path/ COPY后面跟的宿主机文件的路径不能是绝对路径,而只能是build上下文的相对路径。把aa.jar复制到path 阅读全文

posted @ 2020-05-22 18:16 koushr 阅读(418) 评论(0) 推荐(0) 编辑

2020年3月22日

kafka基本概念

摘要: 1、主题 Kafka将一组消息抽象归纳为一个主题(topic),也就是说,一个主题就是对消息的一个分类。生产者将消息发送到特定主题,消费者订阅主题或主题的某些分区进行消费。 2、消息 消息是Kafka通信的基本单位,由一个固定长度的消息头和一个可变长度的消息体构成。每一条消息称为Record。 3、 阅读全文

posted @ 2020-03-22 13:33 koushr 阅读(333) 评论(0) 推荐(0) 编辑

2020年1月10日

shell第六篇:

摘要: RT 阅读全文

posted @ 2020-01-10 23:10 koushr 阅读(227) 评论(0) 推荐(0) 编辑

2019年11月26日

grpc第四篇:grpc-go、grpc-java桩代码生成及服务端、客户端开发

摘要: 假设有一个proto文件,内容同https://github.com/grpc/grpc-go/blob/master/examples/helloworld/helloworld/helloworld.proto,如何生成golang或者java的桩代码? 生成golang桩代码: 1、安装pro 阅读全文

posted @ 2019-11-26 20:55 koushr 阅读(289) 评论(0) 推荐(0) 编辑

kafka副本同步机制

摘要: kafka的复制机制,既不是单纯的同步复制,也不是单纯的异步复制。同步复制要求所有的follower都复制完,这条消息才会被commit,这种复制方式对吞吐率影响较大。异步复制,数据只要被leader写入log就认为已经commit,这种情况下,如果follower都还没有复制完,leader突然宕 阅读全文

posted @ 2019-11-26 18:44 koushr 阅读(234) 评论(0) 推荐(0) 编辑

2019年11月21日

五大常用算法第五篇:回溯法及习题(要记住套路)

摘要: 英文是Backtracking Algorithms leetcode题目: 46、全排列。medium 阅读全文

posted @ 2019-11-21 19:47 koushr 阅读(386) 评论(0) 推荐(0) 编辑

2019年11月5日

线性表、栈、队列、串、树、图

摘要: 1、线性表 线性表是由n个数据元素组成的有限序列。n定义为线性表的长度,n=0时,称为空表。 线性表的存储结构分为顺序表和链表。 顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。 链表也是一种线性表,但是它不会按线性的顺序存储数据,而是在每一个 阅读全文

posted @ 2019-11-05 16:18 koushr 阅读(351) 评论(0) 推荐(0) 编辑

2019年10月20日

linux第一篇:ssh脚本编写

摘要: 定义变量用export,如export TAG=1.0 如果想定义一个变量A,其在变量B有值时等于变量B,否则等于变量C,可以用三目表达式:export A=${B:-$C} 阅读全文

posted @ 2019-10-20 01:43 koushr 阅读(174) 评论(0) 推荐(0) 编辑

2019年10月9日

mysql InnoDB存储引擎

摘要: Chapter 17 The InnoDB Storage Engine 阅读全文

posted @ 2019-10-09 14:55 koushr 阅读(659) 评论(0) 推荐(0) 编辑

2019年8月29日

shell第五篇:

摘要: RT 阅读全文

posted @ 2019-08-29 11:50 koushr 阅读(358) 评论(0) 推荐(0) 编辑

grpc第一篇:What is gRPC

摘要: 本文将介绍gRPC和protocol buffers。gRPC可以利用protocol buffers作为其接口定义语言(Interface Definition Language,IDL)和信息交换格式。 预览 在gRPC中,一个客户端应用可以直接调用不同机器上的服务端应用的方法,就好像调用本地方 阅读全文

posted @ 2019-08-29 11:39 koushr 阅读(201) 评论(0) 推荐(0) 编辑

2019年7月3日

事务

摘要: ACID A是atomicity,原子性。 C是consistency,一致性。 I是isolation,隔离性。隔离级别很重要,脏读、不可重复读、幻读,都是隔离级别相关的问题。 D是durability,持久性。 下面以mysql数据库详细讲解一下隔离级别。 隔离级别有4种,由低到高,依次为Rea 阅读全文

posted @ 2019-07-03 19:45 koushr 阅读(696) 评论(0) 推荐(0) 编辑

2019年6月19日

EFK第一篇:

摘要: https://juejin.cn/post/7088314722432319524 阅读全文

posted @ 2019-06-19 11:53 koushr 阅读(317) 评论(0) 推荐(0) 编辑

2019年6月18日

分布式锁

摘要: 分布式锁的使用场景是什么呢? 之前红包需求的时候,有一个场景要用到分布式锁。同一个openid,最多只能抢到一个子红包。 1、先判断这个openid在不在该红包对应的已抢openid hash中 String hget(String key, String field); 2、如果在,就返回。如果不 阅读全文

posted @ 2019-06-18 23:14 koushr 阅读(683) 评论(0) 推荐(0) 编辑

2019年6月2日

kafka服务端

摘要: kafka服务端的节点称为broker,一个kafka集群有多个broker。每个topic都可以有多个分区,每个分区都可以有多个副本。broker数、分区数、副本数随时可以扩容,这是典型的分布式多副本冗余机制。 通过zookeeper从各broker中选出一个作为controller,contro 阅读全文

posted @ 2019-06-02 18:51 koushr 阅读(4483) 评论(0) 推荐(0) 编辑

2018年8月15日

mysql:redolog

摘要: RT 阅读全文

posted @ 2018-08-15 20:31 koushr 阅读(4873) 评论(0) 推荐(0) 编辑

2018年7月19日

undolog详解

摘要: RT 阅读全文

posted @ 2018-07-19 09:13 koushr 阅读(535) 评论(0) 推荐(0) 编辑

2018年6月15日

redolog详解

摘要: RT 阅读全文

posted @ 2018-06-15 18:44 koushr 阅读(167) 评论(0) 推荐(0) 编辑

2018年6月7日

mysql服务端的日志7.4

摘要: https://dev.mysql.com/doc/refman/8.4/en/server-logs.html mysql服务端有6种日志,分别是Err log、General query log、Binary log、Relay log、Slow query log、DDL log。 log可以 阅读全文

posted @ 2018-06-07 21:03 koushr 阅读(617) 评论(0) 推荐(0) 编辑

sql笔试题

摘要: 题目一、表t_score,数据如下 name subject score 张三 语文 81 张三 数学 75 李四 语文 76 李四 数学 90 王五 语文 81 王五 数学 100 王五 英语 90 对应ddl及dml语句如下: CREATE TABLE `t_score` ( `id` int 阅读全文

posted @ 2018-06-07 16:54 koushr 阅读(179) 评论(0) 推荐(0) 编辑

2017年12月17日

case when语法以及与group by的配合使用

摘要: 一:case when语法: case when有两种语法: 语法1: case 某字段 when 值1 then 伪值1 when 值2 then 伪值2 ...... else 伪值n end 注意,when之间没有任何标点符号,且最后要以end结尾,否则会报语法错误。 如有一种常见情况是,数据 阅读全文

posted @ 2017-12-17 17:58 koushr 阅读(6702) 评论(0) 推荐(0) 编辑

2017年10月28日

五大常用算法第一篇:贪心算法及习题

摘要: 英文是greedy algorithm。 太难理解,且面试极少出,不学习这个算法。 leetcode题目: 力扣44、通配符匹配 思路: 力扣45:跳跃游戏II 力扣55:跳跃游戏 思路: 300、最长递增子序列。medium 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是 阅读全文

posted @ 2017-10-28 18:42 koushr 阅读(1064) 评论(0) 推荐(0) 编辑

kafka消费组、消费者

摘要: 一个消费组可能有一个或者多个消费者。同一个消费组可以订阅一个或者多个主题。主题的某一个分区只能被消费组的某一个消费者消费。那么分区和消费者之间是如何对应的呢? 假设消费组cg1(group.id=cg1)订阅了topic1,cg1有3个消费者c1、c2、c3,topic1有5个分区p1、p2、p3、 阅读全文

posted @ 2017-10-28 18:40 koushr 阅读(1116) 评论(0) 推荐(0) 编辑

单链表和双链表

摘要: 单链表英文是singly-linked list,双链表英文是doubly-linked list。 单链表的头结点、尾节点有数据吗? 双链表的头节点、尾节点有数据吗? 其实自己搞混了一个概念,头结点和头指针的概念。 阅读全文

posted @ 2017-10-28 18:30 koushr 阅读(250) 评论(0) 推荐(0) 编辑

2017年9月4日

sql语句中开窗函数的使用

摘要: postgresql和8.0版本之后的mysql,均支持开窗函数。 开窗函数主要分为两类: 一、排序函数: row_number() over(partition by xxx order by yyy) partition by xxx 表示按照xxx字段分区(分区就是分组的意思),如果没有par 阅读全文

posted @ 2017-09-04 00:11 koushr 阅读(3233) 评论(0) 推荐(1) 编辑

2017年8月6日

mysql一些概念

摘要: buffer pool,缓存池,Innodb引擎缓存数据和索引的内存区域,默认128M。可在mysql命令行客户端执行show variables like 'innodb_buffer_pool_size' 查看。如果可用内存很大,如GB级,那么可以创建多个buffer pool(设置innodb 阅读全文

posted @ 2017-08-06 18:35 koushr 阅读(214) 评论(0) 推荐(0) 编辑

2017年7月23日

红黑树

摘要: RT 阅读全文

posted @ 2017-07-23 21:47 koushr 阅读(678) 评论(0) 推荐(1) 编辑

LRU、LFU

摘要: 146、LRU缓存 Least recently used,最近最少使用。在put一个键值对,或者get一个现存的键值对时, 把这个键值对置为最近使用。 个人感觉难点在于置为最近使用。如果用数组或者链表或者队列存储键值对的key,那么置为最近使用,就是把这个key放到首。换句话说,需要选择一个合适的 阅读全文

posted @ 2017-07-23 02:11 koushr 阅读(1129) 评论(0) 推荐(0) 编辑

2017年6月11日

rpc核心

摘要: 被面试官问过这样一个问题:“假如要你实现一个rpc框架,客户端和服务端你要考虑哪些东西?” rpc框架负责屏蔽底层的传输方式(tcp或者udp)、序列化方式(xml/json/二进制)和通信细节,服务调用者可以像调用本地接口一样调用远程服务,而不需要关心底层通信细节和调用过程。 rpc的组件一般有服 阅读全文

posted @ 2017-06-11 16:16 koushr 阅读(235) 评论(0) 推荐(0) 编辑

2017年5月24日

RPC简介

摘要: RPC(Remote Process Call Protocol),远程过程调用协议,是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。 RPC采用客户机/服务器模式,请求程序就是一个客户机,而服 阅读全文

posted @ 2017-05-24 14:26 koushr 阅读(535) 评论(0) 推荐(0) 编辑

2017年5月14日

分布式一些概念

摘要: 分布式系统定义: 分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。 分布式系统一些典型的问题: 通信异常: 分布式系统需要在各个节点之间进行网络通信,因此每次网络通信都会伴随着网络不可用的风险,比如说光纤被挖断了。另外,即使分布式系统各节点之间的 阅读全文

posted @ 2017-05-14 00:50 koushr 阅读(365) 评论(0) 推荐(0) 编辑

2017年4月28日

树、二叉树、二叉查找树、平衡二叉树、B树、B+树

摘要: 一、树 Tree 树是n个结点的有限集。n=0时称为空树。在任意一棵非空树中:①有且仅有一个根结点;②当n>1时,其余结点可分为m个互不相交的有限集,其中每一个集合本身又是一棵树,称为根的子树。 结点的分类 结点拥有的子树的个数称为结点的度。度为0的结点称为叶结点。度不为0的结点称为分支结点。分支结 阅读全文

posted @ 2017-04-28 11:12 koushr 阅读(672) 评论(0) 推荐(0) 编辑

2017年4月19日

单调栈和前缀和

摘要: 单调栈是指 前缀和是指 阅读全文

posted @ 2017-04-19 23:04 koushr 阅读(644) 评论(0) 推荐(0) 编辑

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