- libevent源码学习----io多路复用的封装和使用
一个程序渣渣的小后院
libeventlibevent源码io多路复用
因为是非阻塞监听事件的发生,所以内部其实还是采用io多路复用函数实现的。又因为可供选择的io函数很多,linux下有epoll,poll,select等,window下有ICOP,select等,所以libevent需要在程序启动时选择一个合适的io多路复用函数,合适的依据是系统支持,为了实现跨平台io函数的效率尽量高用户是否主动设置了不想使用的io函数为了解决跨平台,libevent对所有的io
- icop
李昂李三光
全局组件或配置1.表格查询页搜索框点击reset或点击下拉选择框的清空按钮需要专为实体默认选中位置:src\components\SearchPageCore\search_field\select\index.tsx在配置下拉选择框的内容时,placeholder一般会写为"SearchByXXX"或者是"AllXXX"的形式,而清空后所需要留下的实体默认选项的格式为"AllXXX",所以写了一
- 韩信:工资是否应该透明
拓展团建旅游
公平理论可以用公平关系式来表示。设当事人a和被比较对象b,则当a感觉到公平时有下式成立:op/ip=oc/icop——自己对所获报酬的感觉oc——自己对他人所获报酬的感觉ip——自己对个人所作投入的感觉ic——自己对他人所作投入的感觉当上式为不等式时,可能出现以下两种情况:(1)op/ip在这种情况下,他可能要求增加自己的收入或减小自己今后的努力程度,以便使左方增大,趋于相等;第二种办法是他可能要
- icop业务框架(Business Framework)里的技术框架(Technology Framework))
按钮李奎阳
前面我们简单介绍过前端部分的成果,You-UI首show我们最初的技术体系是下图中没有红框的部分,发展到现在,引入了一些组件,也自行实现了很多功能,大部分都是业务框架方面的,但也有与具体业务关系没那么强的,比如前面说的构成前端You-UI体系的重要部分icop界面设计器,基本上就是一个通用的组件。其实围绕后端,我们的开发也做了很多工作,这些都是我们整个技术体系里进行了重点增强的部分。从标题看就比较
- java 正则表达式验证
Full Stack Developme
packagecom.fsti.icop.util.regexp;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicfinalclassRegExpValidatorUtils{/***验证邮箱**@param待验证的字符串*@return如果是符合的字符串,返回true,否则为false*/publicstatic
- java 正则表达式验证
linjcai
原文地址为:java正则表达式验证packagecom.fsti.icop.util.regexp;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicfinalclassRegExpValidatorUtils{/***验证邮箱**@param待验证的字符串*@return如果是符合的字符串,返回true,否则为fa
- java正则表达式验证整数、浮点数和日期(转)
阳光温暖
java入门
java正则表达式验证整数、浮点数和日期packagecom.fsti.icop.util.regexp;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicfinalclassRegExpValidatorUtils{/***验证邮箱**@param待验证的字符串*@return如果是符合的字符串,返回true,否则
- 字符串加密,解密,利用 sun.misc.BASE64Decode类的 encode(byte)编码和decodeBuffer(str)解码
朱智文
智慧云停车场项目java基础
/***@(#):Base64Util.java*@description:Base64加解密工具类*@author:2015年5月21日*@version:Version1.0*/packagecom.rib.icop.util;importjava.io.UnsupportedEncodingException;importorg.slf4j.Logger;importorg.slf4j.Lo
- Spring Cache原理与使用及ICOP平台中的缓存应用
大道化简
缓存Spring框架分布式缓存-redis
一.SpringCache概述Spring3.1中提供了基于注解的缓存技术,他本身并不是缓存的具体实现,而是一个缓存的抽象。通过在既有程序的方法上添加springcache的注解,可以达到缓存方法返回结果的效果。二.SpringCache的特点1.通过使用少量注解,就可使既有代码支持缓存2.支持开箱即用Out-of-the-box,即不用安装和部署第三方组件,就可以使用缓存3.支持SpringEx
- Java常用正则表达式验证类完整实例【邮箱、URL、IP、电话、身份证等】
hacker_Lees
本文实例讲述了Java常用正则表达式验证类。分享给大家供大家参考,具体如下:packagecom.fsti.icop.util.regexp;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicfinalclassRegExpValidatorUtils{/***验证邮箱**@param待验证的字符串*@return如
- MySQL数据Packet for query is too large 异常解决
DBDeep
MySQL
MySQL数据Packetforqueryistoolarge异常解决1.公司icop系统刚开始运行时正常的,后面过了段时间登录发现有报错,无法登录系统:2.查看相关组件日志,发现有关数据库的报错:报错信息摘要如下:Errorqueryingdatabase.Cause:com.mysql.jdbc.PacketTooBigException:Packetforqueryistoolarge(10
- ICOP Win异步通讯
清风徐来918
计算机网络
iocp(I/OCompletionPort,I/O完成端口)是Windows异步通讯机制完成端口大概的处理流程:1:创建一个完成端口。2:创建一个线程A。3:A线程循环调用GetQueuedCompletionStatus()函数来得到IO操作结果,这个函数是个阻塞函数。4:主线程循环里调用accept等待客户端连接上来。5:主线程里accept返回新连接建立以后,把这个新的套接字句柄用Crea
- java 正则表达式
请叫我木头哥
packagecom.fsti.icop.util.regexp;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicfinalclassRegExpValidatorUtils{/***验证邮箱**@param待验证的字符串*@return如果是符合的字符串,返回true,否则为false*/publicstatic
- java 正则表达式验证
2277259257
packagecom.fsti.icop.util.regexp;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicfinalclassRegExpValidatorUtils{
/**
*验证邮箱
*
*@param待验证的字符串
*@return如果是符合的字符串,返回true,否则
- java 正则表达式验证
正则表达式
package com.fsti.icop.util.regexp;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public final class RegExpValidatorUtils {
/**
* 验证邮箱
*
* @param 待验证的字符串
* @return 如果是符合的
- ICOPclient版本号,异步connect
connect
之前在网上看到一个服务端的ICOP模块,比較小巧,感觉还不错,后来在工作中,需要开发一个挂号的程序,监视大量server执行情况,初期连接数大概六七百,我就把这个ICOP模块改造成了一个client版本号。后来发现因为是同步的connect,有时候会卡在connect过程非常久,也不方便设置connect的超时,想到使用ConnectEx做异步连接,感觉ConnectEx过于繁琐,还得自己获取函数
- 转[原]Winsock完成端口模型(VER1)——I/O Completion Port
port
研究了几天IOCP的模型,参考了很多大牛的文章,有了点自己的感觉,于是把心得写下来,算是记录一下成长的过程,也希望用最直观的图的形式让以后的人更直观的明白IOCP的基本原理,其实IOCP有很多实现的方式,先说一下第一种比较基本的ICOP,这种理解之后其他的就很容易理解了。:)
先看一下我绘制的一个原理图,图应该更容易理解一下,绘制了1个多小时呢,水平有限,高手莫怪。
流程图解释————
- java 正则表达式验证
ajan
java正则表达式验证
package com.fsti.icop.util.regexp;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public final class RegExpValidatorUtils {
/**
* 验证邮箱
*
* @param 待验证的字符串
* @return 如果是符合的字符串,返回 tru
- java 正则表达式验证
ajan
java正则表达式验证
package com.fsti.icop.util.regexp;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public final class RegExpValidatorUtils {
/**
* 验证邮箱
*
* @param 待验证的字符串
* @return 如果是符合的字符串,返回 tru
- java 正则表达式验证
gao_chun
java正则表达式
packagecom.fsti.icop.util.regexp;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicfinalclassRegExpValidatorUtils{
/**
*验证邮箱
*
*@param待验证的字符串
*@return如果是符合的字符串,返回true,否则为false
*/
- 文件格式
hunanjun000
文件web格式php
0gifp_w_picpath/gif1jpgp_w_picpath/jpeg2pngp_w_picpath/png3bmpp_w_picpath/bmp4psdapplication/octet-stream5icop_w_picpath/x-icon6rarapplication/octet-stream7zipapplication/zip87zapplication/octet-strea
- Winsock完成端口模型
gsls181711
研究了几天IOCP的模型,参考了很多大牛的文章,有了点自己的感觉,于是把心得写下来,算是记录一下成长的过程,也希望用最直观的图的形式让以后的人更直观的明白IOCP的基本原理,其实IOCP有很多实现的方式,先说一下第一种比较基本的ICOP,这种理解之后其他的就很容易理解了。:) 先看一下我绘制的一个原理图,图应该更容易理解一下,绘制了1个多小时呢,水平有限,高手莫怪。 流程图解释————
- S_OK,S_FALSE,E_FAIL
ycg514230
comiocpE_DAILS_FALSESUCCEEDED
今天在调试一个ICOP的操作的时候,发现连接被动关闭的时候老是会在一处断言处失败,跟了很久终于发现了问题。在此记录一下:断言报错的代码如下:HRESULTCIoCPWorker::UnregIoTask(HRESULThIokey)
{
ENTER_CALL("CIoCPWorker_UnregIoTask");
ASSERT_(SUCCEEDED(hIokey));
_IoCallbac
- web半同步半异步模式的服务器模型
star65225692
Ajax
半年前偶然看到一叫spserver的服务器框架,它将windows下ICOP移植到到libevent,并且以HSHA,LF两种模式实现了服务器框架.我做了点功课,写点心得. 一般来说在设计一个服务器网络框架的时候,需要用到线程池,里面的线程负责执行服务端所有代码.这些代码总的来说可以分为两类: 一类负责网络IO部分,也就是从网络读取和发送数据 &n
- iocp模型客户端
tan625747
最近csdn多了几个iocp教程,花了两天时间,昨天到半夜,今天终于调试通过,注意只是让程序通过。比较简单,欢迎新手,结合网上出现的icop模型,补充学习。#include"Socket.h"
#include
#include
#include
#include
#include"HtmlHelper.h"
#include"UrlQueue.h"
#include
#includeA
#inc
- 2011年2月26号随记
gantleman
游戏网络socket服务器平台网易
看到论坛上一句话很有感触,游戏功能开发是应用级的服务器开发是系统级的。游戏功能开发可以追求极致,而到了系统讲究的是平衡,例如 win平台有icop,linux平台有epoll,通用的有socket,这里面选择开去个个fans肯定选各自的平台用最快的技术而舍弃socket。如果从系统平台考虑开来,无论选择了哪个系统那么可移植性就遭到了无法修复的破坏,网络连接方案的选择也对后续开发做了无形的框架。产生
- epoll与icop的区别
刘小兵2014
链接:http://www.linuxdiyf.com/viewarticle.php?id=80810
- JetByteTools(一)
S.l.e!ep.¢%
ICOP可以这么简单?class CIOCompletionPort{public: explicit CIOCompletionPort(size_t maxConcurrency); ~CIOCompletionPort(); void AssociateDevice(HANDLE hDevice, ULONG_PTR completionKey); void Post
- ICOP
sea_sharka_17
多线程工作apisocket服务器微软
微软在Winsock2中引入了IOCP这一概念。IOCP全称I/OCompletionPort,中文译为I/O完成端口。IOCP是一个异步I/O的API,它可以高效地将I/O事件通知给应用程序。与使用select()或是其它异步方法不同的是,一个套接字[socket]与一个完成端口关联了起来,然后就可继续进行正常的Winsock操作了。然而,当一个事件发生的时候,此完成端口就将被操作系统加
- 封装了IOCP
S.l.e!ep.¢%
1.不使用线程池2. 暂时只封装了win32的icop3. 暂时还未写测试用例,因为不知道怎么写-_-!!!// networksocket.h: interface for the CNetworkSocket class.///**///////////////////////////////////////////////////////////////////////#if !define
- Java常用排序算法/程序员必须掌握的8大排序算法
cugfy
java
分类:
1)插入排序(直接插入排序、希尔排序)
2)交换排序(冒泡排序、快速排序)
3)选择排序(直接选择排序、堆排序)
4)归并排序
5)分配排序(基数排序)
所需辅助空间最多:归并排序
所需辅助空间最少:堆排序
平均速度最快:快速排序
不稳定:快速排序,希尔排序,堆排序。
先来看看8种排序之间的关系:
1.直接插入排序
(1
- 【Spark102】Spark存储模块BlockManager剖析
bit1129
manager
Spark围绕着BlockManager构建了存储模块,包括RDD,Shuffle,Broadcast的存储都使用了BlockManager。而BlockManager在实现上是一个针对每个应用的Master/Executor结构,即Driver上BlockManager充当了Master角色,而各个Slave上(具体到应用范围,就是Executor)的BlockManager充当了Slave角色
- linux 查看端口被占用情况详解
daizj
linux端口占用netstatlsof
经常在启动一个程序会碰到端口被占用,这里讲一下怎么查看端口是否被占用,及哪个程序占用,怎么Kill掉已占用端口的程序
1、lsof -i:port
port为端口号
[root@slave /data/spark-1.4.0-bin-cdh4]# lsof -i:8080
COMMAND PID USER FD TY
- Hosts文件使用
周凡杨
hostslocahost
一切都要从localhost说起,经常在tomcat容器起动后,访问页面时输入http://localhost:8088/index.jsp,大家都知道localhost代表本机地址,如果本机IP是10.10.134.21,那就相当于http://10.10.134.21:8088/index.jsp,有时候也会看到http: 127.0.0.1:
- java excel工具
g21121
Java excel
直接上代码,一看就懂,利用的是jxl:
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import
- web报表工具finereport常用函数的用法总结(数组函数)
老A不折腾
finereportweb报表函数总结
ADD2ARRAY
ADDARRAY(array,insertArray, start):在数组第start个位置插入insertArray中的所有元素,再返回该数组。
示例:
ADDARRAY([3,4, 1, 5, 7], [23, 43, 22], 3)返回[3, 4, 23, 43, 22, 1, 5, 7].
ADDARRAY([3,4, 1, 5, 7], "测试&q
- 游戏服务器网络带宽负载计算
墙头上一根草
服务器
家庭所安装的4M,8M宽带。其中M是指,Mbits/S
其中要提前说明的是:
8bits = 1Byte
即8位等于1字节。我们硬盘大小50G。意思是50*1024M字节,约为 50000多字节。但是网宽是以“位”为单位的,所以,8Mbits就是1M字节。是容积体积的单位。
8Mbits/s后面的S是秒。8Mbits/s意思是 每秒8M位,即每秒1M字节。
我是在计算我们网络流量时想到的
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
Spring 3 系列
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
- 高性能mysql 之 选择存储引擎(一)
annan211
mysqlInnoDBMySQL引擎存储引擎
1 没有特殊情况,应尽可能使用InnoDB存储引擎。 原因:InnoDB 和 MYIsAM 是mysql 最常用、使用最普遍的存储引擎。其中InnoDB是最重要、最广泛的存储引擎。她 被设计用来处理大量的短期事务。短期事务大部分情况下是正常提交的,很少有回滚的情况。InnoDB的性能和自动崩溃 恢复特性使得她在非事务型存储的需求中也非常流行,除非有非常
- UDP网络编程
百合不是茶
UDP编程局域网组播
UDP是基于无连接的,不可靠的传输 与TCP/IP相反
UDP实现私聊,发送方式客户端,接受方式服务器
package netUDP_sc;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.Ine
- JQuery对象的val()方法执行结果分析
bijian1013
JavaScriptjsjquery
JavaScript中,如果id对应的标签不存在(同理JAVA中,如果对象不存在),则调用它的方法会报错或抛异常。在实际开发中,发现JQuery在id对应的标签不存在时,调其val()方法不会报错,结果是undefined。
- http请求测试实例(采用json-lib解析)
bijian1013
jsonhttp
由于fastjson只支持JDK1.5版本,因些对于JDK1.4的项目,可以采用json-lib来解析JSON数据。如下是http请求的另外一种写法,仅供参考。
package com;
import java.util.HashMap;
import java.util.Map;
import
- 【RPC框架Hessian四】Hessian与Spring集成
bit1129
hessian
在【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中介绍了基于Hessian的RPC服务的实现步骤,在那里使用Hessian提供的API完成基于Hessian的RPC服务开发和客户端调用,本文使用Spring对Hessian的集成来实现Hessian的RPC调用。
定义模型、接口和服务器端代码
|---Model
&nb
- 【Mahout三】基于Mahout CBayes算法的20newsgroup流程分析
bit1129
Mahout
1.Mahout环境搭建
1.下载Mahout
http://mirror.bit.edu.cn/apache/mahout/0.10.0/mahout-distribution-0.10.0.tar.gz
2.解压Mahout
3. 配置环境变量
vim /etc/profile
export HADOOP_HOME=/home
- nginx负载tomcat遇非80时的转发问题
ronin47
nginx负载后端容器是tomcat(其它容器如WAS,JBOSS暂没发现这个问题)非80端口,遇到跳转异常问题。解决的思路是:$host:port
详细如下:
该问题是最先发现的,由于之前对nginx不是特别的熟悉所以该问题是个入门级别的:
? 1 2 3 4 5
- java-17-在一个字符串中找到第一个只出现一次的字符
bylijinnan
java
public class FirstShowOnlyOnceElement {
/**Q17.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
* 1.int[] count:count[i]表示i对应字符出现的次数
* 2.将26个英文字母映射:a-z <--> 0-25
* 3.假设全部字母都是小写
*/
pu
- mongoDB 复制集
开窍的石头
mongodb
mongo的复制集就像mysql的主从数据库,当你往其中的主复制集(primary)写数据的时候,副复制集(secondary)会自动同步主复制集(Primary)的数据,当主复制集挂掉以后其中的一个副复制集会自动成为主复制集。提供服务器的可用性。和防止当机问题
mo
- [宇宙与天文]宇宙时代的经济学
comsci
经济
宇宙尺度的交通工具一般都体型巨大,造价高昂。。。。。
在宇宙中进行航行,近程采用反作用力类型的发动机,需要消耗少量矿石燃料,中远程航行要采用量子或者聚变反应堆发动机,进行超空间跳跃,要消耗大量高纯度水晶体能源
以目前地球上国家的经济发展水平来讲,
- Git忽略文件
Cwind
git
有很多文件不必使用git管理。例如Eclipse或其他IDE生成的项目文件,编译生成的各种目标或临时文件等。使用git status时,会在Untracked files里面看到这些文件列表,在一次需要添加的文件比较多时(使用git add . / git add -u),会把这些所有的未跟踪文件添加进索引。
==== ==== ==== 一些牢骚
- MySQL连接数据库的必须配置
dashuaifu
mysql连接数据库配置
MySQL连接数据库的必须配置
1.driverClass:com.mysql.jdbc.Driver
2.jdbcUrl:jdbc:mysql://localhost:3306/dbname
3.user:username
4.password:password
其中1是驱动名;2是url,这里的‘dbna
- 一生要养成的60个习惯
dcj3sjt126com
习惯
一生要养成的60个习惯
第1篇 让你更受大家欢迎的习惯
1 守时,不准时赴约,让别人等,会失去很多机会。
如何做到:
①该起床时就起床,
②养成任何事情都提前15分钟的习惯。
③带本可以随时阅读的书,如果早了就拿出来读读。
④有条理,生活没条理最容易耽误时间。
⑤提前计划:将重要和不重要的事情岔开。
⑥今天就准备好明天要穿的衣服。
⑦按时睡觉,这会让按时起床更容易。
2 注重
- [介绍]Yii 是什么
dcj3sjt126com
PHPyii2
Yii 是一个高性能,基于组件的 PHP 框架,用于快速开发现代 Web 应用程序。名字 Yii (读作 易)在中文里有“极致简单与不断演变”两重含义,也可看作 Yes It Is! 的缩写。
Yii 最适合做什么?
Yii 是一个通用的 Web 编程框架,即可以用于开发各种用 PHP 构建的 Web 应用。因为基于组件的框架结构和设计精巧的缓存支持,它特别适合开发大型应
- Linux SSH常用总结
eksliang
linux sshSSHD
转载请出自出处:http://eksliang.iteye.com/blog/2186931 一、连接到远程主机
格式:
ssh name@remoteserver
例如:
ssh
[email protected]
二、连接到远程主机指定的端口
格式:
ssh name@remoteserver -p 22
例如:
ssh i
- 快速上传头像到服务端工具类FaceUtil
gundumw100
android
快速迭代用
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOExceptio
- jQuery入门之怎么使用
ini
JavaScripthtmljqueryWebcss
jQuery的强大我何问起(个人主页:hovertree.com)就不用多说了,那么怎么使用jQuery呢?
首先,下载jquery。下载地址:http://hovertree.com/hvtart/bjae/b8627323101a4994.htm,一个是压缩版本,一个是未压缩版本,如果在开发测试阶段,可以使用未压缩版本,实际应用一般使用压缩版本(min)。然后就在页面上引用。
- 带filter的hbase查询优化
kane_xie
查询优化hbaseRandomRowFilter
问题描述
hbase scan数据缓慢,server端出现LeaseException。hbase写入缓慢。
问题原因
直接原因是: hbase client端每次和regionserver交互的时候,都会在服务器端生成一个Lease,Lease的有效期由参数hbase.regionserver.lease.period确定。如果hbase scan需
- java设计模式-单例模式
men4661273
java单例枚举反射IOC
单例模式1,饿汉模式
//饿汉式单例类.在类初始化时,已经自行实例化
public class Singleton1 {
//私有的默认构造函数
private Singleton1() {}
//已经自行实例化
private static final Singleton1 singl
- mongodb 查询某一天所有信息的3种方法,根据日期查询
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
// mongodb的查询真让人难以琢磨,就查询单天信息,都需要花费一番功夫才行。
// 第一种方式:
coll.aggregate([
{$project:{sendDate: {$substr: ['$sendTime', 0, 10]}, sendTime: 1, content:1}},
{$match:{sendDate: '2015-
- 二维数组转换成JSON
tangqi609567707
java二维数组json
原文出处:http://blog.csdn.net/springsen/article/details/7833596
public class Demo {
public static void main(String[] args) { String[][] blogL
- erlang supervisor
wudixiaotie
erlang
定义supervisor时,如果是监控celuesimple_one_for_one则删除children的时候就用supervisor:terminate_child (SupModuleName, ChildPid),如果shutdown策略选择的是brutal_kill,那么supervisor会调用exit(ChildPid, kill),这样的话如果Child的behavior是gen_