Angel_CG
码龄7年
关注
提问 私信
  • 博客:405,123
    405,123
    总访问量
  • 34
    原创
  • 1,516,888
    排名
  • 58
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
  • 加入CSDN时间: 2017-11-27
博客简介:

AngelCG的博客

博客描述:
学习随笔
查看详细资料
个人成就
  • 获得344次点赞
  • 内容获得16次评论
  • 获得2,363次收藏
  • 代码片获得2,571次分享
创作历程
  • 12篇
    2021年
  • 1篇
    2020年
  • 16篇
    2019年
  • 8篇
    2018年
  • 1篇
    2017年
成就勋章
TA的专栏
  • Elasticsearch&Kibana
    1篇
  • Windows
    1篇
  • 容器化
    1篇
  • golang
    1篇
  • Redis
    7篇
  • 常见场景问题
    1篇
  • Java
    12篇
  • 数据结构和算法
    2篇
  • 数据库MySQL
  • 计算机网络
    2篇
  • Linux
    2篇
  • 网络编程
    1篇
  • PHP
    2篇
  • 设计模式
    4篇
兴趣领域 设置
  • 大数据
    mysqlhadoophiveredisstormspark
  • 后端
    架构
  • 搜索
    elasticsearch
  • 运维
    容器kubernetes
  • 网络空间安全
    系统安全web安全安全架构
  • 服务器
    linux
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Linux curl命令最全详解

目录一、最常用的curl命令1、发送GET请求2、发送POST请求3、发送json格式请求:二、curl命令语法与curl命令参数详解1、curl命令语法2、curl命令参数详解三、Linux curl命令退出码四、常见用法1、下载(option:-o或者option:-O)2、上传文件(option:-T)3、伪造来源页面|伪造referer|盗链 (option:-e)4、伪造代理设备(模仿浏览器)5、设置http请求6、http响应头7.
转载
发布博客 2021.10.09 ·
340866 阅读 ·
304 点赞 ·
6 评论 ·
2177 收藏

es&kibana 环境搭建

一.ES环境搭建1.elasticsearch 下载(1) 官网下载自己要用的版本:https://www.elastic.co/cn/downloads/elasticsearch2.elasticsearch 安装(1) 解压安装(2) 配置文件修改, /elasticsearch/config/elasticsearch.yaml, 修改服务ip, 端口号等注意⚠️配置文件修改,默认端口号为:9200, transport 连接方式端口号为9300。es连接方式有两种,htt
原创
发布博客 2021.09.07 ·
857 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

微软最新Windows系统 Windows 11页面

原文:https://juejin.cn/post/6974962306337734663?utm_source=gold_browser_extension首先最直观的就是底部任务栏中的应用图标都默认放在了中央,不过系统中可以设置到大家习惯的左下角。菜单栏里有设置、文档、多任务窗口、后台、搜索、*Widgets*等应用。点第一个是菜单项,点击会弹出一个面板,上面都是一些应用,左上角有 All apps可以查看所有的应用列表。...
转载
发布博客 2021.06.22 ·
1669 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

容器化部署方案 - docker

0. 前言dokcer是什么?dokcer是用Go语言开发的应用容器引擎,基于容器化,沙箱机制的应用部署技术,可适用于自动化测试、打包,持续集成和发布应用等场景。docker基于容器化,沙箱机制,可使用较少的命令和脚本快速部署应用,一次构建,多处移植使用。再配合shell等脚本语言,可实现脚本化一键部署docker 大部分都是依赖于命令执行的,简单易上手docker现在已经成为比较受欢迎的serverless(无服务器架构)服务的基础架构。包括阿里云、亚马孙在内的云计算服务商都采用docker来打
转载
发布博客 2021.06.17 ·
1639 阅读 ·
2 点赞 ·
0 评论 ·
5 收藏

Golang 垃圾回收

一.什么是垃圾回收?内存泄漏过去一般的发现的方式:内存泄漏监测工具: 这种工具的原理一般是静态代码的扫描,通过扫描程序检测可能出现内存泄露的代码段,然而检测工具难免有疏漏和不足, 只能起到辅助作用。智能指针:是C++中引入的自动内存管理方法,通过拥有自动内存管理功能的指针对象来引用对象,是程序员不太关注内存的释放,而达到内存自动释放的目的。这种方法是采用最广泛的做法,但是对于程序员来说有一定的学习成本,而且一旦有忘记使用的场景仍然会有内存泄露。为了解决这方面的问题,后来开发出来的几乎所有的语言都有
原创
发布博客 2021.06.02 ·
195 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Redis源码分析--- 对象

Redis源码分析--- 对象前边陆续介绍了Redis用到了所有的主要数据结构,比如简单动态字符串(SDS)、双端链表、字典、压缩列表、整数集合等等。Redis并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象,每个对象都用到了至少一种前边介绍的数据结构。通过这五种不同类型的对象,Redis可以在执行命令之前,根据对象的类型来判断一个对象是否可以执行给定的命令,适用对象的另一个好处是,我们可以针对不同的使用场景,为对象设置多种不同的数据结构实现,从而优化对象在不同场
原创
发布博客 2021.04.23 ·
145 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Redis源码分析--- 压缩列表

Redis源码分析--- 压缩列表压缩列表(ziplist)是列表键和哈希键的底层实现之一。当一个列表键只包含少量列表项,并且每个列表项要么就是小整数值,要么就是长度比较短的字符串,那么Redis就会使用压缩列表来做列表键的底层实现。列表里面包含的都是1、3、5、10086这样的小整数值,以及‘hello’、‘world’这样的短字符串。另外当一个哈希键只包含少量键值对,并且每个键值对的键和值要么就是小整数值,要么就是长度比较短的字符串,那么Redis就会使用压缩列表来做哈希键的底层实现。.
原创
发布博客 2021.04.23 ·
201 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Redis 源码分析--- 整数 集合

Redis 源码分析--- 整数 集合整数集合是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合元素数量不多时,Redis就会使用整数集合作为集合键的底层实现。举个例子,如果我们创建一个只包含五个元素的集合键,并且集合中所有元素都是整数值,那么这个集合键的底层实现就会是整数集合: 整数集合的实现整数集合是Redis用于保存整数的值的集合抽象数据结构,它可以保存类型为int16_t、int32_t、或者int64_t的整数值,并且保证集合中不会出现重复元素。每个int..
原创
发布博客 2021.04.23 ·
105 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Reids源码分析--- 跳跃表

Reids源码分析--- 跳跃表跳跃表是一种有序数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。跳跃表支持平均O(logN)、最坏O(N)复杂度的节点查找,还可以通过顺序性操作来批量处理节点。在大部分情况下,跳跃表的效率可以和平衡树相媲美,并未因为跳跃表的实现比平衡树要来得更为简单,所以有不少程序都适用跳跃表来代替平衡树。Redis使用跳跃表作为有序集合的底层实现之一,如果一个有序集合包含的元素数量比较多,又或者有序集合中元素的成员是比较长的字符串时,Re
原创
发布博客 2021.04.23 ·
120 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Redis源码分析--- 字典

Redis源码分析--- 字典字典又称为符号表(symbol table)、关联数组(assocoative array)或映射(map),是一种用于保存键值对(key-value pair)的抽象数据结构。在字典中,一个键(key)可以和一个值(value)进行关联(或者说将键值映射为值),这些关联的键和值就称为键值对。字典中每个键值都是独一无二的,程序可以在字典中根据键值查找与之关联的值,或者通过键来更新,又或者根据键来删除整个键值对,等等。字典经常作为一种数据结构内置在很多高级编程语言
原创
发布博客 2021.04.23 ·
192 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Redis源码分析--- 链表

Redis源码分析--- 链表链表提供了高效的节点排重能力,以及顺序性的节点访问方式,并且可以通过增删节点来灵活地调整链表长度。作为一种常用数据结构,链表内置在很多高级的编程语言里面,因为Redis使用的C语言并没有内置这种数据结构,所以Redis构建了自己的链表实现。链表在Redis中的应用非常广泛,比如列表键的底层实现之一就是链表。当一个列表键包含了数量比较多的元素,又或者列表中包含的元素都是比较长的字符串时,Redis就会使用链表作为列表键的底层实现。integer列表键值的底层实现就
原创
发布博客 2021.04.23 ·
97 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Redis源码分析--- String

Redis源码分析--- String 简单动态字符串(simple dynamic string,SDS),它和C字符串不一样,C字符串只会作为字符串字面变量用在一些无须对字符串值进行修改的地方,比如打印日志的地方。 当Redis需要的不仅仅是一个字符串字面变量,而是一个可以被修改的字符串值时,Redis就会使用SDS来表示字符串值,比如在Redis的数据库里面,包含字符串值的键值对在底层都是由SDS来实现的。 SDS的定义每个sds.h/sdshdr结构表示一个SDS值:...
原创
发布博客 2021.04.23 ·
227 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

群消息发送接收项目设计以及一些注意问题

【需求缘起】之前的文章更多的聊了单对单的消息投递:《微信为什么不丢消息?》《http如何像tcp一样实时的收消息?》群聊是多人社交的基本诉求,不管是QQ群,还是微信群,一个群友在群内发了一条消息:(1)在线的群友能第一时间收到消息(2)离线的群友能在登陆后收到消息由于“消息风暴扩散系数”的存在(概念详见《QQ状态同步究竟是推还是拉?》),群消息的复杂度要远高于单对单消息。群消息的实时性,可达性,离线消息是今天将要讨论的核心话题。【常见的群消息流程】开始讲群消息投递流.
转载
发布博客 2020.09.23 ·
677 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Kilim框架的简单学习

Kilim框架Kilim 框架在实现这个语义特性时干了以下几个事情:利用字节码技术,将普通代码转换为支持协程的代码 调用Pasueable方法的时候,如果暂停了就保存当前方法栈的State,暂停执行当前Task,将控制权交给Scheduler调度器 Scheduler 调度器负责协调其他就绪的Task 之前暂停的Task恢复的时候,自动恢复State,恢复到上次执行的位置继续执行其...
原创
发布博客 2019.02.26 ·
2795 阅读 ·
2 点赞 ·
0 评论 ·
5 收藏

Java 中协程的简单介绍

协程的简单介绍协程是比线程更轻量级的程序处理单元,也可以说是运行在线程上的线程,由自己控制1.适用于被阻塞的,且需要大量并发的场景2.不适用于,大量计算的多线程,遇到此情况,更好使用线程去解决虽然Java的线程的API封装的很好,使用起来非常的方便,但是使用起来也得小心。首先线程需要耗费资源,所以单个的机器上创建上万个线程很困难,其次线程之间的切换也需要耗费cpu,在线程非常多的情...
原创
发布博客 2019.02.26 ·
827 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

PHP中的错误处理以及异常处理

一.php错误处理的三种方式A:简单的die()语句等价于exit();B:自定义错误和错误触发器1.错误处理器(自定义错误,一般用于语法错误处理)创建一定义错误函数(处理器),该函数必须有能力处理至少两个参数(error_level和error_message),但是可以接受最多五个参数(erroe_file,error_line,error_context)语法:fu...
原创
发布博客 2019.02.26 ·
476 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Servlet的生命周期及工作原理

Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Ser...
原创
发布博客 2019.01.03 ·
265 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

请求转发与重定向的区别

请求与转发:        比喻:            请求转发:                    A向B发送请求,想让B帮忙完成一项工作,当B接收到请求后发现自己完成不了,于是B请C帮忙,C接收到B的请求后最终完成了该项工作,并把最后的结果返回给A。此过程A只发送了一次请求给B,A只知道把请求发给B,至于B是怎么完成的A并不关心,他只等待最终的结果。           ...
原创
发布博客 2019.01.03 ·
161 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

IO流解析

同步、异步。。。同步:当用户发出IO请求操作之后,如果数据没有就绪,需要通过用户线程或者内核不断地去轮询数据是否就绪,当数据就绪时,再将数据从内核拷贝到用户线程;异步:只有IO请求操作的发出是由用户线程来进行的,IO操作的两个阶段都是由内核自动完成,然后发送通知告知用户线程IO操作已经完成。也就是说在异步IO中,不会对用户线程产生任何阻塞。注:同步IO和异步IO的关键区别反映在数据拷贝...
原创
发布博客 2019.01.03 ·
145 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

序列化和反序列化

序列化、反序列化序列化:指把堆内存中的Java对象数据,通过某种方式把对象存储到磁盘文件中或者传递给其他网络节点。这个过程称为序列化。通俗来说就是将数据结构或对象转换成二进制串的过程。反序列化:把磁盘文件中的对象数据或者把网络节点上的对象数据,恢复成Java对象模型的过程。也就是将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程。序列化的目的:(1)在分布式系统中,此时需...
原创
发布博客 2019.01.02 ·
154 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多