Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

C/C++中使用的正则表达式库

C/C++中使用的正则表达式库

正则表达式正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则引擎主要可以分为两大类:一种是DFA,一种是NFA。主流的正则引擎又分为3类:1. DFA引擎DFA 引擎在线性时状态下执行,因为它们不要求回溯(并因此它们永远不测试相同的字符两次)。DFA 引擎还可以确保匹配最长的可能的字符串。...
Java ClassLoader 基础

Java ClassLoader 基础

基本概念:Java Classloader(类装载器):JRE的一个模块,用于装载Java类到JVM。JRE加载一个类到JVM需要以下基本步骤:装载:查找并导入class文件,如String.class;链接:校验、准备、解析,其中解析步骤是可以选择的,由使用目的决定;校验:检查载入class文件数据的正确性,因为某些class文件可能是利用工具生成,而非使用Java编译器编译生成;准备:给类的静态成员分配存储空间;解析:将符号引用转成直接引用;初始化:对...
Linux编程基础--形象地解释什么是epoll

Linux编程基础--形象地解释什么是epoll

epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,在开始讨论这个问题之前,先来解释一下为什么需要多路复用IO.以一个生活中的例子来解释:假设你在大学中读书,要等待一个朋友来访,而这个朋友只知道你在A号楼,但是不知道你具体住在哪里,于是你们约好了在A号楼门口见面.如果你使用的阻塞IO模型来处理这个问题,那么你就只能一直守候在A号楼门口等待朋友的到来,在这段时间里你不能做别的事情,不难知道,这种方式的...
Linux编程基础--什么是I/O

Linux编程基础--什么是I/O

I/O是input/output的缩写,即输入输出端口。每个设备都会有一个专用的I/O地址,用来处理自己的输入输出信息。CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者被称为I/O接口,而后者则被称为存储器接口。存储器通常在CPU的同步控制下工作,接口电路比较简单;而I/O设备品种繁多,其相应的接口电路也各不相同,因此,习惯上说到接口只是指I/O接口。1接口分类编辑I/O接口的功能是负责实现CPU通过系统总线把I/O电路和外围设备联系...
Qt中的事件循环

Qt中的事件循环

1、事件循环一般用exec()函数开启。QApplicaion::exec()、QMessageBox::exec()都是事件循环。其中前者又被称为主事件循环。事件循环首先是一个无限“循环”,程序在exec()里面无限循环,能让跟在exec()后面的代码得不到运行机会,直至程序从exec()跳出。从exec()跳出时,事件循环即被终止。QEventLoop::quit()能够终止事件循环。其次,之所以被称为“事件&rdq...
Linux-2.6.32内核编译流量计数器nfacct

Linux-2.6.32内核编译流量计数器nfacct

把Linux- 3.17的功能移植到Linux-0.01上!我的时间为我掌控,这是我最大的财富!早上9点多到公司,一直到下班,这段时间有偿的坐班,我不会估计自己的事情,下班到家直到家人睡去,这段时间有偿的 坐班,我不会顾及自己的事情,之后就是急促的喘息的夜,我的愿望刻在上帝的喉咙,希望通过推翻身边的拿人性做抵押的否认之墙,来从容面对恐惧(这是形容死 亡金属的)!好了!受虐自是开端!且看且珍惜:Netfilter早在xtables-addons-1.46(更...
有福了!用PHP开发原生桌面应用程序

有福了!用PHP开发原生桌面应用程序

你有没有想过用纯PHP、CakePHP等也可以创建运行在OS X、Windows和Linux桌面上的应用?那么解决方案来了!就是这么任性。图:运行在Ubuntu Linux上的界面PHP Nightrain,是使用Python和PHP开发的一个打包工具,通过该工具可以将你的PHP/HTML/CSS/Javascript应用转为原生桌面应用程序,支持对PHP/HTML Web应用提供图形渲染,提供PHP5预编译功能,可自定义应用宽高等。开发者可以直接下载已经...
MapReduce程序中的万能输入FileInputFormat.addInputPaths

MapReduce程序中的万能输入FileInputFormat.addInputPaths

写MapReduce过程中经常会遇到多个源路径的输入,我们可以在MapReduce程序主函数中通过FileInputFormat.addInputPaths(job,args[0])方法来实现,args[0]可以是folder1或者folder1,folder2只要以逗号分隔就可以了。这样在执行MR的时候,输入会将多个源路径全部多为map输入进行执行。另外一种实现单输入的方法(只支持一个目录作为输入目录):FileInputFormat.setInputP...
编程中的“末行效应”

编程中的“末行效应”

我研究过数百个因“拷贝-粘贴”导致的错误。可以肯定的是,程序员常常会在一大段代码的最后一段里犯错。好像还没有任何编程书讨论过这种现象,因此我决定自己写点什么。我称之为“末行效应”。我叫Andrey Karpov,我的工作有点不寻常:我借助静态分析工具研究各种应用程序代码,并描述从中找到的错误或者缺陷。我这么做既有实际效益也因为工作需要。使用的方法正是基于我们公司所推广的PVS-Studio和CppCat工具的...
Java开发者值得关注的7款新工具

Java开发者值得关注的7款新工具

云计算、大数据地快速发展催生了不少热门的应用及工具。作为老牌语言Java,其生态圈也出来了一些有关云服务、监控、文档分享方面的工具。本文总结了7款较新的Java工具,大家不妨看下。1.JClarity——性能监控JClarity目前提供两款有关Java性能的工具:Illuminate和Censum,Illuminate是一款性能监控工具,而Censum是一款专注于垃圾回收的日志分析工具。除了收集和可视化数据之外,这两款工具还会根据检...
Qt中实时将Qtableview中的内容显示在相应的控件上

Qt中实时将Qtableview中的内容显示在相应的控件上

学习Qt有一段时间了,几天做东西需要将Qtableview中的数据显示在相应的控件上,想看好久,终于搞定了,特意拿出来,和大家分享,也当做是自己的一个学习笔记。首先我的Qtableview中的的内容是从数据库中查找出来再显示 出来的。下面是以个关于某个公司信息种类的数据。这是数据库中的记录效果是这样的:点击上面的某行数据,下面的lineEdit中就会显示出来对应的数据。如下图所示再点击第二条数据,也会显示出来。效果很不错,完美的实现了,自己非常的高兴,将过...
Java NIO操作类型

Java NIO操作类型

JAVA NIO共定义了四种操作类型:OP_READ、OP_WRITE、OP_CONNECT、OP_ACCEPT,分别对应读、写、请求连接、接受连接等网络Socket操作。ServerSocketChannel和SocketChannel可以注册自己感兴趣的操作类型,当对应操作类型的就绪条件满足时OS会通知channel,下表描述各种Channel允许注册的操作类型,Y表示允许注册,N表示不允许注册,其中服务器SocketChannel指由服务器Serve...
Java AIO 服务器与客户端实现示例

Java AIO 服务器与客户端实现示例

AIO用于文件处理还是比较快乐的,但用AIO来写网络消息处理服务器端与客户端是比较麻烦的事情,当然这只是我个人意见,主要是有几点原因:一是AIO需要操作系统支持,还好Windows与Linux(模拟)都支持;二是AIO同时使用递归调用和异步调用容易把程序员搞晕,代码容易出错;三是CompletionHandler会使用单独的线程跑,容易出现多线程问题,频繁线程上下文切换比较消耗资源;四是异步写要创建队列来缓存需要写入的数据,否则肯定会遇到WritePend...
<< 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 >>