自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(24)
  • 资源 (9)
  • 收藏
  • 关注

原创 GC垃圾回收算法基础

垃圾回收中最为基础的是引用计数,标记清除这两种,其他算法都是在这些基础上的优化。引用计数设计一个计数器,对象被引用时加1,对象解除引用时减1。计数器为0时被回收标记清除分为标记和清除两个阶段。标记阶段:暂停线程确保内存无变化STW(stop the word),从根节点遍历所有对象,标记没被引用的对象;清除阶段:清除被标记的对象。...

2021-03-03 15:54:47 89 1

原创 CMakeLists文件知识汇总

基本规则主目录和存放源代码子目录下都要有CMakeLists.txt变量使用${}取值(if中使用变量名),环境变量使用$ENV{}取值,使用SET(ENV{VAR} VALUE)赋值指令格式:指令(参数1 参数2…)环境变量PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR变量CMAKE_BUILE_TYPECMAKE_MODULE_PATHEXECUTABLE_OUTPUT_PATH和LIBRARY_OUTPUT_PATH例子:SET(EXECUTAB

2020-09-03 14:12:03 296

原创 golang知识汇总

关键字chan修饰符:<-chan只读,chan<-只写,chan读写,默认是阻塞的,非阻塞需要用select带缓冲定义:ch := make(chan int, 10),缓冲满了就阻塞select监听io并触发case操作每个case语句里必须是一个IO操作所有channel表达式都会被求值、所有被发送的表达式都会被求值如果任意某个case可以进行,它就执行(其他被忽略)。如果有多个case都可以运行,Select会随机公平地选出一个执行(其他不会执行)。如

2020-07-22 14:43:16 146

原创 sdp知识汇总

Session description必需的i=* (session information)u=* (URI of description)e=* (email address)p=* (phone number)c=* (connection information - not required if included in all media)b=* (zero or more bandwidth information lines)One or more time descript

2020-07-21 18:23:37 516

原创 清除注释的正则表达式

(/*([*]|[\r\n]|(*+([/]|[\r\n])))*+/)

2020-07-10 10:02:10 509

原创 Vue知识汇总

“:” 是指令 “v-bind”的缩写,“@”是指令“v-on”的缩写;“.”是修饰符。

2020-07-03 16:01:52 57

原创 maven知识汇总

groupIdartifactIdversionpackaging这四个元素组成了Maven的坐标,它相当为项目在Maven世界中的ID。 其中packaging默认为jar,可以为jar,pom,war等。

2020-07-03 10:05:06 76

原创 ubuntu下用ethstatus监控网络使用情况

这个软件能显示当前网卡的 RX 和 TX 速率安装:sudo apt-get install ethstatus使用:sudo ethstatus -i eth0查看网卡:ifconfig

2020-06-24 14:14:05 774

原创 Mybatis基础知识汇总

DAO :data access object 数据访问对象。

2020-06-08 22:19:07 114

原创 系统基础知识

死锁的四个必要条件互斥条件:一个资源每次只能被一个进程使用。请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。【求新保旧】不可剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。【资源:互斥、不可剥夺。进程:请求与保持、循环等待】...

2020-06-08 21:38:35 80

原创 Spring Boot 基础知识汇总

@Configuration //表示这个一个配置类,相当于spring的xml 文件在@Configuration加上@Bean去注册一个bean 对象,这样我们就不用再去写xml文件去注册bean对象。@Bean标注在方法上(返回某个实例的方法)。@AutoWired是获取bean的基本方法oauth负责多后台统一登录认证,shiro负责给登录用户赋予不同的访问权限。跨域问题一般前端的解决方案有:使用 JSONP 来支持跨域的请求,JSONP 实现跨域请求的原理简单的说..

2020-06-08 07:20:07 149

原创 RabbitMQ知识汇总

名词解释:Channel(信道):消息推送使用的通道【类似nio的异步模型】ConnectionFactory(连接管理器):Client与Rabbit Server之间建立连接的管理器Message:由Header和Body组成,Header是由生产者添加的各种属性的集合,包括Message是否被持久化、由哪个Queue接受、优先级是多少等。vhost:每个vhost都是mini版的RabbitMQ,里面可以有若干个Exchange和QueueExchange(

2020-06-05 10:27:36 113

原创 Kafka基础知识

名词解释在一套 Kafka 架构中有多个 Producer,多个 Broker,多个 Consumer,每个 Producer 可以对应多个 Topic,每个 Consumer 只能对应一个 Consumer Group。整个 Kafka 架构对应一个 ZooKeeper 集群,通过 ZK 管理集群配置,选举 Leader,以及在 Consumer Group 发生变化时进行 Rebalance。Broker:消息中间件处理节点,一个kafka节点就是一个BrokerProducer:消

2020-06-04 16:54:08 72

原创 MySQL基础知识

MySQL发送一个请求:MySQL客户端/服务端通信协议是同步协议据库设计上做一些优化:比如:用多个小表代替一个大表,注意不要过度设计批量插入代替循环单条插入合理控制缓存空间大小,一般来说其大小设置为几十兆比较合适可以通过SQL_CACHE和SQL_NO_CACHE来控制某个查询语句是否需要进行缓存...

2020-06-04 16:36:46 237

原创 排序算法

https://www.cnblogs.com/onepixel/articles/7674659.html

2020-06-04 10:22:58 85

原创 9大常见数据结构

常见数据结构数组型:数组,栈,队列链表型:链表,跳表,散列表树型:树,堆,图树:二叉平衡树(AVL树),红黑树,B树图:邻接矩阵法,邻接链表法,十字链表法树的遍历:前序、中序、后序、层序-堆:大根堆、小根堆。层序表示平衡二叉树:左旋,右旋左旋清掉右子树,右旋清掉左子树https://mp.weixin.qq.com/s/5NfKB9Yp2haB3x5_9C40mA...

2020-06-04 10:15:09 187

原创 AVL树的左右旋

定义:左子节点<父节点<右子节点。左子树与右子树的高度差(平衡因子)的绝对值最大为1引起旋转的原因:左子树与右子树的高度差的绝对值大于1旋转的目的:左旋引起:左子树高度+1,右子树高度-1右旋引起:左子树高度-1,右子树高度+1口诀:左旋加左度,右旋加右度左旋断左树,右旋断右树简版:谁旋加谁度,谁旋断谁树解释:左旋加左度:左旋会增加左子树的高度减少右子树的高度。左旋断左树:左旋会断掉子节点与它的左子树的连接,并成为旋转后新子节点的右子树。找出需要旋转的父节点和子节

2020-06-03 18:05:01 306

原创 网络编程

C10K问题:基于同步阻塞I/O模型,单个连接占用的资源,随着连接数的增加,总资源(算力和内存)超过服务器上限(太多时间花在:IO阻塞、上下文切换、用户内核数据对拷)。select 方案:socket状态ready了再处理。缺点:效率不高poll方案:订阅关注的事件epoll方案:异步非阻塞回调模型(Reactor),只返回ready的句柄。【Nginx,libevent,node.js都是epoll方案】...

2020-06-02 15:20:02 98

原创 Redis基础知识

redis是nosql(巨大的内存map) 单线程(避免资源竞争,切换),耗时操作会导致卡顿redis的持久化方式:RDB(默认)和AOF,异步写入硬盘RDB持久化原理:通过bgsave命令触发,然后父进程执行fork操作创建子进程,子进程创建RDB文件,根据父进程内存生成临时快照文件,完成后对原有文件进行原子替换(定时一次性将所有数据进行快照生成一份副本存储在硬盘中)【生成快照,对比替换】优点:是一个紧凑压缩的二进制文件,Redis加载RDB恢复数据远远快于AOF的方式。缺点:由于每次..

2020-06-02 15:19:32 127

原创 Java基础知识积累

文章目录JVMJMM数据类型关于String数据结构类Exception输入输出其他JVMsynchronized (确保线程件代码有序)和 volatile(直接操作内存别优化) 的区别:前者保证可见性和原子性,后者只保证可见性volatile本质是在告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取; synchronized则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。volatile仅能使用在变量级别;synchronized则可以使用在变量、方法

2020-05-29 13:45:30 187

原创 c语言标准库

c语言标准库

2017-08-04 10:02:57 397

原创 如何解析C语言的声明

如何解析C语言的声明如何解析c语言复杂的声明类型:Step1 取最左边的标识符(标识符:声明变量的名字) 表示”标识符是…”Step2 查看标识符**右边**的下一个符号 如果是方括号”[]”,表示”…的数组”如果是圆括号”()”,表示”返回…的函数”如果是”;”,解析结束。Step3 查看标识符左边的下一个符号如果是左括号”(“,把已经解析的部分组合在一起,然后

2017-05-02 20:06:07 185

原创 c语言hex字符串转byte数组

c语言hex字符串转byte数组例:”0C B1 15 02 C0 27 01 20 ” –> {0x0c, 0xb1, 0x15, 0x02, 0xc0, 0x27, 0x01, 0x20}static int hex2byte(char *dst, char *src) { while(*src) { if(' ' == *src) { src++

2017-03-07 17:09:01 9302

原创 test

test

2015-09-25 09:02:59 159

NatTypeTester.rar

windows上测试stun,windows上测试stun,windows上测试stun,重要的事情说三遍

2020-02-17

ds1302驱动

代码优美,结构清晰,可移植性强,下载绝不会后悔! 原型是stm32f030代码,可方便迁移到其他平台

2019-01-24

短信编码与解码C语言ucs2

包含短信的格式介绍,ucs2编码,c语言代码

2012-05-29

VC 图书(销售)管理

设计思路,设计文档,设计技术,源码都有,也可作为毕业设计

2012-05-29

dll隐式调用的例子

怎样使用dll的教程,vc环境,简单实用

2012-05-29

usb通讯测试

使用单片机构成的usb通讯,包含上下位机代码

2012-05-29

AVR单片机深入浅出

一个不错的单片机入门教程,希望大家得到帮助

2012-03-06

c++高质量编程指南

开发高质量的c++代码,有兴趣的可以看看

2012-03-06

Microsoft编写优质无错C程序秘诀

编程精粹───Microsoft编写优质无错C程序秘诀

2012-03-06

空空如也

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

TA关注的人

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