- 博客(57)
- 资源 (6)
- 收藏
- 关注
原创 Linux并发服务器编程之IO多路复用
五种IO模型 首先提出问题,Linux系统调用是如何完成一个I/O操作? Linux系统将内存分为内核区和用户区,Linux内核给管理所有的硬件资源,应用程序通过系统调用与内核交互,达到使用硬件资源的目的。例如,应用程序通过系统调用read对文件描述符fd发起一个读操作,这时候内核通过驱动程序向硬件发送读指令,并将读到的数据放在这个fd对应结构体的缓存区中,但这个结构体是在内核内存区的,需要
2016-12-21 16:57:41
4211
原创 Linux并发服务器编程之多线程并发服务器
上一篇文章使用fork函数实现了多进程并发服务器,但是也提到了一些问题:fork是昂贵的。fork时需要复制父进程的所有资源,包括内存映象、描述字等;目前的实现使用了一种写时拷贝(copy-on-write)技术,可有效避免昂贵的复制问题,但fork仍然是昂贵的;fork子进程后,父子进程间、兄弟进程间的通信需要进程间通信IPC机制,给通信带来了困难;多进程在一定程度上仍然不能有效地利用系统
2016-12-21 11:21:22
7532
1
原创 Linux并发服务器编程之多进程并发服务器
前面的话 服务器按处理方式可以分为迭代服务器和并发服务器两类。平常用C写的简单Socket客户端服务器通信,服务器每次只能处理一个客户的请求,它实现简单但效率很低,通常这种服务器被称为迭代服务器。 然而在实际应用中,不可能让一个服务器长时间地为一个客户服务,而需要其具有同时处理 多个客户请求的能力,这种同时可以处理多个客户请求的服务器称为并发服务器,其效率很 高却实现复杂。在实际应用中,并发服
2016-12-21 00:05:38
8757
1
原创 Java泛型之Type体系
Type是java类型信息体系中的顶级接口,其中Class就是Type的一个直接实现类。此外,Type还有有四个直接子接口:ParameterizedType,TypeVariable,WildcardType,GenericArrayType。 引用这位仁兄对这几个接口的介绍: Type 它是所有类型的公共接口。包括原始类型、参数化类型、数组类型、类
2016-12-05 14:58:33
6933
1
原创 整合ASP.NET MVC5,Spring.Net,NHibernate
所有的程序集引用,都可以在Nuget中获取,需要注意除了Spring和NHibenate的程序集外,还要引用Spring.Net NHibernate Support。 为了结构清晰,我把各层的配置都放在了Config文件夹下,NH的映射文件存放于Model层中的Mappings文件夹下,如图,额,由于课程题目,这是一个简单的二手车交易系统 。首先是Car.W
2016-11-12 15:41:36
5259
2
转载 Java二进制兼容性
一、概述现在的软件越来越依赖于不同厂商、作者开发的共享组件,组件管理也变得越来越重要。在这方面,一个极其重要的问题是类的不同版本的二进制兼容性,即一个类改变时,新版的类是否可以直接替换原来的类,却不至于损坏其他由不同厂商、作者开发的依赖于该类的组件?Java二进制兼容性概念的主要目标是推动Internet上软件的广泛重用,同时它还避免了大多数C++环境面临的基础类脆弱性问题——例如
2016-10-23 18:20:16
1103
转载 java泛型实现及类型擦除相关问题
一、Java泛型的实现方法:类型擦除前面已经说了,Java的泛型是伪泛型。为什么说Java的泛型是伪泛型呢?因为,在编译期间,所有的泛型信息都会被擦除掉。正确理解泛型概念的首要前提是理解类型擦出(type erasure)。Java中的泛型基本上都是在编译器这个层次来实现的。在生成的Java字节码中是不包含泛型中的类型信息的。使用泛型的时候加上的类型参数,会在编译器在编译的时候去掉
2016-09-26 21:46:51
372
转载 C# using
using 关键字有两个主要用途: (一).作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。 (二).作为语句,用于定义一个范围,在此范围的末尾将释放对象。using指令 ①允许在命名空间中使用类型,这样,您就不必在该命名空间中限定某个类型的使用: using System.Text; using
2016-09-19 22:08:26
350
原创 PetShop中缓存机制
4.3 在PetShop 4.0中ASP.NET缓存的实现 PetShop作为一个B2C的宠物网上商店,需要充分考虑访客的用户体验,如果因为数据量大而导致Web服务器的响应不及时,页面和查询数据迟迟得不到结果,会因此而破坏客户访问网站的心情,在耗尽耐心的等待后,可能会失去这一部分客户。无疑,这是非常糟糕的结果。因而在对其进行体系架构设计时,整个系统的性能就显得殊为重要。然而,我们不能因噎
2016-09-17 18:03:00
384
原创 PetShop中异步消息处理机制
之前看淘宝技术这十年里面有提到,淘宝的整个数据访问层几乎都是异步消息来处理的,最近又刚好在PetShop中看到了异步消息机制的.NET实现。以下内容VIA:http://www.cnblogs.com/wayfarer/archive/2006/09/06/496207.html在进行系统设计时,除了对安全、事务等问题给与足够的重视外,性能也是一个不可避免的问题所在,尤其是一个B/
2016-09-16 19:03:03
550
原创 PetShop上扒下来的SqlServerHelper和OracleHelper
SqlServer:using System;using System.Configuration;using System.Data;using System.Data.SqlClient;using System.Collections;namespace PetShop.DBUtility { /// /// SqlHelper类是专门提供给广大用户用于高
2016-09-15 15:16:53
1059
原创 Android使用ProgressBar、自定义Notification显示文件下载进度
好久没写安卓了,今天忙着做这个效果出来,本来打算去网上copy一段赶工,结果发现翻来覆去就那几篇文章,还是自己写一篇吧。 先写自定义布局bestinfo_download_notifi.xml:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2016-09-01 21:53:05
2833
原创 在CentOS上部署BugFree
Bug管理,熟悉又陌生的东西,一直听说,还没有真正接触过(好吧,其实是很少接触测试人员),正巧今天项目需求,在CentOS上部署了一个BugFree版的。BugFree基于PHP和MySQL开发,是免费且开发源代码的缺陷管理系统。服务器端在Linux和Windows平台上都可以运行;客户端无需安装任何软件,通过IE,FireFox等浏览器就可以自由使用。服务器上Apache和Mysql都有了,所以
2016-08-24 00:43:41
1729
转载 RESTful 真正意味着什么?
VIA:http://www.oschina.net/translate/what-does-restful-really-mean上个月,我在Skillsmatter参加了一个关于RESTful微服务快速进阶的培训课程。课程着重探讨了REST API在web应用和微服务交互方面起到的作用。对我来说,这个课程给我最大的收获是让我更好地理解REST,以及它的优点和不足。过
2016-08-19 09:53:15
1946
转载 谈谈阿里云服务器
原文发布于2012年09月29日 一年多之前,也就11年5月份的样子,阿里云云服务器产品线终于上线了。但那时候,国内完全没有能称得上云服务器的,很多小公司就是搞个VPS就叫云服务器了。以至于阿里云云服务器刚出来的时候,很多站长也是这么说的。那会儿我国外的虚拟主机也即将到期,而且国外访问速度确实要差不少。所以当时咬咬牙,狠下心来花了1999元买了一台(即现在的标准A,已经涨价了,呵呵,目前
2016-08-10 19:19:01
1258
原创 配置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
2016-07-29 13:34:26
22220
2
原创 使用ThreadLocal管理Mybatis中SqlSession对象
最近在使用Mybatis中,发现需要像.NET EF那样管理宝贵的资源对象,即保证SqlSession在线程(准确的说是一次请求)中的唯一性。当然在hibernate中也是如此。 简单的代码实例如下:public class mybatisUtil { private static ThreadLocal threadLcoal = new ThreadLocal();
2016-07-25 23:05:55
8191
1
原创 SqlServer假执行SQL语句
Sql Server可以让你"noexec"的去执行SQL语句。语法如下:SET NOEXEC { ON | OFF } SQL语句的执行有2个阶段,编译和执行,而设置'noexec'为on之后,实际上只是对SQL语句进行了编译,并没有执行,MSDN上也注明此方法一般只用于SQL语法和对象名的检测。由于没有真正的执行,如果尝试使用ADO或@@ROWCOUNT去获取一个DDL
2016-07-03 19:27:45
895
转载 简析 .NET Core 构成体系
昨天微软发布了.NET CORE1.0正式版,迈出了跨平台第一步,特地转来这篇文章给大家分享一下,再深入理解一下.NET CORE这个东西。 简析 .NET Core 构成体系Roslyn 编译器RyuJIT 编译器CoreCLR & CoreRTCoreFX(.NET Core Libraries).NET Core 代码开发、部署、运行
2016-06-28 14:54:33
4093
1
原创 LINQ to Entities 不识别方法“System.String ToString()”,因此该方法无法转换为存储表达式。
偶然出现这个错误,原来是EF不支持ToString这个东西, 找到两种解决办法:一、在使用EF之外手动完成所有ToString()转换,这需要你自己格外小心,需要避免所有使用EF时它可能为我们调用ToString()的情况。另外如果是在字符串的Contains方法牵涉到了ToString()造成的异常,可以解决使用Any方法替换Contains解决。二、在数据
2016-06-25 20:20:01
3235
转载 ASP.NET解决客户端服务器ID不一致-ClientID与ClientIDMode
在ASP.NET 4.0之前我们总是要为控件的ClientID头疼,比如明明一个叫lblName的Label放在一个叫做grd的GridView里面后,在页面上改Label的ID就变成了诸如grd_clt02_lblName的一长串字符串,如果我们在前台想在使用JS的时候找到该Label,我们不得不用到C#脚本来获得该Label在前台的确切ID,诸如:script type="text/j
2016-06-25 18:49:06
4675
原创 EF上下文对象线程内唯一性与优化
在一次请求中,即一个线程内,若是用到EF数据上下文对象,就创建一个,这也加是很多人的代码中习惯在使用上下文对象时,习惯将对象建立在using中,这样效率很低,其次会造成数据混乱,每次创建的对象执行相应的数据库操作,与此同时,其他的EF对象内获得的数据可能已经是“过期”的了。即这个数据已经变动过。这就是脏读。 为了解决这个问题,关键就是上下文对象的创建问题。 这里
2016-06-19 18:31:33
12322
6
转载 HttpContext详解
HttpContext.Current并非无处不在无处不在的HttpContext由于ASP.NET提供了静态属性HttpContext.Current,因此获取HttpContext对象就非常方便了。也正是因为这个原因,所以我们经常能见到直接访问HttpContext.Current的代码:public class Class1{ public Cl
2016-06-19 18:10:08
3950
原创 EF中LINQ查询原理
在接触Linq之前,一直听说Linq被微软抛弃。后来才发现被抛弃的是Linq to SQL这种专用于操作Sql Server的轻型ORM,微软宣布停止更新Linq to Sql,把开发的重点从 Linq to SQL 转移到了 Linq to Entities。在EF中使用Linq查询数据的基本形式是这样的:var result = from t in Tablewhere t
2016-06-17 17:03:52
6494
转载 HTML5是什么鬼
当我还在南方小岛上玩儿的时候,一个朋友给我发了条语音信息(早上发的,我晚上才听,我让你发语音)大概是说,能不能帮忙联系一个会 HTML5 的团队,领导要求做一个 HTML5 的活动页面。看来 HTML5 的浪潮又要让我们的广告客户浑身湿透了。他们想要华丽的页面,想要让用户觉得他们很酷。事实上,即使他们只做了一张很廉价的“活动邀请函”页面,用户也觉得好棒好厉害。真相是,大部分用户并不知道其中
2016-06-13 21:43:59
629
转载 CSS 隐藏页面元素的 5 种方法
用 CSS 隐藏页面元素有许多种方法。你可以将 opacity 设为 0、将 visibility 设为 hidden、将 display 设为none 或者将 position 设为absolute 然后将位置设到不可见区域。 你有没有想过,为什么我们要有这么多技术来隐藏元素,而它们看起来都实现的是同样的效果?每一种方法实际上与其他方法之间都有一些细微的不同,这些不同决定了在一个特
2016-06-13 21:39:04
610
转载 深入解读JavaScript面向对象编程
文章来源:http://wwsun.github.io/posts/javascript-oo-summary.html文章有点长,耐心读完,受益匪浅面向对象编程是用抽象方式创建基于现实世界模型的一种编程模式,主要包括模块化、多态、和封装几种技术。对JavaScript而言,其核心是支持面向对象的,同时它也提供了强大灵活的基于原型的面向对象编程能力。本文将会深入的探讨有关使用Jav
2016-06-13 21:32:59
661
原创 C++的三种new简介及重载局部(类内部)与全局operator new
先简单解释下C++的三种new,由于它们的名字实在是。。我就说的通俗点。1、new运算符(new operator)大哥,我们在代码中直接使用的就是它。它做2件事:调用后两种new申请内存和初始化对象。2、operator new,是一个函数,所以也是三种new唯一一个可以重载的。它类似C语言中的malloc,用于分配内存。3、placement new,用于初始化对象(如果有的话,就是它调用构造
2016-06-11 21:35:34
10503
1
转载 .NET Core与.NET Framework、Mono及发展
随着微软的.NET开源的推进,现在在.NET的实现上有了三个.NET Framework,Mono和.NET Core。经常被问起Mono的稳定性怎么样,后续Mono的前景如何,要回答这个问题就需要搞清楚这三个.NET 实现之间的关系和将来如何演进。到目前为止(2015.2.17),微软在Windows平台上的.NET Framework的实现最为完整,但是.NET Framework和w
2016-06-08 00:47:31
4953
原创 Asp.Net页面刷新SessionID总是变化
在Asp.net站点中,刷新页面 SessionID 变化,在网站中加入 Global.asax 解决因为在一个没有使用Session的Web项目中,默认是无会话访问。即会话不会保持,Cookies中也不会保存SessionID。要么使用Session,要么添加Global.asax 文件,会话就会开启
2016-06-03 14:52:14
3109
转载 C#多线程
一、使用线程的理由1、可以使用线程将代码同其他代码隔离,提高应用程序的可靠性。2、可以使用线程来简化编码。3、可以使用线程来实现并发执行。二、基本知识1、进程与线程:进程作为操作系统执行程序的基本单位,拥有应用程序的资源,进程包含线程,进程的资源被线程共享,线程不拥有资源。2、前台线程和后台线程:通过Thread类新建线程默认为前台线程。当所有前台线程关闭时,所有的后台线程
2016-05-31 23:38:44
264
原创 手写一个SqlHelper
之前那个不太好,逻辑比较复杂,且共用同一个连接对象,容易出现争抢问题下面这个就直接一点,每个函数独立public static class SqlHelper { public static string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
2016-05-30 19:49:47
592
原创 应用程序中的服务器错误。HTTP 错误 404 - Not Found。
这是由于网站项目默认的虚拟根目录为 '/根目录名' 而不是 '/' ,如果需要使用 '/'来 绝对定位在项目的属性窗口中设置虚拟路径属性为/ 即可
2016-05-28 16:00:28
2474
原创 SqlServer获取数据库表所有列信息
1、获取所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name效果图:2、 获取某数据库所有表名,直接选中一个数据库执行即可,不需要在SQL语句中指明数据库名SELECT Name FROM SysObjects Where XType='U' ORDER BY Name效果图:3、得到所有表的
2016-05-27 16:44:35
1624
原创 使用ThreadPool.QueueUserWorkItem记录网站错误日志
在Global的Application_Error一般处理没有被捕获的异常,写入日志,并返回用户信息。在访问量很小的情况下,可以用下面的代码:lock (obj) { using (FileStream fs = new FileStream(LogPath, FileMode.Append, FileAccess.Write
2016-05-24 23:46:13
1254
原创 ASP.NET页面请求过程及生命周期管道事件
Client(发送报文:请求行+请求头+空行+请求体) Server,由Http.sys 监听 Http 请求 -> WAS+Metabase(通过URL确定WebApp工作进程) ->W3WP.exe(一个应用程序池,加载Aspnet_IsAPI.dll) ->AppDomainFactory(构造 ApplicationManager)->ISAPIApplicationHo
2016-05-23 13:52:47
2017
原创 Jquery使用id选择器操作元素注意事项
如果是给一组标签,例如,今天我做的是一组标签,绑定异步分页事件,选中这些标签使用了同一个id,所以使用id选择器,那么其实最后绑定事件其实只给第一个元素绑定了事件,没有进行隐式迭代,因为Jquery认为id是元素的唯一标志,默认只能选中一个因为这个BUG搞了几个小时,就单独写一篇博客纪念一下吧,其实这些逻辑仔细思考都应能在做的时候发现,而不是等到BUG出现了才认识到问题
2016-05-23 11:40:59
1258
1
原创 一个问题
在用AJAX取后台返回的JSON数据时,需要动态插入table中,由于分页,需要在插入之前清空之前数据,但是如果不使用tbody而直接使用table装载,这样清空数据,之后在取JSON数据就会出现未定义的nodeName错误
2016-05-22 20:29:41
268
原创 解决AJAX向后台发送HMTL代码失败的问题
毫无疑问,解决办法就是进行编码后提交今天在做一个异步提交数据的时候,由于富文本编辑器产生了一些HTML代码,提交后台会出错。我测试了3种编码进行提交1、第一个就是JS种window对象自带的encodeURIComponent函数,编码后提交,但是后台怎么解码呢。就.NET而言,对应encodeURIComponent的解码是Server.UrlDecode2、第二种,
2016-05-21 23:36:40
852
原创 C#版生成HTML分页标签
public static string GetPaging(int recordCount, int pageIndex, int pageSize, string pageLink, string nextPageText, string prevPageText, string homePageText, string lastPageText) {
2016-05-19 20:58:33
1066
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人