自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 用Redis轻松实现秒杀系统

原文链接:https://blog.csdn.net/shendl/article/details/51092916导论曾经被问过好多次怎样实现秒杀系统的问题。昨天又在CSDN架构师微信群被问到了。因此这里把我设想的实现秒杀系统的价格设计分享出来。供大家参考。秒杀系统的架构设计秒杀系统,是典型的短时大量突发访问类问题。对这类问题,有三种优化性能的思路:写入内存而不是写入硬盘...

2020-03-15 21:17:21 253

转载 虚函数和纯虚函数的区别

原文链接:https://blog.csdn.net/Hackbuteer1/article/details/7558868首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。...

2020-03-15 20:47:46 225

转载 shell队列实现线程并发控制(转)

需求:并发检测1000台web服务器状态(或者并发为1000台web服务器分发文件等)如何用shell实现?     方案一:(这应该是大多数人都第一时间想到的方法吧)思路:一个for循环1000次,顺序执行1000次任务。实现:      #!/bin/bashstart_time=`date +%s` #定义脚本运行的开始时间 for ((i=1;i<=1...

2019-01-13 14:13:46 413

原创 压缩与解压缩

zip命令可以用来将文件压缩成为常用的zip格式。unzip命令则用来解压缩zip文件。1. 我想把一个文件abc.txt和一个目录dir1压缩成为yasuo.zip:# zip -r yasuo.zip abc.txt dir12.我下载了一个yasuo.zip文件,想解压缩:# unzip yasuo.zip3.我当前目录下有abc1.zip,abc2.zip和abc3.z...

2018-11-18 18:52:04 191

原创 hive表操作

Use dbname;   //库名Show tables;   //查看所有的表Show partitions 表名;   //查看分区 dtselect * from dbName.tableName where id=6784500 and dt='2018-07-24';   quit;  //退出 用"use 库名; show create table 表名;" ...

2018-11-18 16:48:29 180

原创 expect脚本

查看是否安装了expectrpm  -qa|grep expect Expect是一个用来处理交互的命令。借助Expect,我们可以将交互过程写在一个脚本上,使之自动化完成。形象的说,ssh登录,ftp登录等都符合交互的定义。1、send命令send命令接收一个字符串参数,并将该参数发送到进程。expect1.1> send "hello world\n" hell...

2018-11-18 16:40:32 1041

原创 debug模式调试程序

1、建立一个debug文件,进入文件,执行:cmake -DCMAKE_BUILD_TYPE=Debug ..2、make –j10 //生成二进制文件3、先执行: ulimit -c unlimited  ,再sh run.sh4、 gdb bin(promotion_tag) core.txt--args:加参数例子:gdb --args promotion_tag -m ...

2018-11-18 16:38:54 894

原创 date命令时间戳和时间之间的转换

time(NULL):返回从1970年1.1日(元旦)午夜0点到现在的秒数 实际时间这里是在mac下的操作,主要就是用date这个命令,更多的用法用man命令查看字符串格式时间 TO 时间戳我们知道date 命令可以直接把当前时间转化为时间戳# date +%s143678152712linux下不支持自定义的格式转化为实践戳, 下面几种可以$ date -d '06/1...

2018-11-18 16:32:19 8746

原创 CMakeLists文件的编写

一、CMake使用惯例1)在项目根目录建立一个build目录:mkdir build && cd build2)执行:cmake ../3)确定生成Makefile成功,执行make二、一个简单的例子假设当前的目录为test1)新建hello.cpp2)新建CMakeLists.txt内容:add_executable(hello hello.cpp...

2018-11-18 16:17:20 1238

转载 浅谈搜索引擎技术原理与架构

转载自:https://www.cnblogs.com/faruxue/p/4932009.html 搜索引擎是我们非常熟悉的互联网产品,上网都离不开搜索,毫无疑问,在pc端,是多数流量的入口。大家都会说,“有问题,百度一下”,当初百度靠这句广告语,打开了国内很大的市场。 曾经看过一个百度员工写的段子:“今天一个出租出司机载我去上班,一边看着百度大厦一边说,你们百度不就是个框吗,要...

2018-11-18 16:02:33 764

原创 hiredis的使用

1、redis存取二进制数据 redisCommandArgv接口是二进制安全的,我们可以用此接口实现对二进制的存取。对于多参数传递,hiredis提供了以下接口,这个接口中最后一个参数是所有的传入数据的内容长度,就是说这个借口是二进制安全的。Void *reidsCommandArgv(redisContext *c, int argc, const char **argv, const...

2018-08-05 12:55:20 1642

原创 多线程

1、多线程    对于windows系统来说,进程的开销很大,windows多线程的重点是面对资源争抢与同步方面的问题。对于linux系统来说,进程的开销很小,重点是进程之间的通讯方法。    多线程就是多个线程一起去协同完成一个任务,通过充分去共享资源来达到提升效率的一种编程思想。但这个过程会遇到很多麻烦,比如会碰上死锁的问题,同时去争抢一个资源的问题等等。为了解决这个问题,使用锁,会在...

2018-08-05 12:53:42 127

原创 C++基础知识

1、智能指针    智能指针实际上是一个栈对象,并非指针类型,在栈对象生命期即将结束时,智能指针通过析构函数释放由它管理的堆内存。所有智能指针都重载了“operator->”操作符,直接返回对象的引用,用以操作对象。访问智能指针包含的裸指针则可以用get()函数。由于智能指针是一个对象,所以if(my_smart_object)永远为真,要判断智能指针的裸指针是否为空,需要这样判断:if...

2018-08-05 12:50:13 148

原创 Kafka相关知识

1)producer:消息生产者,发布消息到kafka集群的终端或服务2)broker:kafaka集群中包含的服务器3)topic:每条发布到kafka集群的消息属于的类别,即kafka是面向topic的4)partition:每个topic包含一个或者多个partition,kafka的分配单位是partition5)comsumer:从kafka集群中消费消息的终端或服务...

2018-08-05 12:47:24 233

转载 Kappa系数

Kappa系数用于一致性检验也可以用于衡量分类精度kappa系数的计算是基于混淆矩阵的kappa计算结果为-1~1,但通常kappa是落在 0~1 间,可分为五组来表示不同级别的一致性:0.0~0.20极低的一致性(slight)、0.21~0.40一般的一致性(fair)、0.41~0.60 中等的一致性(moderate)、0.61~0.80 高度的一致性(subs

2018-02-26 09:42:51 8155

原创 均值与中值滤波器

1、均值滤波器    邻域平均法是一种局部空间域处理的算法。设一幅图像肺f(x,y)为N*N的阵列,处理后的图像为g(x,y),它的每个像素的灰度级由包含(x,y)邻域的几个像素的灰度级的平均值所决定。图像邻域平均法的处理效果与所用的邻域半径有关。半径越大,则图像的模糊程度也就越大。另外,图像邻域平均算法简单,计算速度快,但它的主要缺点是在降低噪声的同时使图像产生模糊,特别在边沿和细节处,邻域

2018-02-25 09:20:08 2988

转载 图像处理中掩膜(mask)的意义

刚开始涉及到图像处理的时候,在opencv等库中总会看到mask这么一个参数,非常的不理解,在查询一系列资料之后,写下它们,以供翻阅。 什么是掩膜(mask) 数字图像处理中的掩膜的概念是借鉴于PCB制版的过程,在半导体制造中,许多芯片工艺步骤采用光刻技术,用于这些步骤的图形“底片”称为掩膜(也称作“掩模”),其作用是:在硅片上选定的区域中对一个不透明的图形模板遮盖,继而下面的腐蚀或扩散将

2018-02-25 08:27:43 4337

转载 深度学习之卷积神经网络CNN及tensorflow代码实现示例

一、CNN的引入在人工的全连接神经网络中,每相邻两层之间的每个神经元之间都是有边相连的。当输入层的特征维度变得很高时,这时全连接网络需要训练的参数就会增大很多,计算速度就会变得很慢,例如一张黑白的 28×28 的手写数字图片,输入层的神经元就有784个,如下图所示:  若在中间只使用一层隐藏层,参数 w 就有 784×15=11760 多个;若输入的

2018-02-24 09:04:16 382

转载 图像分割结果的评估

我们在用一个算法对一幅图像进行分割之后,总会面临这样一个问题,分割的结果到底好不好。用眼睛可以看出好坏,但这只是主观的好坏,如何量化的对分割的结果进行评价呢,这是这篇文章我要讨论的主题。 我查阅过很多方法,包括ROC曲线,Dice重合率等等,要么是我理解不好,要么是难以实现。下面的代码,将基于GT(ground truth)图像计算分割图像的分割精度、过分割率、欠分割等指标来评估算

2018-02-23 16:24:36 4544 1

转载 hash表的构造方法和解决冲突的方法

哈希表是种数据结构,它可以提供快速的插入操作和查找操作。第一次接触哈希表时,它的优点多得让人难以置信。不论哈希表中有多少数据,插入和删除(有时包括侧除)只需要接近常量的时间即0(1)的时间级。实际上,这只需要几条机器指令。  对哈希表的使用者一一人来说,这是一瞬间的事。哈希表运算得非常快,在计算机程序中,如果需要在一秒种内查找上千条记录通常使用哈希表(例如拼写检查器)哈希表的速度明显比树快

2018-02-01 15:53:59 692

转载 Java中关于内存泄漏出现的原因汇总及如何避免内存泄漏(超详细版)

Android 内存泄漏总结内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏大家都不陌生了,简单粗俗的讲,就是该被释放的对象没有释放,一直被某个或某些实例所持有却不再被使用导致 GC 不能回收。最近自己阅读了大量相关的文档资料,打算做个 总结 沉淀下来跟大家一起分享和学习,也给自己一个警示,以后 coding 时怎么避免这些情况,提高应用的体验和质量。我

2018-02-01 14:28:27 784

转载 epoll与select,poll的区别

select,poll都可以来实现并发(select限制)1,一个进程所能打开的最大文件描述符的个数是有限的2,select中集合的限制(fd_set)FD_SETSIZE3,select每一次跟客户端连接的过程就会陷入内核,    并且是以轮寻的方式查找的poll:只有最大文件描述符的个数限制,而没有FD_SETSIZE限制

2018-02-01 14:26:55 222

转载 ubuntu下执行.py文件

http://blog.sina.com.cn/s/blog_9e56699c0101ckc7.html喔,摆弄了好久,终于实现了在unbuntu下运行一段python程序,而不是像之前只能在终端一句输入一句反应了,具体是这样做的:(前提概要1   系统执行python的目录是/usr/bin里面的python可执行文件,根据具体版本号确定,比如我用的就是pytho

2018-01-27 16:59:15 15705

转载 virtualbox中ubuntu和windows共享文件夹设置

系统平台:win8.1、virtualbox4.3.8、ubuntu12.041、安装VBoxGuestAdditions_4.3.8.iso增强工具,安装完毕后根据提示重启Ubuntu,具体操作如下:a、把VBoxGuestAdditions_4.3.8.iso镜像到Ubuntu中,存放在Ubuntu的/media目录中,操作如下:b、安装virtualbox增强包

2018-01-27 16:32:46 296

转载 Linux常用命令大全

最近都在和Linux打交道,这方面基础比较薄弱的我只好买了本鸟哥的书看看,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。为了方便大家查找linux的相关命令,我就将我了解到的命令列举一下,仅供大家参考:系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(...

2018-01-26 20:56:43 204

转载 将数组中负数放在正数前面

既然题目要求的是把负数放在数组的前半部分,正数放在数组的后半部分,因此所有的负数应该位于正数的前面。也就是说我们在扫描这个数组的时候,如果发现有正数出现在负数的前面,我们可以交换他们的顺序,交换之后就符合要求了。因此我们可以维护两个指针,第一个指针初始化为数组的第一个数字,它只向后移动;第二个指针初始化为数组的最后一个数字,它只向前移动。在两个指针相遇之 前,第一个指针总是位于第二个指针的前面

2018-01-25 19:29:11 6214

转载 java 求解字符串中第一次出现的字符的位置

题目:在字符串中找出第一个只出现一次的字符的位置,如输入“abaccdeff”,则输出“2”。1解法:以空间换时间,借助Hashmap实现import java.util.HashMap;import java.util.Map;import java.util.Set;public class Solution { public int FirstNotRepea

2018-01-25 10:59:54 5878

转载 用字符串模拟两个大数相加——java实现

问题:  大数相加不能直接使用基本的int类型,因为int可以表示的整数有限,不能满足大数的要求。可以使用字符串来表示大数,模拟大数相加的过程。思路:    1.反转两个字符串,便于从低位到高位相加和最高位的进位导致和的位数增加;            2.对齐两个字符串,即短字符串的高位用‘0’补齐,便于后面的相加;            3.把两个正整数

2018-01-25 10:31:21 607 2

转载 求两个字符串的最大交集,输出这个字符串和其长度

Public static BigestCommonSubString{Public staticvoid main(String [] args){    String s1=”andbskgd”;    String s2=”hfswbmfkmd”;    StringtargetString=getSubString(str1,str2);    System.out.p

2018-01-25 10:19:39 1450

转载 TCP(HTTP)长连接和短连接区别和怎样维护长连接

一、HTTP协议和TCP协议HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递数据包,使在网络上的另一端收到发端发出的所有包,并且顺序与发出顺序一致。TCP有可靠,面向连接的特点。二、HTTP协议的长连接和短连接

2018-01-25 09:58:39 526

转载 二叉树的层次遍历----java实现

import java.util.LinkedList;    public class LevelOrder  {    public void levelIterator(BiTree root)    {        if(root == null)        {            return ;        }        Linke

2018-01-25 09:13:56 396

转载 两个有序数组的合并排序,Java代码实现,并去重复,考虑空间利用率问题

题目:有两个有序数组a,b,现需要将其合并成一个新的有序数组。简单的思路就是先放到一个新的数组中,再排序。但是这样的没体现任何算法,这里考的不是快速排序等排序算法。关键应该是如何利用 有序 已知这个条件。可以这样想,假设两个源数组的长度不一样,那么假设其中短的数组用完了,即全部放入到新数组中去了,那么长数组中剩下的那一段就可以直接拿来放入到新数组中去了。其中用到的思想是:归并排序思

2018-01-24 20:01:11 2290 1

转载 输出单链表中倒数第k个结点(Java版)

题目:输入带头结点的单链表L,输出该单链表中倒数第k个结点。单链表的倒数第0个结点为该单链表的尾指针。要求只能遍历一次单链表。解题思路:如果不要求只能遍历一次单链表,我们可以先遍历一次单链表,求出它的结点的总个数n(包括头结点),所以单链表的结点是从倒数第n-1个到倒数第0个,然后再遍历一次单链表,遍历时访问的第n-k-1个结点就是该单链表中倒数第k个结点。现在要求只能遍历一次单链

2018-01-24 15:45:06 657

转载 二叉树的三种遍历方式java实现

二叉树的定义 二叉树(binary tree)是结点的有限集合,这个集合或者空,或者由一个根及两个互不相交的称为这个根的左子树或右子树构成. 从定义可以看出,二叉树包括:1.空树 2.只有一个根节点 3.只有左子树 4.只有右子树 5.左右子树都存在 有且仅有这5中表现形式 123二叉树

2018-01-24 15:42:01 140

转载 网站性能测试总结

1 引言    性能测试与分析是软件开发过程中介于架构和调整的一个广泛并比较不容易理解的领域,更是一项较为复杂的活动。就像下棋游戏一样,有效的性能测试和分析只能在一个良好的计划策略和具备了对不可预料事件的处理能力的条件下顺利地完成。一个下棋高手赢得比赛靠的不仅仅是对游戏规则的认识,更是靠他的自己的能力和不断地专注于分析自己对手的实力来更加有效地利用和发挥规则的作用。同样一个优秀的性能测

2018-01-24 15:16:42 2479

转载 二分查找各种情况大总结

二分查找多次刷题时遇到,虽然每次也能写对,但花了蛮多时间,没好好想过。而且网上的太多版本,并不是很简洁,而且边界条件变化情况太多,容易混淆,下面是自己对二分查找的一些思考和总结,尽量写得简单易懂。三种基本版本:1.1 二分查找原始版--查找某个数的下标(任意一个)在有序数组中查找某个数,找到返回数的下标,存在多个返回任意一个即可,没有返回-1。所有程序采用左右均

2018-01-24 14:35:31 416

转载 Java单链表反转

【尊重原创,转载请注明出处】http://blog.csdn.net/guyuealian/article/details/51119499(一)单链表的结点结构:       data域:存储数据元素信息的域称为数据域;     next域:存储直接后继位置的域称为指针域,它是存放结点的直接后继的地址(位置)的指针域(链域)。    data域+ next域:组成数据ai

2018-01-23 10:21:30 153

转载 linux中软链接和硬链接的区别与小结

ln命令  该命令在文件之间创建链接。这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称。对于这个新的文件名,我们可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题。 如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名。而且,即使我们删除这个链接,也不会破坏原来的目录。  语法:ln [选项] 目标 [链接名]  ln [选

2018-01-20 15:44:33 431

转载 给一个IP地址,如何划分为几个子网?

1、 基本知识介绍1.1网络中的每一个主机或路由器至少有一个IP地址;在Internet中不允许有两个设备具有同样的IP地址;1.2IP地址采用分层结构;IP地址是由网络号(net ID)与主机号(host ID)两部分组成的。 1.3  IP地址的分类IP地址长度为32位,点分十进制(dotted decimal)地址;采用x.x.x.x的格式来表示,每个x为

2018-01-20 15:40:07 44077 5

转载 IP地址子网划分终极讲解(笔记)

1.学习子网前的准备知识-什么是数制 现场讲解版二进制和十进制的关系  二进制和十六进制的关系 16进制的每个位是2进制的4位 F=1111 二进制转16进制,按上面4位一组分开转2.IP地址和二进制十进制:0-9 逢10(到9)进1 十六进制:0-F (10为A),逢F进1 PS:归位 到(某个进制数)开始进位3.十进制和二进制之间的关系同

2018-01-20 15:39:04 12700 1

空空如也

空空如也

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

TA关注的人

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