语言分词学习--jieba分词包 Anaconda,中文大蟒蛇,是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换在cmd中输入下述指令:(2)使用步骤安装包导入包调用包HMM参数表示分词粒度分词结果是一个pair总的步骤:n-普通名称
面经-场景题 一、数据流查找数据1. 找中位数1.1 有限数据文件建立一个大根堆,一个小根堆,每次加入数据保证了两个堆数量相等。大根堆保存较小数,小根堆保存较大数。LeetCode数据流中的中位数1.2 超大数据文件100GB数据,查找中位数,内存只有512MB100GB数据按照大小分解成200个小文件(根据内存大小分),这些文件中分别存放数字大小在一定范围中的数字,同时统计每个小文件中元素的个数,这样就能知道中位数在哪个文件中以及中位数在该文件中的第K个数,然后查找该文件中的第K大数即可。
IO多路复用 I/O 多路复用使得程序能同时监听多个文件描述符,能够提高程序的性能,Linux 下实现 I/O 多路复用的系统调用主要有 select、poll 和 epoll。1. select 主旨思想: 1. 首先要构造一个关于文件描述符的列表,将要监听的文件描述符添加到该列表中。 2. 调用一个系统函数,监听该列表中的文件描述符,直到这些描述符中的一个或者多个进行I/O 操作时,该函数才返回。 a.这个函数是阻塞 b.函数对文件描述符的检测的操作是由内核完成的 3...
Linux高并发服务器开发 程序突然退出而系统没有释放端口-端口复用端口复用最常用的用途是:防止服务器重启时之前绑定的端口还未释放 程序突然退出而系统没有释放端口#include <sys/types.h>#include <sys/socket.h>// 设置套接字的属性(不仅仅能设置端口复用)int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);/*..
《CUDA C编程权威指南》学习笔记 chap4-6 《CUDA C编程权威指南》示例代码下载第4章 全局内存4.1 CUDA内存模型概述1. 内存层次结构的优点CUDA编程模型能将内存层次结构更好地呈现给用户,能让我们显式地控制 它的行为。2. CUDA内存模型CUDA内存模型提出了多种可编程内存的类型: ·寄存器 ·共享内存 ·本地内存 ·常量内存 ·纹理内存 ·全局内存所有线程都可以访问全 局内存。所有线程都能访问的只读内存空间有:常量内存空间和纹理内存空间。全局内 存、常量内存和纹理内存空间有不同的用途。纹理内存为各种数据布局提供了不
CUDA中grid、block、thread、warp与SM、SP的关系 首先概括一下这几个概念。其中SM(Streaming Multiprocessor)和SP(streaming Processor)是硬件层次的,其中一个SM可以包含多个SP。thread是一个线程,多个thread组成一个线程块block,多个block又组成一个线程网格grid。 现在就说一下一个kenerl函数是怎么执行的。一个kernel程式会有一个grid,grid底下又有数个block,每个block...
《CUDA C编程权威指南》学习笔记 chap1-3 第二章 CUDA编程模型2.1 CUDA编程模型概述内存管理GPU内存分配:cudaMalloccudaError_t cudaMalloc(void** devPtr, size_t size)该函数负责向设备分配一定字节的线性内存,并以devPtr的形式返回指向所分配内存 的指针。cudaMalloc与标准C语言中的malloc函数几乎一样,只是此函数在GPU的内存里分 配内存。通过充分保持与标准C语言运行库中的接口一致性,可以实现CUDA应用程序的 轻松接入。2. 主机和设备之间的
HTTP协议是有状态还是无状态的?Cookie和Session 在面试中被问到HTTP协议是有状态还是无状态的,当场就有点懵,因为不会就没答出来。还是得总结一下啵! 一、HTTP协议的状态 HTTP是一种无状态协议,即服务器不保留与客户交易时的任何状态。 也就是说,上一次的请求对这次的请求没有任何影响,服务端也不会对客户端上一次的请求进行任何记录处理。 二、HTTP协议的无状态性带来的问题: 用户登录后,切换到其他界面,进行操作,服务器端是无法判断是哪个用户登录的。...
TCP面试常见题:time_wait状态产生的原因,危害,如何避免 http://blog.csdn.net/u013616945/article/details/77510925 MSL(Maximum Segment Lifetime)最大报文生存时间 每个TCP实现必须选择一个MSL。它是任何报文段被丢弃前在网络内的最长时间。这个时间是有限的,因为TCP报文段以IP数据报在网络内...
C++ 虚函数表 vfptr详解 前言大家都应该知道C++的精髓是虚函数吧? 虚函数带来的好处就是: 可以定义一个基类的指针, 其指向一个继承类, 当通过基类的指针去调用函数时, 可以在运行时决定该调用基类的函数还是继承类的函数. 虚函数是实现多态(动态绑定)/接口函数的基础. 可以说: 没有虚函数, C++将变得一无是处! 既然是C++的精髓, 那么我们有必要了解一下她的实现方式吗? 有必要! 既然C++是从C语言的基础上发展而来的, 那么我们可以尝试用C语言来模拟实现吗? 有可能! 接下来, 就是我一步一步地来解析C++的虚函数的实
HTTP 2.0 原理详细分析 HTTP 2.0是在SPDY(An experimental protocol for a faster web, The Chromium Projects)基础上形成的下一代互联网通信协议。HTTP/2 的目的是通过支持请求与响应的多路复用来较少延迟,通过压缩HTTPS首部字段将...
C++强制类型转换:static_cast、dynamic_cast、const_cast、reinterpret_cast C++强制类型转换:static_cast、dynamic_cast、const_cast、reinterpret_cast1. c强制转换与c++强制转换c语言强制类型转换主要用于基础的数据类型间的转换,语法为:(type-id)expression//转换格式1type-id(expression)//转换格式2c++除了能使用c语言的强制类型转换外,还新增了四种强制类型转换:static_cast、dynamic_cast、const_cast、reinterpret_cast,主要运用
【VSCode】 VSCode配置LeetCode插件 1. 安装VSCode并配置环境VScode安装、配置C++运行环境2. 安装LeetCode插件插件扩展中搜索LeetCode插件,安装热度最高的那个即可。安装完成会出现上述按钮。3. 安装Node.js在安装完LeetCode插件之后,会提示你安装Node.js,除了安装路径一路next即可。Node.js在安装完成之后会自动配置环境变量,所以我们无需操心。4. 登录LeetCode账户5. 配置文件路径6. 快乐编程LeetCode插件提供类似网页版的题目筛选功能,可以按照题目序
【Linux】硬链接和软链接 硬链接和软链接预备知识:Linux文件系统之inode、block、superblock命令 ln硬链接: 硬连接指通过索引节点 inode 产生新文件名而不是新文件,即每一个硬链接都是一个指向对应区域的文件。可以透过1或2的目录之inode指定的block找到两个不同的文件名,而不管使用那个文件名均可指到real那个inode去读取到最终数据。优点: 安全,删除任何一个档名(上图中的1或2),inode和block都是存在的,此外无论使用哪个档名编辑,最终结果都会写入inode和bl
【Linux】 常用命令 1. 通过进程id查看占用的端口,通过端口号查看占用的进程 id?通过进程id查看占用的端口:netstat -nap | grep 进程id通过端口号查看占用的进程id :netstat -nap | grep 端口号2. 如何查看占用内存比较多的进程?ps aux | sort -k4nr | head -Nhead :-N可以指定显示的行数,默认显示10行。ps :a—指代所有的进程,u—userid—执行该进程的用户id,x—指代显示所有程序,不以终端机来区分。ps -aux的
【杂项】 面试复习 main函数之前执行了什么?全局对象的构造函数会在main 函数之前执行。①设置栈指针②初始化静态和全局变量,即data段的内容③将未初始化部分的赋初值:数值型short,int,long等为0,bool为FALSE,指针为NULL,等等,即.bss段的内容④运行全局构造器,估计是C++中构造函数之类的吧⑤将main函数的参数,argc,argv等传递给main函数,然后才真正运行main函数Select poll epoll网络IO可以抽象成用户态和内核态之间的数据交换。使用sel..