Linux[epoll详解]
什么是epoll epoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I/O就绪通知方法。 epoll的相关系统调用 epoll只有epoll_create,epoll_ctl,epoll_wait 3个系统调用。 1.
c++空类为什么占用1个字符
在C++中空类会占一个字节,这是为了让对象的实例能够相互区别。具体来说,空类同样可以被实例化,并且每个实例在内存中都有独一无二的地址,因此,编译器会给空类隐含加上一个字节,这样空类实例化之后就会拥有独一无二的内存地址。如果没有这一个字节的占位,那么空类就无所谓实例化了,因为实例化的过程就是在内存中分配一块地址。 注意:当该空白类作为基类时,该类的大小就优化为0了,这就是所谓的空白基类最优化。 class T
{
};
int main()
{
T t1, t2;
[TJOI2019]大中锋的游乐场——最短路+DP
题目链接: [TJOI2019]大中锋的游乐场 题目本质要求的还是最短路,但因为有第二维权值(汽水看成$+1$,汉堡看成$-1$)的限制,我们在最短路的基础上加上一维$f[i][j]$表示到达$i$节点,权值为$j$的最短路长度,然后像正常最短路那样转移,最后取终点所有状态的最小值即可。 #include<set>
#include<map>
#include<queue>
#include<stack>
#include<cmath>
#include<cstdio>
#incl
QT学习小demo之LightMD(MarkDown编辑器)
很早之前就有了写一个类似Windows记事本的想法,加上最近也刚好在学编译原理,所以就想把两者结合起来,于是就打算结合MarkDown,开发一款MarkDown编辑器。 不过由于我之前一直使用的是Java语言居多,对c++并不熟悉,所以一些糟糕的代码风格和规范还望各位大佬谅解! LightMD 即一款基于QT实现的markdown编辑器,当然也可以作为代码编辑器,由于时间与个人能力等原因,目前实现的功能非常有限! 主要包括: 支持语法高亮(目前支持C/C++) 支持MarkDown预览 代码行
大数据学习之提交job流程,辅助排序11
辅助排序 WritableComparator排序(类): 1:原理:(借鉴别人的,个人觉得这个要好理解点) 它是用来给Key分组的 它在ReduceTask中进行,默认的类型是GroupingComparator也可以自定义 WritableComparator为辅助排序手段提供基础(继承它),用来应对不同的业务需求 比如GroupingComparator会在ReduceTask将文件写入磁盘并排序后按照Key进行分组,判断下一个key是否相同,将同组的Key传给reduce()执行 2:
路飞学城 双色球选购
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Author : Shaoy Lee Date : 05/07/2019 Desc : Change LOG : """ class SelectBool(object): """选择双色球""" def __init__(self): self.i = 1 self.j = 1 self.red_list = [] self.blue_list = [] def red_
SQL-SELECT基本操作
1、SELECT语句 SELECT * FROM web_events; SELECT channel,account_id FROM web_events; 2、LIMIT 限制条件 SELECT * FROM web_events LIMIT 15; ##仅返回前15条数据,缩减查询的时间 3、ORDER BY 1)单个排序 SELECT id, occurred_at, total_amt_usd FROM orders ORDER BY occurred_at LIMIT 10; #
优先队列自定义优先级
#include<iostream>
#include<queue>
using namespace std;
struct node{
int x;
int y;
friend bool operator < (node a,node b)
{
if(a.x==b.x)
return a.y<b.y;
return a.x>b.x;
}
};
int main()
{
AJPFX关于JAVA多线程实现的三种方式
JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。 1、继承Thread类实现多线程 继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过Thread类的start()实例方法。start()
python第十九天
今日内容: 1. random 模块 2. json模块 3. pickle 模块 4.hashlib 模块 5. hmac 模块 6. shutil 模块 7. shelve 模块 1. random 模块: random 模块 获取随机值 import random for i in range(10): print(random.random()) # random.random() 随机获取0~1 之间的数字,不包括0和1, 返回的是浮点型0.531990294375990
[Beta]Scrum Meeting#2
github 本次会议项目由PM召开,时间为5月7日晚上10点30分 时长20分钟 任务表格 人员 昨日工作 下一步工作 木鬼 撰写博客 整理文档 撰写博客 swoip 模块松耦合,文件结构调整 为改进界面做准备(改进界面) 改进界面 bhlt 模块松耦合,文件结构调整 增加多位置点击/划动测试 dsz 模块松耦合,文件结构调整 为改进界面做准备(改进界面) 改进界面 开会照片(拍摄者:木鬼) 燃尽图 工作报告和困难总结 阶段刚刚开始,暂时没有问题 签入记录 可以在此commits/beta查
辗转相除最小公倍数的递归求法
#include<iostream>
using namespace std;
int gcd(int a,int b)
{
return a%b?gcd(b,a%b):b;
}
int main()
{
int m,n;
while(cin>>m>>n)
{
int sum=m+n;
int Sum=m*n;
m=m>n?m:n;
n=sum-m;
i
JSP的Servlet
在JSP中写Servlet时,需要在web.xml下配置jsp到Servlet的映射,但是折腾了半天,其实在当前的myeclipse中根本不需要配置,只要在开始创建一个web project而不是其他的什么project,这样在项目下创建Servlet时会在web.xml中自动编写。 需要注意的是以下几点: 1、在jsp文件的action中需要这样写 2、在对应的Servlet中需要在import后面也就是类名前加上
P2014 选课 树形dp
题目描述 在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习。现在有N门功课,每门课有个学分,每门课有一门或没有直接先修课(若课程a是课程b的先修课即只有学完了课程a,才能学习课程b)。一个学生要从这些课程里选择M门课程学习,问他能获得的最大学分是多少? 输入输出格式 输入格式: 第一行有两个整数N,M用空格隔开。(1<=N<=300,1<=M<=300) 接下来的N行,第I+1行包含两个整数
今日推荐
周排行