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

首页 / 操作系统 / Linux

Golang 1.4 net/rpc server源码解析

Golang 1.4 net/rpc server源码解析

上一篇(http://www.linuxidc.com/Linux/2015-04/116466.htm)文章我们讲了net/rpc中client部分的实现,我本机源码安装路径在/usr/local/go,这net/rpc(golang 1.4版本)涉及到的相关代码主要有:server.go方法注册:因为从client我们知道是复用的socket来实现并发调用rpc方法,我们先从方法注册来看源码部分:// Server对象大都是保存方法存根,保证对象互斥的...
Java过程——嵌套与迭代

Java过程——嵌套与迭代

迭代与嵌套是面向过程的两个非常有用的算法,在一些Java开发中也应用的比较多。今天学习了一些皮毛,将其总结如下。1线型的递归和迭代:线型过程结构比较简单,比较容易理解,并且从描述到代码的书写比较容易实现。最常见的是计算阶乘:1.1、用迭代的想法是,从1开始计算,每次乘上新的i,新计算的结果代替旧的结果:n->n*i;int n=1;for(int i=1;i<n;i++){n=n*i;}1.2、用嵌套的想法是,f(n)=nf(n-1),当n等于...
Java网络编程之InetAddress和URL

Java网络编程之InetAddress和URL

在Java中提供了专门的网络开发程序包---java.net,java的网络编程提供了两种通信协议:TCP(传输控制协议)和UDP(数据报协议)。一.IP(Internet Protocol) 与InetAddress类1.IP简介互联网上的每一台计算机都有一个唯一表示自己的标识,即IP地址。IP地址=网络地址+主机地址2.InetAddress该类主要表示IP地址,有两个子类:Inet4Address、Inet6Address,前者表示IPV4,后者表示...
Linux 内核3.19.3编译过程

Linux 内核3.19.3编译过程

Linux操作系统一直在不断的发展和完善,内核版本也在不断地更新。对于Linux的用户来说,如果不想显得自己太"Low",学会编译安装Linux 内核就变得非常重要。下面简单介绍一下编译和安装内核的过程。事实上Linux 支持的硬件系统是很多的,比如X86、ARM等等。本文只介绍基于X86系统的编译。 巧妇难为无米之炊,要想编译内核首先得拿到内核的源代码吧。到www.kernel.org 网站上download一个,并在Linuxx系统下用"tar xz...
教你用Python创建瀑布图

教你用Python创建瀑布图

介绍对于绘制某些类型的数据来说,瀑布图是一种十分有用的工具。不足为奇的是,我们可以使用Pandas和matplotlib创建一个可重复的瀑布图。在往下进行之前,我想先告诉大家我指代的是哪种类型的图表。我将建立一个维基百科文章中描述的2D瀑布图。这种图表的一个典型的用处是显示开始值和结束值之间起“桥梁”作用的+和-的值。因为这个原因,财务人员有时会将其称为一个桥梁。跟我之前所采用的其他例子相似,这种类型的绘图在Excel中不容易生成,...
如何在Ubuntu手机中使得一个应用是全屏的应用

如何在Ubuntu手机中使得一个应用是全屏的应用

我们知道很多的开发者想把自己的应用设置为全屏的应用,这样可以使得应用能更多地占用屏幕的有效面积以使得自己的应用更好看。在默认的SDK的样板中,在应用的最上面,有一个“title”的地方占用很多的空间。对于一些应用来说,在主界面中,这个可能并不有用,但是对于使用PageStack的应用来说,这个区域显示一个向左的箭头以返回上一个页面的。 最近我也有这样的问题,我既想使用PageStack给予我的方便,又想拥有全屏的功能。在这篇文章中,...
让OpenCV输出人脸检测的得分代码(置信率)

让OpenCV输出人脸检测的得分代码(置信率)

最近项目略多,其中一个需要找出一些和脸比较像但是不是脸的负样本,想用OpenCV的人脸检测器检测到的错误脸作为这样的负样本。但是国内(包括国外)居然几乎没有相关的资料如何输出detectMultiScale()的置信率或者说是人脸得分所以写一篇小小的总结供有相关需求的人参考。看了下人脸识别函数的OpenCV的源码sourcesmodulesobjdetectsrccascadedetect.cpp中detectMultiScale有两个重载,第二个重载在o...
Struts2动态调用DMI及错误解决方法

Struts2动态调用DMI及错误解决方法

在Strust2中action可以定义自己的方法,调用方法有两种方式,一种方式是struts.xml中指定method来表示需要用到的方法,但是这种方法缺点在于如果你的Action中有很多方法则要多次配置,这样很繁琐,另一种方法是使用动态方法调用DMI。举一个简单的例子——比如LoginAction中有add,dell方法,则1、配置struts.xml文件1 <package name="default" extends="...
Django中如何生成非HTML格式的内容

Django中如何生成非HTML格式的内容

某些时候可能有这样的需求,在网页中点击一个链接或者一个按钮希望返回一张图片、一个pdf文档、一个csv文档等而非HTML。在diango中很容易做到这些。Django中的view用来接收http request并返回web response。通常情况下,返回的内容为HTML,但其能够返回的不仅仅如此,还可以是上述图片、pdf文件等等。返回非HTML形式的内容的关键在于HttpResponse这个类,尤其是mimetype这个参数,通过将此参数设置为不同的值...
C程序的构成及动态内存分配

C程序的构成及动态内存分配

对一个程序,通常的理解就是,源码编译成机器代码,然后通过机器解释运行。不过是怎样编译成机器代码,和怎样运行的,无疑是个值得探讨的问题。怎样编译成机器代码,过程就是源码的编译、链接,编译器做了这些事。而怎样运行,却不是哪个器件自己一己之力就可以做到的。机器代码要在机器上运行,就得要请求硬件资源。涉及最多的就是CPU和内存了。CPU进行逻辑控制和运算,内存用于运行过程中的数据的快速交互场所。一个C程序从其自身代码的结构上来看,编译过后不过是一段代码。而这段代码...
《UNIX环境高级编程》文件共享及fork函数

《UNIX环境高级编程》文件共享及fork函数

UNIX系统支持在不同进程间共享打开文件。内核使用3种数据结构表示打开文件,它们之间的关系决定了文件共享方面一个进程对另一个进程可能产生的影响。 内核维持了3个表,即进程表,文件表和v节点表。具体如下: 1>每个进程在进程表中都有一个纪录项,记录项中包含一张打开文件描述符表,每个描述符占用一项。与每个文件描述符相关联的是: a. 文件描述符标志(close_on_exec); b. 指向一个文件表项的指针。 2>内核为所有打开文件维持...
二叉查找树转换成排序的双向链表

二叉查找树转换成排序的双向链表

题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。比如将二元查找树10/ 6 14/ / 4 8 12 16转换成双向链表4=6=8=10=12=14=16。思路:对于树的很多题目,都可以使用递归的方法来处理。这道题目也不例外。我们从最基本的思路来考虑这个题目。把一个二叉树编程双向链表,最终是一个有序的序列,也就是中序遍历之后的结果,那么当我们采用中序遍历的方式遍历二叉树时,遍历到某个节点,是的...
<< 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 >>