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

首页 / 操作系统 / Linux

Linux内核--网络协议栈深入分析(五)--套接字的绑定、监听、连接和断开

Linux内核--网络协议栈深入分析(五)--套接字的绑定、监听、连接和断开

本文分析基于Linux Kernel 3.2.1更多请查看 Linux内核--网络内核实现分析1、套接字的绑定创建完套接字服务器端会在应用层使用bind函数惊醒套接字的绑定,这时会产生系统调用,sys_bind内核函数进行套接字。系统调用函数的具体实现SYSCALL_DEFINE3(bind,int,fd,structsockaddr__user*,umyaddr,int,addrlen){structsocket*sock;structsockaddr_...
Java图片缓存问题解决方案

Java图片缓存问题解决方案

今天遇到了一个图片缓存的问题,图片在tomact中都已经生成了新的图片,但是在页面上就是没有刷新解决方案如下:方案一:在页面中传参,传一个随机数过去report_statbyfrom.action?t=<%=System.currentTimeMillis()%>方案二:在生成的图片命名时加以区别:如day-1.jpg、day-2.jpg等等;这样在页面中取到的值就不会是缓存的了但是这样有一个弊端,那就是生成的图片太多了,可以再创建sessio...
Android的菜单

Android的菜单

Android的菜单有三种1.options菜单这种菜单最多显示5个,多余的在第六个有More,点击弹出其他没有显示的菜单。在Activity中覆盖onCreateOptionsMenu方法menu.add(int groupId, int itemId, int order, CharSequence title)第一个参数组的ID,第二个是本菜单的ID,第三个是顺序,第四个是菜单上显示的字符串。显示的顺序是先显示组,在组中按照第三个参数显示。如果第三个...
C/C++函数调用约定

C/C++函数调用约定

关于 C/C++ 函数调用约定,大多数时候并不会影响程序逻辑,但遇到跨语言编程时,了解一下还是有好处的。VC 中默认调用是 __cdecl 方式,Windows API 使用 __stdcall 调用方式,在 DLL 导出函数中,为了跟 Windows API 保持一致,建议使用 __stdcall 方式。调用约定跟堆栈清除密切相关。如果写一个汇编函数,给 C/C++ 调用,在 __cdecl 方式下,则汇编函数无需清除堆栈,在 __stdcall 方式下...
关于C语言中的volatile变量

关于C语言中的volatile变量

volatile的解释:是一个类型修饰符(const也是一个类型修饰符),它是被设计用来修饰被不同线程访问和修改的变量。volatile的作用:作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。简单地说就是防止编译器对代码进行优化。volatile的例子:并行设备的硬件寄存器(如:状态寄存器) 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables) 多线程应用中被几个任务共享的变量vo...
R语言学习笔记(概念、公式及R函数)

R语言学习笔记(概念、公式及R函数)

1、随机实验:可在相同2、随机事件均值u:这个很好理解 R函数:mean中位数:对序列排序后,排在中间的数,需要特别注意的是如果序列为偶数,中位数是中间两个数平均值. R函数:median百分位数:也是顺序统计量,设百分数为p,n是样本个数,则p位数指:np为小数,ceiling(np)+1,np为整数,则p位数:(x[np]+x[np+1])/2. R函数:quantile()方差s^2,标准差s:注意是除以n-1,而不是n.与方差期望的计算不一样.变异...
Linux work queue工作队列小结与使用

Linux work queue工作队列小结与使用

1、linux内核中断处理的工作队列workqueue机制工作队列(workqueue)是另外一种将工作 推后执行的形式。工作队列可以把工作推后,交由一个内核线程去执行,也就是说,这个下半部分可以在进程上下文中执行。 这样,通过工作队列执行的代码能占尽进程上下文的所有优势。最重要的就是工作队列允许被重新调度甚至是睡眠。那么,什么情况下使用工作队列,什么情况下使用tasklet。如果推后执行的任务需要睡眠,那么就选择工作队列。如果推后执行的任务不需要睡眠,那...
Android Lint分类及常见错误

Android Lint分类及常见错误

Android Lint常见类型:一, Correctness:Messeges(1)字符串国际化不完全(2)国际化的字符串,在默认位置(default locale),没有定义二,Correctness(1)Xml中view的id重名(2)代码中使用的某些API高于Manifest中的Min SDK(3)字符串国际化中,同一名字的的String-Array对应的item值不相同 (4)Activity没有注册到Manifest(5)使用已经废弃的api(...
Android UI异常分析

Android UI异常分析

根据最近的工作经验,总结出以下几点:图片错误:1,a.9.filename标准命名中,缺少.9错误显示:如果标记了内容区域,则图像右下有异常的黑线。因为ninepatch图最外一个像素来标记ninepatch属性。2,缺少左上点错误显示:单向或者双向的拉伸异常。3,左右padding不对错误显示:出现图像显示不全,挤压的情形。4,忽视图像的透明部分因为程序员对图像不够敏感,所以要注意此处。实现的方式,可能是root背景,然后通过第二层透明的方式实现。5,v...
struts中接收数组的表单和ajax两种形式

struts中接收数组的表单和ajax两种形式

我们对于struts2中表单传值太熟悉不过了,可以传一个或多个值或者是作为一个对象的各属性传,十分简单。但是我们要传一个数组并希望struts正确接收,怎么办?下面我将通过普通表单和ajax两种方式讲解。首先我们有如下一个实体,一个action和一个jsp。Student.javapublic class Student{private String name;private String num;}StudentAction.javapublic cla...
改变Struts2配置文件默认路径

改变Struts2配置文件默认路径

ssh还是毕业的时候自觉了下下,对这个框架本不是很了解,加上出来工作用的一直是play框架,今天闲得慌就写了个ssh的demo,途中遇到了各种一大堆的错误,大部不外乎是缺少jar包造成的,到整合struts2的时候我不想把struts.xml文件放在默认目录src下,就改变了它的放置目录,放到WEB-INFxml。启动tomcat时也没有报错,然后访问配置好的action,结果当然是404,然后仔细看下tomcat的打印信息我发现了这样一行信息:Unabl...
bash 脚本编程十九 Nginx自动部署

bash 脚本编程十九 Nginx自动部署

自动化部署达到以下几个目的:1.编译2.安装3.生成HTTPS 证书4.配置5.设置Ubuntu 服务首先将Nginx的压缩包解压并放在工程目录下,然后将要准备的的配置文件放在conf目录下,还有作为service需要的启动脚本文件nginx目录结构如下:#tree-L2tree-L2.├──conf│├──agol.conf│└──nginx.conf├──install.sh├──install.sh~├──nginx└──nginx-1.2.3├──...
bash 脚本编程二十 GlassFishV3自动部署

bash 脚本编程二十 GlassFishV3自动部署

1.先点击这里下载最新版本的glassfish。解压后放到工程目录下。然后根据自己的需要修改glassfish/domains/domain1/config/domain.xml文件的配置。注意config/asenv.conf文件中添加jdk路径,防止JSP报错。AS_JAVA=/usr/jdk1.6 2.现在需要几个函数帮助检查用户和组,并能够创建系统用户及其目录,创建用户组,因此在tool.sh中添加了四个函数:#$1username#return1...
<< 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 >>