Linux并发服务器编程之IO多路复用 五种IO模型 首先提出问题,Linux系统调用是如何完成一个I/O操作? Linux系统将内存分为内核区和用户区,Linux内核给管理所有的硬件资源,应用程序通过系统调用与内核交互,达到使用硬件资源的目的。例如,应用程序通过系统调用read对文件描述符fd发起一个读操作,这时候内核通过驱动程序向硬件发送读指令,并将读到的数据放在这个fd对应结构体的缓存区中,但这个结构体是在内核内存区的,需要
Linux并发服务器编程之多线程并发服务器 上一篇文章使用fork函数实现了多进程并发服务器,但是也提到了一些问题:fork是昂贵的。fork时需要复制父进程的所有资源,包括内存映象、描述字等;目前的实现使用了一种写时拷贝(copy-on-write)技术,可有效避免昂贵的复制问题,但fork仍然是昂贵的;fork子进程后,父子进程间、兄弟进程间的通信需要进程间通信IPC机制,给通信带来了困难;多进程在一定程度上仍然不能有效地利用系统
Linux并发服务器编程之多进程并发服务器 前面的话 服务器按处理方式可以分为迭代服务器和并发服务器两类。平常用C写的简单Socket客户端服务器通信,服务器每次只能处理一个客户的请求,它实现简单但效率很低,通常这种服务器被称为迭代服务器。 然而在实际应用中,不可能让一个服务器长时间地为一个客户服务,而需要其具有同时处理 多个客户请求的能力,这种同时可以处理多个客户请求的服务器称为并发服务器,其效率很 高却实现复杂。在实际应用中,并发服
Java泛型之Type体系 Type是java类型信息体系中的顶级接口,其中Class就是Type的一个直接实现类。此外,Type还有有四个直接子接口:ParameterizedType,TypeVariable,WildcardType,GenericArrayType。 引用这位仁兄对这几个接口的介绍: Type 它是所有类型的公共接口。包括原始类型、参数化类型、数组类型、类
整合ASP.NET MVC5,Spring.Net,NHibernate 所有的程序集引用,都可以在Nuget中获取,需要注意除了Spring和NHibenate的程序集外,还要引用Spring.Net NHibernate Support。 为了结构清晰,我把各层的配置都放在了Config文件夹下,NH的映射文件存放于Model层中的Mappings文件夹下,如图,额,由于课程题目,这是一个简单的二手车交易系统 。首先是Car.W
Java二进制兼容性 一、概述现在的软件越来越依赖于不同厂商、作者开发的共享组件,组件管理也变得越来越重要。在这方面,一个极其重要的问题是类的不同版本的二进制兼容性,即一个类改变时,新版的类是否可以直接替换原来的类,却不至于损坏其他由不同厂商、作者开发的依赖于该类的组件?Java二进制兼容性概念的主要目标是推动Internet上软件的广泛重用,同时它还避免了大多数C++环境面临的基础类脆弱性问题——例如
java泛型实现及类型擦除相关问题 一、Java泛型的实现方法:类型擦除前面已经说了,Java的泛型是伪泛型。为什么说Java的泛型是伪泛型呢?因为,在编译期间,所有的泛型信息都会被擦除掉。正确理解泛型概念的首要前提是理解类型擦出(type erasure)。Java中的泛型基本上都是在编译器这个层次来实现的。在生成的Java字节码中是不包含泛型中的类型信息的。使用泛型的时候加上的类型参数,会在编译器在编译的时候去掉
C# using using 关键字有两个主要用途: (一).作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。 (二).作为语句,用于定义一个范围,在此范围的末尾将释放对象。using指令 ①允许在命名空间中使用类型,这样,您就不必在该命名空间中限定某个类型的使用: using System.Text; using
PetShop中缓存机制 4.3 在PetShop 4.0中ASP.NET缓存的实现 PetShop作为一个B2C的宠物网上商店,需要充分考虑访客的用户体验,如果因为数据量大而导致Web服务器的响应不及时,页面和查询数据迟迟得不到结果,会因此而破坏客户访问网站的心情,在耗尽耐心的等待后,可能会失去这一部分客户。无疑,这是非常糟糕的结果。因而在对其进行体系架构设计时,整个系统的性能就显得殊为重要。然而,我们不能因噎
PetShop中异步消息处理机制 之前看淘宝技术这十年里面有提到,淘宝的整个数据访问层几乎都是异步消息来处理的,最近又刚好在PetShop中看到了异步消息机制的.NET实现。以下内容VIA:http://www.cnblogs.com/wayfarer/archive/2006/09/06/496207.html在进行系统设计时,除了对安全、事务等问题给与足够的重视外,性能也是一个不可避免的问题所在,尤其是一个B/
PetShop上扒下来的SqlServerHelper和OracleHelper SqlServer:using System;using System.Configuration;using System.Data;using System.Data.SqlClient;using System.Collections;namespace PetShop.DBUtility { /// /// SqlHelper类是专门提供给广大用户用于高
Android使用ProgressBar、自定义Notification显示文件下载进度 好久没写安卓了,今天忙着做这个效果出来,本来打算去网上copy一段赶工,结果发现翻来覆去就那几篇文章,还是自己写一篇吧。 先写自定义布局bestinfo_download_notifi.xml:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
在CentOS上部署BugFree Bug管理,熟悉又陌生的东西,一直听说,还没有真正接触过(好吧,其实是很少接触测试人员),正巧今天项目需求,在CentOS上部署了一个BugFree版的。BugFree基于PHP和MySQL开发,是免费且开发源代码的缺陷管理系统。服务器端在Linux和Windows平台上都可以运行;客户端无需安装任何软件,通过IE,FireFox等浏览器就可以自由使用。服务器上Apache和Mysql都有了,所以
RESTful 真正意味着什么? VIA:http://www.oschina.net/translate/what-does-restful-really-mean上个月,我在Skillsmatter参加了一个关于RESTful微服务快速进阶的培训课程。课程着重探讨了REST API在web应用和微服务交互方面起到的作用。对我来说,这个课程给我最大的收获是让我更好地理解REST,以及它的优点和不足。过
谈谈阿里云服务器 原文发布于2012年09月29日 一年多之前,也就11年5月份的样子,阿里云云服务器产品线终于上线了。但那时候,国内完全没有能称得上云服务器的,很多小公司就是搞个VPS就叫云服务器了。以至于阿里云云服务器刚出来的时候,很多站长也是这么说的。那会儿我国外的虚拟主机也即将到期,而且国外访问速度确实要差不少。所以当时咬咬牙,狠下心来花了1999元买了一台(即现在的标准A,已经涨价了,呵呵,目前
配置Jstl的Maven依赖 开篇吐槽,我去,今天本来打算在Spring MVC中用Maven添加一下JSTL的包,结果搞了一上午也是各种错误:org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files
使用ThreadLocal管理Mybatis中SqlSession对象 最近在使用Mybatis中,发现需要像.NET EF那样管理宝贵的资源对象,即保证SqlSession在线程(准确的说是一次请求)中的唯一性。当然在hibernate中也是如此。 简单的代码实例如下:public class mybatisUtil { private static ThreadLocal threadLcoal = new ThreadLocal();