自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 Go GC垃圾回收解析

Golang GC 垃圾回收Garbage Collection, 垃圾回收,是自动管理内存的机制。为什么需要GC在C/C++中,释放堆上内存需要程序员手动处理,未释放内存可能会出现内存泄漏,所以对程序员自身要求较高。在python,java,go 中都有自己的自动垃圾回收机制,可以自动在合适的时机释放无用内存,从而解放了程序员。但与之而来的代价也是在gc的时候,会耗用无关计算机资源,甚至STW,影响正常程序运行,不过随着go版本的迭代,go垃圾回收对正常程序的影响微乎其微。C/C++中手动管

2021-11-07 00:53:13 588

原创 源码看 golang context

Golang contextContext 是golang中的上下文,用于服务器处理请求相关的协程之间,处理其中的超时中断,取消操作等情况。来自源码的解释:对服务器的传入请求应该创建一个上下文,而对服务器的传出调用应该接受一个上下文。 它们之间的函数调用链必须传播 Context,可以选择将其替换为使用 WithCancel、WithDeadline、WithTimeout 或 WithValue 创建的派生 Context。 当一个上下文被取消时,从它派生的所有上下文也被取消。WithCancel

2021-11-05 20:24:23 236

原创 Go channel使用

Go channelChannel 是golang中的管道类型,并且拥有FIFO的特性,经常通过它来实现并发中的数据通信。声明与创建// Chan 声明需要指定类型,此chan只能传递int类型数据var ch chan int // 创建 ch = make(chan int) // Chan 创建, 和其他类型一样,也可以使用':='在创建时声明ch := make(chan int)ch2 := make(chan interface{})数据传递Chan的数据传递需要

2021-10-29 15:20:58 287

原创 redis分布式锁的各种实现方案以及问题点分析

redis分布式锁的各种实现方案以及问题点分析redis的分布式锁暂时发现如下几种实现:通过 SETNX, GET, GETSET实现。通过 SET key value NX EX milliseconds 实现。RedissonRedlockCAP定理一致性(Consistency),可用性(Availability), 分区容错性(Partition Tolerance)。任何一个分布式系统最多同时满足以上两点,所以通常需要牺牲其中一点来最大化满足另两点。上面几种实现方式各有问题,

2021-06-17 11:43:44 237

原创 redis事务与管道

Redis事务与管道事务Redis事务允许在一次单独的步骤中执行一组命令,Reids事务有两个属性:事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。Redis事务是原子的。原子意味着要么所有的命令都执行,要么都不执行(执行出错也算执行);事务相关命令如下:MULTI: 开启事务,之后的命令会加入命令队列,命令不会立即执行。EXEC: 将命令队列中的所有命令顺序执行。执行结束自动关闭事务。DISCARD: 取

2021-06-15 18:16:54 571

原创 redis持久化

redids持久化原因:redis基于内存,当发生故障(关机,断电,进程异常退出等)后,内存中数据会丢失,需要将数据持久化到硬盘。目的:为了故障后将数据加载恢复到内存。方式:redis提供了两种持久化的方式,RDB(快照存储),AOF(Append only file)。其中RDB是默认的持久化方式。RDB方式:快照存储,周期性的将数据快照并保存到硬盘配置:可以在配置文件中配置存储周期save 900 1 #900秒内至少有1个key被更改就执行快照save 300 10 #300内

2021-06-10 17:07:30 100

原创 redis源码分析,SDS动态字符串

redis源码分析,SDS动态字符串SDS [basic redis v6.0],源码路径: src/sds.c, src/sds.h, src/sdsalloc.hredis中的字符串类型为SDS(C dynamic strings)是一个动态类型字符串。 可以无限增长,理论上长度最大2^64下面是redis中 SDS的结构struct __attribute__ ((__packed__)) sdshdr32 { uint32_t len; /* buf已用长度 */ uint3

2021-04-19 18:51:58 188

原创 浅谈prometheus(普罗米修斯) client golang

浅谈prometheus client golang含类型精讲+接口示例+源码节选原链接Prometheus:prometheus是什么,网上已经有很多文章了,prometheus的部署和启动可以参照这个链接。prometheus为使用者提供了http接口,使用者可以使用PromQl通过get或post来从prometheus进行query。prometheus http api传送示例...

2020-01-19 20:14:29 10169 3

原创 把json中的全部key转化为驼峰式(首字母大写形式)

最近处理json数据,json中数据下划线形式,找了半天没有找到能把下划线处理成驼峰式的代码~ 自己动手!功能:把例如 "the_red_apple":"very_nice" 转化为"TheRedApple":"very_nice" 这种。代码:https://github.com/SkyingzZ/camel_json_keys//下划线写法转为驼峰写法 like "sampl...

2020-01-14 22:58:31 3070

原创 c++类的参数传递与返回值优化

1.类的成员变量要设置成私有 2.构造函数使用初始化列表来初始化变量    1)构造函数传递参数时,尽量使用如下形式,因为构造函数执行两件事情,初始化和赋值,而使用如下形式,则只执行了初始化操作,减少了赋值的过程class complex { public: complex(double r = 0, double i = 0): re(r), im(i){} p...

2018-12-03 20:18:54 502

原创 树tree

一,概念:    结点n为0的树叫空树,n大于0时,有一个结点称为根。    结点的子树的个数称为结点的度,树的度是结点度的最大值,度为0的结点称为叶子结点。    子树间是存在次序的树称为有序树,反之为无序树。    n个互不相交的树的集合称之为森林。对于每个结点而言,其子树的集合即为森林。 二,树的存储结构:    1,树的表示方法:        1)双亲表示法,即在结点中不...

2018-11-21 16:35:50 215

原创 主机字节序与网络字节序转换

小端字节序:即一个整数的高位字节存放在内存中的高位地址处,字节低位存放在内存中的低位地址处大端序字节:与小端字节序刚好相反现代的电脑多采用小端字节序,而Java的虚拟机采用大端字节序,采用网络的也是大端字节序所以在网络传输中通常我们需要进行字节序的转换,否则接受网络数据的进程将不知道如何进行数据解析Linux的系统环境下的Ç中:#include<netinet/in.h>...

2018-11-08 15:25:54 529

原创 unity删除云端项目

按下面步骤删除Unity Cloud上面的项目:1:点击MyAccount->Go to account 2:点击网页左侧上的  项目 3:点击你要删除的项目(如上图CarrotText) 4:点击 Setting->General->Archive ********balabala,即红色按钮 5:在弹窗中输入项目名,即可...

2018-10-11 16:45:30 7393

转载 cpp的前向声明

好多次打代码时候遇到一个问题,就是两个代码文件中的两个类的变量难免要相互引用,所以两个头文件难免要相互包含,但是那样就难免会出现一些不可描述的错误,后来在网上找到了解决方案,非常感谢作者!!! 原文链接https://www.jianshu.com/p/51ceab77f903  在这里,我想每天来更新一些关于CPP的,我们应该知道的知识,日积月累,我相信一定能够到达一个比较高...

2018-07-27 17:37:44 357

转载 C++内存对齐总结

  大家都知道,C++空类的内存大小为1字节,为了保证其对象拥有彼此独立的内存地址。非空类的大小与类中非静态成员变量和虚函数表的多少有关。而值得注意的是,类中非静态成员变量的大小与编译器内存对齐的设置有关。成员变量在类中的内存存储并不一定是连续的。它是按照编译器的设置,按照内存块来存储的,这个内存块大小的取值,就是内存对齐。 一、引入问题。#include<iostream>usin...

2018-06-12 19:57:57 271

原创 浅拷贝与深拷贝之间的区别

浅拷贝就是在类是以复制方式创建对象的时候,或者在变量进行复制的时候,没有设置自定义的拷贝构造函数或重载等号运算符的拷贝函数,导致对变量中的所有进行拷贝,包括指针,即指针只拷贝地址,不会再为指针变量申请内存。代码如下:#include<stdio.h>class test{public: int num; int *point;};int main(){ test t1...

2018-06-04 19:56:16 2952

原创 vim命令模式下的操作

linux环境下,对vim文本编辑器的操作

2018-05-23 15:35:25 2210

原创 笔记-C/C++序列点

关于c++的序列点,计算顺序,逻辑短路问题

2018-05-08 17:12:01 277

原创 算法导论_第二章_2.3-1_归并排序

算法导论第二章,合并排序,归并排序,C++实现

2018-04-30 21:52:51 308

原创 算法导论_第二章_练习_2.1-2_降序插入排序

算法导论第三版第12页练习2.1-2 重写过程INSERTION-SORT,使之按非升序(而不是非降序)排列。        很简单,就是把升序中while(j>=0&&A[j]>value)这句话中A[j]>value的>更换成<号;#include<iostream>using namespace std; void inser...

2018-04-30 20:52:17 321

原创 算法导论_第二章_2.1插入排序

算法导论第三版第二章插入排序C++代码

2018-04-30 20:42:35 263

原创 C++未初始化变量

个人主页:AnAoU.com最开始学习C/C++时候没有注意到这个问题,只是单纯的以为未初始化的变量,编译器默认给附了0的值。后来发现了很多问题,让我很懵逼,一直也没研究,比如你未定义个变量,它有时候初值会是乱码,有时候就会是0值,当初也没在意,但现在从头拾起C++的时候发现了其原因,和大家分享下。给大家看张图:我觉得这张图片说的很好,如果未初始化的变量为全局变量的话,编译器会默认给附上0的值,这...

2018-04-12 22:16:45 25979 4

原创 Unity项目发布后屏幕自适应问题

作者文字纯手打,请珍惜劳动成果,如需转载请联系作者,个人主页soundbird.cn阅读此篇文章之前,你应该初步熟悉Unity的UGUI系统操作。 如果仅想实现屏幕自适应,那么只需观看斜体带下划线的文字即可,其他的文字都是解释。我们都知道,不同的设备,屏幕分辨率也通常是不同的,我们开发游戏或者应用的时候肯定要考虑到这个问题,总不能只在开发者你的手机上运行吧,那么这篇文...

2018-03-27 08:03:03 10970

转载 为什么屏幕分辨率是 640x480?

文章转自EasyX,原链接点击打开链接常见的屏幕分辨率很奇怪,为什么总用一些不零不整的数字?比如以前最常见的分辨率是 640x480,当初为什么这么设计?因为这个分辨率运算速度比较快,人也相对比较好记。大家知道,屏幕上的每一个点,都会对应内存中的一个位置。比如 640x480@256色,表示每个点占用一个字节,整个屏幕有 640x480=300k 个点,占用 300KB 内存。屏幕的每

2018-01-12 17:27:30 7838

转载 物理学家提惊人设想:宇宙大爆炸也许从未发生过

来源:新浪科技  新浪科技讯 北京时间12月1日消息,据国外媒体报道,宇宙大爆炸会不会从未发生过呢?宇宙大爆炸是最广为人知的宇宙诞生与起源理论,在我们对宇宙的理解中起到了重要作用。但一些物理学家如今对“时间的起源”提出了挑战。一些科学家怀疑,宇宙并未在137亿年前发生过大爆炸,而是经历了“反复”的收缩与膨胀。  “我相信宇宙大爆炸从未发生过。”巴西坎皮纳斯大学数学、统计与科学计算研

2017-12-01 16:10:35 487

原创 生活中的三种三原色

生活中的三种三原色介绍,你知道有什么区别吗?色彩的三原色,光的三原色,印刷的三原色?

2017-11-28 21:37:01 4492

转载 C,JAVA程序编码问题

C/JAVA中遇到的编码格式,中文乱码问题,String类和byte[]的转换

2017-11-02 12:24:52 480

原创 C语言万年历(n排)

c语言实现的万年历程序,年份只要在int范围内都不会出现问题

2017-11-01 15:51:56 1688 1

原创 C语言万年历(单排)

c语言实现的万年历程序,年份只要在int范围内都不会出现问题

2017-11-01 15:41:44 1181 6

原创 java语音识别(科大讯飞版)

用科大讯飞来实现java语音识别,语音转文字,很简单的示例

2017-11-01 13:50:06 10313 30

原创 C语言使用系统声音制作很lou的音乐键盘

C语言实现一个简单的键盘音节

2017-10-20 20:33:46 2593 1

原创 C语言获取计算机系统参数

C语言获取计算机系统相关参数,操作系统,主机名,用户名

2017-10-20 19:25:58 1083

转载 C++获取天气信息

C/C++获取天气,用套接字对HTML进行处理

2017-10-08 14:14:24 4910 6

原创 计算机网络学习相关的一些网站

i春秋freebufwww.bianceng.cn菜鸟教程www.runood.com钟馗之眼看雪论坛吾爱破解开源中国1纳米www.test404.com夏之冰雪中国红客联盟草泥马之家MSDN我告诉你w3cschool极客学院实验楼www.shiyanlou.com华西安全网...

2017-10-08 11:17:32 3367

原创 计算机网络应用层

一.应用程序体系结构:(开发者方面考虑)1.客户-服务器体系结构:服务器一直打开,来等待客户端的连接,比如:Web,FTP,Telnet和电子邮件。通常一台服务器处理不过来大量的客户请求,所以会有配备大量主机的数据中心。(比如谷歌在全球有30-50个数据中心)2.P2P体系结构(对等方):这种对等方通信不必经过专门的服务器,该体系结构被称为对等方到对等方的。比如:文件共享,因特

2017-09-14 17:49:18 478

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除