- 博客(107)
- 收藏
- 关注
原创 Go进阶-Module
原文链接链接1. Module使用在文章Go入门-Go语言从入门到进阶实战中,我们介绍了GO项目的结构,但是没有解释其中的一个文件go.mod, 这其实是模块的意思。在go.mod中可以引入go的依赖。require ( github.com/golang/mock v1.4.4 github.com/golang/protobuf v1.4.3 github.com/patrickmn/go-cache v2.1.0+incompatible github.com/
2021-10-22 13:49:21
322
原创 Java运行时分析工具
原文链接链接Jpsjps 可以看到运行中的java进程sh-4.2$ jps370 xxx.jar180682 JpsJcmdjcmd可以看到运行中的java进程以及参数sh-4.2$ jcmd370 /usr/local/xxx.jar config_path=xxx.yaml180773 sun.tools.jcmd.JCmdJmapjmap是可以查看整个JVM内存的工具。jmap -heap <pid>即可查看JVM堆堆使用情况,主要有两块,一块是Heap
2021-10-22 13:28:58
652
1
原创 Go入门-Go语言从入门到进阶实战
原文链接链接1. 开始学习Go从一本书开始,这本书叫做《Go语言从入门到进阶实战(视频教学版)》,当然这篇Blog并不是所有的内容都来自这本书,毕竟书中也有不足之处。2. Hello World学啥语言的第一步都是Hello World, 第一步是搭建开发环境,直接下载Goland,创建一个新的工程,点击create建好项目以后,项目应该是下面这个样子的,当然我们不用关注这个go.mod是干什么的,我们只是利用IDE编写代码,使用命令行运行。s@HELLOWANG-MB1 go-stud
2021-10-22 12:19:20
769
原创 Go进阶-协程的本质与CPU的争夺
原文链接链接1. 从协程谈起很多语言都支持协程,那什么是协程,和线程进程有什么区别呢?这里推荐一篇Blog,笔者直接提取其中最重要的部分 进程、线程 和 协程 之间概念的区别 对于 进程、线程,都是有内核进行调度,有 CPU 时间片的概念,进行 抢占式调度(有多种调度算法) 对于 协程(用户级线程),这是对内核透明的,也就是系统并不知道有协程的存在,是完全由用户自己的程序进行调度的,因为是由用户程序自己控制,那么就很难像抢占式调度那样做到强制的 CPU 控制权切换到其他进程/线程
2021-10-21 19:51:53
779
原创 双数组字典树
原文链接链接0. 前置知识需要提前有字典树的知识1. 双数组字典树介绍双数组字典树英文名为DoubleArrayTrie,他的特点就是使用两个数组来表示一颗字典树,这里有比较有趣了,两个数组是怎么表达出字典树的呢?2. 双数组介绍顾名思义,有两个数组,一个是base,另一个是check。首先介绍数组的下标,数组的下标代表字典树上节点的编号,一个下标对应一个节点。其实base数组的作用是用来记录一个基础值,这个值可以是随机值,只要不产生冲突就可以了,所以这个值可以用随机数算法获取,当然这样效
2021-10-21 14:50:14
1556
原创 Go入门-Effective-Go
原文链接链接1. Effective GOhttps://github.com/bingohuang/effective-go-zh-en2. 格式化在最开始学习GO的时候,写了几篇Blog,发现代码里面的对齐都是TAB,这让我很困惑,知道现在才知道,GO语言,默认使用TAB进行对齐。当然GO还有自己的空格规则x<<8 + y<<16,向这份代码,我们根据空格就能知道计算的优先级了。3. 注释3.1. 包注释Go语言要求package语句前加上注释,来介绍整个包,如
2021-10-21 14:45:11
627
原创 破坏之王:DDOS攻击与防范深度剖析
原文链接链接1. 笔者序这篇Blog记录了笔者对《破坏之王: DDoS攻击与防范深度剖析》的学习记录,贡献出来和大家一起学习。为什么学这个,笔者的服务在2021年9月4日晚上遭受了惨重的DDoS攻击,攻击者使用了100多台肉鸡,对笔者对服务进行了持续的CC攻击,最终导致产生了18TB的流量,这部分费用总计高达4000元人民币,当然在腾讯工作人员的积极帮助下,对这笔费用进行了处理,笔者也不用对这些费用进行支付,所以笔者在此由衷地感谢腾讯云团队,另外也感谢笔者的大学室友,谢谢你们的帮助。2. DD
2021-09-08 22:08:48
732
1
原创 redis源码
原文链接链接版本使用6.2.4sds.h sds.c内存对齐__attribute__((__packed__))可以让编译器对结构体不进行内存对齐,详细参考#include <stdint.h>#include <stdio.h>struct __attribute__((__packed__)) sdshdr64 { uint64_t len; /* used */ uint64_t alloc; /* excludin
2021-09-07 16:48:26
641
原创 Kafka
原文链接链接Kafka概述定义Kafka是一个分布式的基于发布/订阅模式的消息队列,应用于大数据实时处理领域消息队列的优点主要是解耦和削峰解耦可恢复,如果系统中一部分组件失效,加入队列的消息仍然可以在系统恢复后被处理削峰灵活,可动态维护消息队列的集群异步 消息队列的两种模式点对点一对一,消费者主动拉取消息,收到后清除发布/订阅模式一对多,消费者消费后,消息不会清除,当然也不是永久保留,分两种,一个是发布者主动推送,另一个是消费者主动拉取,Kafka就是消费者主动拉取
2021-09-04 21:37:57
340
原创 自己动手写Docker
原文链接链接容器与开发语言容器随着云计算领域的兴起,容器这个词出现了,但是什么是容器?容器英文名Container,是基于Linux Namespace以及Cgroups技术实现的具备隔离特性的一组进程。OK,他是一组具备隔离特性的进程。虚拟机虚拟机是使用Hypervisor技术提供的虚拟化硬件的操作系统。OK,虚拟机是一个操作系统。操作系统和进程的区别操作系统是管理软件、硬件的一组进程。GO这里不做介绍(其实我只能看懂一点点Go代码,没时间学,后面有机会再出这方面的Blog吧
2021-09-04 21:35:41
1032
原创 从TCP看HTTP
原文链接链接以下我们演示一条HTTP请求指令[root@11c749e93da4 /]# curl www.baidu.com<!DOCTYPE html><!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge&
2021-09-04 21:34:51
5005
原创 从TCP看HTTP
以下我们演示一条HTTP请求指令[root@11c749e93da4 /]# curl www.baidu.com<!DOCTYPE html><!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><m
2021-09-04 20:57:15
6589
原创 Kafka-Docker
原文链接链接Install Kafkastep 1. launch zookeeper in backgrounddocker run -d \-p 2181:2181 \--name zookeeper \-m 100M --memory-swap 100M --cpus 0.1 \zookeeperstep 2. launch kafkadocker run -it --rm \--link zookeeper:zookeeper \--name=kafka \-p 9092
2021-08-28 16:13:57
138
原创 Kafka.md
date: 2020-04-19 13:32:51updated: 2020-04-19 13:32:51mathjax: truetypora-root-url: ....Kafka概述定义Kafka是一个分布式的基于发布/订阅模式的消息队列,应用于大数据实时处理领域消息队列的优点主要是解耦和削峰解耦可恢复,如果系统中一部分组件失效,加入队列的消息仍然可以在系统恢复后被处理削峰灵活,可动态维护消息队列的集群异步 消息队列的两种模式点对点一对一,消费者主动拉取消息,.
2021-08-28 15:57:51
305
原创 大型分布式网站架构设计与实践.txt
date: 2021-03-30 00:55:28updated: 2021-03-30 00:55:28typora-root-url: ....
2021-08-28 15:53:00
176
原创 数据库设计.txt
date: 2020-05-01 23:29:22updated: 2020-05-01 23:29:22mathjax: truetypora-root-url: ../..终于开始大实习设计了买家我们考虑到买家需要账号、密码来登陆,需要名字来作为识别、需要性别来做后期统计、需要生日来发奖品、需要电话号码、邮箱来找回密码、然后还有vip等级、积分卖家账号+密码+名字+vip等级商品id+名字+卖家id+价格+剩余库存+分类+评价银行卡+地址这里用来送货和付款订单他和买家、.
2021-08-28 14:40:20
152
原创 数据库设计.txt
date: 2020-05-01 23:29:22updated: 2020-05-01 23:29:22mathjax: truetypora-root-url: ../..终于开始大实习设计了买家我们考虑到买家需要账号、密码来登陆,需要名字来作为识别、需要性别来做后期统计、需要生日来发奖品、需要电话号码、邮箱来找回密码、然后还有vip等级、积分卖家账号+密码+名字+vip等级商品id+名字+卖家id+价格+剩余库存+分类+评价银行卡+地址这里用来送货和付款订单他和买家、.
2021-08-28 14:39:32
120
原创 30天自制操作系统.txt
date: 2020-10-19 00:00:00updated: 2020-10-19 00:00:00typora-root-url: ....30天自制操作系统第0天第1天 从计算机结构到汇编程序入门二进制编辑器Bz162QEMU官网[git](git clone git://git.qemu-project.org/qemu.git)wget https://download.qemu.org/qemu-3.0.0.tar.xztar xvJf qemu-3.0.0..
2021-08-28 13:50:23
204
原创 发布Maven二方包到Github仓库
<p>转载自 <a href="https://fightinggg.github.io/QTI5FC.html">link</a></p><h1 id="步骤1">步骤1</h1><p>访问<a
2021-05-22 18:30:24
546
原创 从TCP看HTTP
<p>转载自 <a href="https://fightinggg.github.io/QR12J0.html">link</a></p><p>以下我们演示一条HTTP请求指令</p><pre>
2021-04-05 22:15:03
1317
原创 操作系统导论
原文链接链接操作系统导论推荐阅读https://weread.qq.com/web/reader/db8329d071cc7f70db8a479kc81322c012c81e728d9d180阅读感想操作系统最伟大的地方就是他的抽象,将CPU虚拟化,把一个物理CPU变成了多个虚拟CPU,从而支持多个程序并发运行;通过内存虚拟化,将物理内存抽象为多个巨大的、高速的虚拟内存,让每一个进程都以为自己拥有无限大内存空间。第4章 进程运行的程序就是进程,操作系统有很多关于进程的API, ·创
2021-04-05 22:13:40
374
原创 SpringBoot2-配置
<p>转载自 <a href="https://fightinggg.github.io/Q8TZMI.html">link</a></p><h1 id="springboot配置">springb
2021-03-15 00:57:20
145
原创 spring4-创建IOC容器
<p>转载自 <a href="https://fightinggg.github.io/Q8BONM.html">link</a></p><h1 id="创建ioc容器">创建IOC容器</h1>
2021-03-15 00:56:49
75
原创 RBTree
<p>转载自 <a href="https://fightinggg.github.io/Q79R89.html">link</a></p><h1 id="red-black-tree">red b
2021-03-15 00:56:18
88
原创 P1368最小表示法
<p>转载自 <a href="https://fightinggg.github.io/Q7WI59.html">link</a></p><h1 id="题目描述">题目描述</h1><p>小敏
2021-03-15 00:55:47
214
原创 Maven
<p>转载自 <a href="https://fightinggg.github.io/Q85ZID.html">link</a></p><h1 id="maven依赖管理">maven依赖管理<
2021-03-15 00:55:16
61
原创 Java基础2-日志
<p>转载自 <a href="https://fightinggg.github.io/Q8IUUT.html">link</a></p><h1 id="log4j">log4j</h1><h2
2021-03-15 00:54:45
148
原创 c++基础笔记20-type2type
<p>转载自 <a href="https://fightinggg.github.io/Q78QOU.html">link</a></p><h1 id="type2type">type2type<
2021-03-15 00:54:14
434
原创 c++基础笔记5-对象初始化
<p>转载自 <a href="https://fightinggg.github.io/Q74JJU.html">link</a></p><h1 id="对象在使用以前一定要初始化">对象在使用以
2021-03-15 00:53:43
144
原创 早期(编译期)优化
<p>转载自 <a href="https://fightinggg.github.io/Q5TYBT.html">link</a></p><h3 id="java-编译">Java 编译</h3>
2021-03-15 00:53:12
64
原创 2019牛客多校7H
<p>转载自 <a href="https://fightinggg.github.io/PVX51D.html">link</a></p><p>###namePair</p><p>###des
2021-03-15 00:52:41
83
原创 AVL
<hr><p>date: 2020-03-16 12:30:38updated: 2020-03-16 12:30:38mathjax: true</p><hr><h1 id="avl-tr
2021-03-14 00:07:42
86
原创 AC自动机
<hr><p>date: 2020-03-16 16:09:03updated: 2020-03-16 16:09:03mathjax: true</p><hr><h1 id="ac自动机"
2021-03-14 00:07:11
90
原创 AATree
<hr><p>date: 2020-03-16 12:31:32updated: 2020-03-16 12:31:32mathjax: true</p><hr><h1 id="aa-tre
2021-03-14 00:06:40
428
1
原创 2019牛客多校9A
<hr><p>date: 2019-08-16 16:22:38updated: 2019-08-16 16:22:38mathjax: true</p><hr><p>###namethe
2021-03-14 00:06:06
167
原创 2019牛客多校8E
<hr><p>date: 2019-08-15 19:11:11updated: 2019-08-15 19:11:11mathjax: true</p><hr><p>###nameexp
2021-03-14 00:05:33
88
原创 2019牛客多校7H
<hr><p>date: 2019-08-08 20:51:13updated: 2019-08-08 20:51:13mathjax: true</p><hr><p>###namePai
2021-03-14 00:05:02
120
原创 2019牛客多校7E
<hr><p>date: 2019-08-08 20:29:37updated: 2019-08-08 20:29:37mathjax: true</p><hr><p>###nameFin
2021-03-14 00:04:32
85
原创 234Tree
<hr><p>date: 2020-03-16 12:31:10updated: 2020-03-16 12:31:10mathjax: true</p><hr><h1 id="234tre
2021-03-14 00:04:01
117
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人