
编程
pyxllq
这个作者很懒,什么都没留下…
展开
-
优化--单台服务器支持百万级别tcp长连接
如何在单台服务器上实现百万级长连接,以下是实现该目标进行的一些优化:1.首先需要准备一台大内存的服务器,装上linux系统,比如rehat、centos(内核版本在2.6.25之上)等。 为什么需要大内存,因为每个连接都需要有读写缓存,具体看第二部内容; 为什么内核版本要在2.6.25之上,因为2.6.25内核之前有个 宏定义,定义了最大文件描述符大小为1024*1024,正好是100...原创 2018-05-17 11:50:28 · 5462 阅读 · 1 评论 -
c语言使用kafka消息队列的实例
1.提供初始化以及收发消息接口,rd_kafka_msg.h#ifndef RDKAFKA_MSG_H_#define RDKAFKA_MSG_H_#include "rdkafka.h"int kafka_init(char mode, char* topic, int partion, char* brokers, rd_kafka_topic_conf_t **topic_...原创 2018-06-07 15:08:03 · 9891 阅读 · 0 评论 -
string类实现
这个在面试中经常被问及的知识点,在此记录一下。class String{public: String(); String(const char* str); String(const String& other); String& operator=(const String& other); String& perator=(const char...原创 2018-06-07 14:12:19 · 146 阅读 · 0 评论 -
fork与vfork,exit()与_exit(),malloc与kmalloc及vmalloc,wait与waitpid
1.fork与vfork fork介绍: pid_t fork(void); linux中fork函数用于从当前进程中创建一个新进程,函数有两个返回值,在父进程中返回子进程的pid,在子进程中返回0,出错就返回-1,fork函数创建一个子进程时,fork函数分配新的内存块和内核数据结构给子进程,把父进程部分数据结构内容拷贝入系统进程列表中,然后fork函数返回,开始调度器调度。注...原创 2018-06-06 09:50:41 · 201 阅读 · 0 评论 -
static_cast、dynamic_cast、const_cast、reinterpret_cast
c++除了能使用c语言的强制类型转换外,还新增了四种强制类型转换:static_cast、dynamic_cast、const_cast、reinterpret_cast,主要运用于继承关系类间的强制转化,语法为:static_cast<new_type> (expression)dynamic_cast<new_type> (expressio...原创 2018-06-12 14:56:42 · 300 阅读 · 0 评论 -
python操作mongo数据库
归档写过的python进行mongo数据库操作的code# -*- coding: utf-8 -*-#!/usr/bin/python"""Spyder EditorThis is a temporary script file."""import osimport reimport sysimport jsonimport pymongoimport timeimp...原创 2018-05-16 16:03:38 · 251 阅读 · 0 评论 -
python操作mysql,递归读取目录下文件
import osimport reimport timeimport datetimeimport MySQLdbc08imeimap={}c08online1minuser={}c08online5minuser={}c08online10minuser={}onlinenumperhour={'00':{},'01':{},'02':{},'03':{},'04':...原创 2018-05-16 15:59:14 · 327 阅读 · 0 评论 -
重建二叉树
给出某二叉树的前序遍历和中序遍历的序列,请重建出该二叉树: 根据二叉树的前序遍历的特性,每次读取的第一个值一定是根节点,这样我们可以在中序遍历的序列中找到当前的根节点的位置。该位置左边的就是该树的左子树,右边的就是右子树了。 因此,我们每次都需要在前序遍历中找根节点并创建一个根节点,然后在中序遍历中确定根节点位置,并确定当前根节点的左右子树,然后以同样的方法去构建左右子树。这整个过程其...原创 2018-05-16 15:11:33 · 140 阅读 · 0 评论 -
memcpy
memcpy存在两种情况的拷贝 一种是由内存覆盖,另一种是无内存覆盖针对内存覆盖情况,只有一下一种需要从后往前拷贝:dst < src + len && dst > src不多说直接上代码:#include <stdio.h> #include<string.h> #include <assert.h> void* my_mem...原创 2018-05-16 11:19:14 · 739 阅读 · 0 评论 -
单链表逆序
ListNode* ReverseList(ListNode* head){ if(NULL == head || NULL == head->next) return head; ListNode* pnext = head->next; head->next = NULL; ListNode* newhead = ReverseList(pnext)...原创 2018-05-17 16:28:42 · 227 阅读 · 0 评论 -
红黑树知识介绍
1.红黑树介绍红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。它是在1972年由Rudolf Bayer发明的,当时被称为平衡二叉B树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和 Robert Sedgewick 修改为如今的“红黑树”。红黑树和AVL树类似,...原创 2018-05-31 16:35:13 · 198 阅读 · 0 评论