自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (9)
  • 收藏
  • 关注

转载 Linux环境下系统安装JDK

说明:本文使用的Linux系统为CentOs6.5版本。在CentOs6.5中中集成了JDK,是OpenJDK,我们可以通过命令来查看一下JDK的版本。命令为:java -version。如图所示:所以我们需要先卸载原先的OpenJDK,再安装Oracle官网的JDK。第一:卸载OpenJDK我们先查看系统安装的JDK信息。命令如下:rpm -qa|grep jav

2017-11-27 10:13:33 171

转载 linux原始套接字(1)-arp请求与接收

一.概述                                                  以太网的arp数据包结构:arp结构op操作参数:1为请求,2为应答。常用的数据结构如下:1.物理地址结构位于netpacket/packet.h 1 struct sockaddr_ll 2 { 3 unsigned shor

2017-11-24 18:53:23 1072 1

转载 socket的局域网广播

广播1. TCP/IP协议栈中, 传输层只有UDP可以广播.2. 只能对同一子网内部广播, 广播数据包不经过路由器.3. UDP的广播地址为255.255.255.2554. 在winsock实现中, 有一个选项对应是否允许广播.linux下必须调用setsockopt打开该选项.5. 打开后, 用sendto向255.255.255.255发送的数据包全部

2017-11-24 18:52:04 1198

转载 应用服务器性能优化 之 消息队列(MQ:Message Queue)

一,消息队列基本概念借用百科的一句话:消息队列就是在消息的传输过程中,保存消息的容器。从图-1和图-2对比,可以很清晰的明白,消息队列服务器,是位于应用服务器和数据库服务器之间的一个服务器。消息队列服务器作为一个缓冲,接收应用服务器发送过来的数据库操作命令,然后按照自己的配置,依次发送给数据库服务器来执行。这种数据库执行的方式,我们称之为异步写入

2017-11-24 14:35:31 348

转载 C++中 #ifdef 和#endif的作用

一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。 条件编译命令最常见的形式为: #ifdef 标识符 程序段1 #else 程序段2 #endif它的作用是:当标识符已经被定义过(一般

2017-11-21 18:57:15 539

转载 Linux下Makefile的编写及四个特殊符号的意义@、$@、$^、$<

我们先看三段C++程序:一、line1的源码line1.h[cpp] view plain copy#ifndef _LINE_1_H   #define _LINE_1_H       void line1_print(const char *strMsg);  #endif  line1.c

2017-11-21 15:26:25 274

转载 GCC编译器中的-I -L -l 选项

在本文中, 我们来聊聊gcc中三个常见的参数, 也即-I(大写的i), -L(大写的l)和-l(小写的l)         一. 先说 -I   (注意是大写的i)        我们先来看简单的程序:        main.c:[cpp] view plain copy#include     #include

2017-11-21 14:14:40 1528

转载 g++参数介绍

gcc and g++分别是gnu的c &amp; c++编译器   gcc/g++在执行编译工作的时候,总共需要4步   1.预处理,生成.i的文件      预处理器cpp2.将预处理后的文件不转换成汇编语言,生成文件.s      编译器egcs3.有汇编变为目标代码(机器代码)生成.o的文件    汇编器as4.连接目标代码,生成可执行程序    连接器ld1.总体选项    -E   只...

2017-11-21 14:08:33 1701 1

转载 成为一名推荐系统工程师永远都不晚

推荐系统工程师技能树掌握核心原理的技能数学:微积分,统计学,线性代数周边学科:信息论基础推荐算法: CF,LR,SVM,FM,FTRL,GBDT,RF,SVD,RBM,RNN,LSTM,RL数据挖掘:分类,聚类,回归,降维,特征选择,模型评价实现系统检验想法的技能操作系统: Linux编程语言: Python/R, Java/C++/C,sql,shellRPC框架

2017-11-21 10:36:58 587

转载 STL源码剖析——STL算法之find查找算法

前言    由于在前文的《STL算法剖析》中,源码剖析非常多,不方便学习,也不方便以后复习,这里把这些算法进行归类,对他们单独的源码剖析进行讲解。本文介绍的STL算法中的find、search查找算法。在STL源码中有关算法的函数大部分在本文介绍,包含findand find_if、adjacent_find、search、search_n、lower_bound、upper_boun

2017-11-21 10:19:36 492

转载 Linux IO多路复用之epoll网络编程(含源码)

前言本章节是用基本的Linux基本函数加上epoll调用编写一个完整的服务器和客户端例子,可在Linux上运行,客户端和服务端的功能如下:客户端从标准输入读入一行,发送到服务端服务端从网络读取一行,然后输出到客户端客户端收到服务端的响应,输出这一行到标准输出 服务端代码如下:#include #include

2017-11-20 16:00:16 190

转载 g++基本用法

用法:g++[选项]文件...g++编译流程:     [cpp] view plain copymain.cxx  #include     using namespace std;    int main(void)  {          cout"Hello World!"   

2017-11-19 20:46:49 733

转载 线程同步:互斥量与读写锁的异同与性能分析

线程同步简单的说就是当多个线程共享相同的内存时,当某个线程可以修改变量,而其他线程也可以读取或修改这个变量的时候,就需要对这些线程进行同步,以确保他们在访问变量的存储内容时不会访问到无效的数值。我们来看个上面一个对于多线程访问共享变量造成竞争的一个例子假设增量操作分为以下三个步骤(1)从内存单元读入寄存器(2)在寄存器中进行变量值的增加(3)把新的值写回内存单元那么

2017-11-18 16:10:20 317

转载 auto_ptr的简单实现

[cpp] view plain copy#include   #include   #include     using namespace std;    template class T>  class AutoPtr{  private:      T *m_ptr;  public:      explicit 

2017-11-16 17:17:49 193

转载 SGI STL空间配置器详解(一)-第一级空间配置器

一、SGI STL配置器简介SGI STL的配置器与众不同,它与标准规范不同。如果要在程序中明确使用SGI配置器,那么应该这样写:[cpp] view plain copyvectorint,std::alloc> iv;  他的名字是alloc,而且不接受任何参数。标准配置器的名字是allocator,而且可以接

2017-11-16 11:18:56 288

转载 c++ placement new概念

参考:http://www.cnblogs.com/Clingingboy/archive/2013/04/26/3044910.html转:http://bbs.chinaunix.net/thread-1015707-1-1.html问题:什么是“定位放置new(placement new)”,为什么要用它 ? 定位放置new(placement new)有很多作用。最简单

2017-11-15 15:37:37 240

转载 如何用C++实现自己的Tensorflow

原文:How To Write Your Own Tensorflow in C++ 作者:Ray Zhang 翻译:无阻我飞扬摘要:TensorFlow是由谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理,它完全开源,作者通过自己的一个小项目,阐述了如何用C++实现自己的TensorFlow,这篇文章看起来可能会有点晦涩,你需要对相关知

2017-11-13 10:43:30 448

转载 tcp窗口滑动以及拥塞控制

TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现。一、滑动窗口协议     关于这部分自己不晓得怎么叙述才好,因为理解的部分更多,下面就用自己的理解来介绍下TCP的精髓:滑动窗口协议。     所谓滑动窗口协议,自己理解有两点:1. “窗口”对应的是一段可以被发送者发送的字节序列,其连续的范围称之为“窗口”;

2017-11-13 10:39:02 306

转载 浅谈Linux下的EXT3文件系统

【EXT3的基本介绍】1、EXT3文件系统存储单位是“块”,就好比NTFS的“簇”。格式化硬盘或分区时将所有磁盘空间分成若干个大小相同“块”。“块”大小是可以在格式化指定,也可以采用默认的。2、块是EXT3文件系统中的数据存储单元,每个块都有一个唯一编号,从0开始。0号块起始于文件系统起始扇区。3、EXT3文件系统将若干个块组成“块组”,每个块组大小相同。但是由于块的总

2017-11-12 11:37:20 1454

转载 C++类的自动转换和强制转换详解和实现

分为三种情况:(1)如果要进行的转换之间是兼容的,C++自动将值转换为接收变量的类型:如:[cpp] view plain copyint count = 8.8;    double time= 3;    long day = 8;  在C++看来这些都是合法的,因为他们表示的本质是一样的:数字

2017-11-12 09:40:24 888

微服务设计(中文完整版)

过去十年中,分布式系统的粒度变得越来越细,包含大量代码的单块应用逐渐转变为自包含的微服务。但开发微服务系统也有一些让人头疼的问题。本书通过大量的例子,全面讨论了系统架构师和管理员在构建、管理和演化微服务架构时必须考虑的问题,并给出了实用的建议。

2018-05-30

重构:改善既有代码的设计

本书清晰揭示了重构的过程,解释了重构的原理和践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。

2018-05-24

effective c++(第3版)

《Effective C++:改善程序与设计的55个具体做法(第3版)(中文版)》内容简介:有人说C++程序员可以分为两类,读过Effective C++的和没读过的。世界项级C++大师scott Meyers成名之作的第三版的确当得起这样的评价。

2018-05-24

MYSQL必知必会

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

2018-05-22

第一本Docker书带书签目录(完整版)

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

2018-05-22

go语言圣经

Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

2018-05-22

[精通正则表达式(第三版)].(美)佛瑞德.扫描版

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

2018-05-22

The_AWK_Programming_Language中文

AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言(其名称得自于它的创始人阿尔佛雷德·艾侯、彼得·温伯格和布莱恩·柯林汉姓氏的首个字母)的最大功能取决于一个人所拥有的知识。

2018-05-22

sed与awk(第二版)

Awk、sed与grep,俗称Linux下的三剑客,它们之间有很多相似点,但是同样也各有各的特色,相似的地方是它们都可以匹配文本,其中sed和awk还可以用于文本编辑,而grep则不具备这个功用。

2018-05-22

空空如也

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

TA关注的人

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