- 博客(18)
- 收藏
- 关注
转载 MMORPG的困局
<br />《神之惩戒——MMORPG的困局》发表于2011年第三期的《大众软件》。本来想晚点贴出来到blog上,昨天看到网上有扫描识别版本的,错别字和标点符号错误不少。所以就提前放出来。请喜欢这篇文章的读者,力所能尽的情况下,能够买本《大众软件》,因为没有这样优秀的杂志,也就没有我这样文章发表的平台,谢谢<br />序<br />就在开始这边文章的前几天,某知名上市游戏公司宣布裁员5%,达200人左右,与之前大裁员不同的是,这次头一次,研发人员占较大比重的裁员。<br />在更前几天,某业界知名大佬声称,
2011-01-25 11:10:00 1512
转载 IM4J+GM处理网站图片
IM4J+GM处理网站图片<br />现在做的网站需要保存用户上传的图片,同时需要进行压缩和图片切割等特殊效果的处理。<br /><br />一开始我们用的是JMagick+ ImageMagick处理用户上传的图片,但是存在一个非常严重的问题,Tomcat在跑了大概10天左右后会crash掉,异常内容为:<br />magick.MagickException:Unabletoretrievehandle<br /><br /><br />从表象看,应该是没有释放ImageMagick的句柄导致的,查找A
2011-01-14 17:09:00 2343
转载 动态查找树比较
<br />我们这个专题介绍的动态查找树主要有: 二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)。这四种树都具备下面几个优势:<br />(1) 都是动态结构。在删除,插入操作的时候,都不需要彻底重建原始的索引树。最多就是执行一定量的旋转,变色操作来有限的改变树的形态。而这些操作所付出的代价都远远小于重建一棵树。这一优势在《查找结构专题(1):静态查找结构概论 》中讲到过。<br />(2) 查找的时间复杂度大体维持在O(log(N))数量级上。可能有些结构在
2011-01-14 14:23:00 451
转载 断点续传的原理
<br /> (一)断点续传的原理<br /> 其实断点续传的原理很简单,就是在Http的请求上和一般的下载有所不同而已。<br /> 打个比方,浏览器请求服务器上的一个文时,所发出的请求如下:<br /> 假设服务器域名为wwww.sjtu.edu.cn,文件名为down.zip。<br /> GET /down.zip HTTP/1.1<br /> Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application
2011-01-14 14:21:00 393
转载 JAVA WEB程序中添加定时器
<br /> //这是我的定时器类,用来定时执行某段任务;<br /> package com.my.time;<br /> import java.text.ParseException;<br /> import java.text.SimpleDateFormat;<br /> import java.util.Date;<br /> import java.util.Timer;<br /> public class BugXmlTimer {<br /> public Time
2011-01-13 14:22:00 350
原创 Java核心API需要掌握的程度
<br /> Java的核心API是非常庞大的,这给开发者来说带来了很大的方便,经常人有评论,java让程序员变傻。<br /> 但是一些内容我认为是必须掌握的,否则不可以熟练运用java,也不会使用就很难办了。<br /> 1、java.lang包下的80%以上的类的功能的灵活运用。<br /> 2、java.util包下的80%以上的类的灵活运用,特别是集合类体系、正规表达式、时间、属性、和Timer. 3、java.io包下的60%以上的类的使用,理解IO体系的基于管道模型的设计思路以及常用IO
2011-01-13 11:46:00 309
转载 php如何调用c接口
<br />php程序写的时间长了,自然对他所提供的功能了如指掌,他所提供的一大堆功能,真是觉得很好用,但有时候会发现php也缺少一些功能,自己总是会产生为php添加一些自定义的功能的想法。久而久之,终于今天憋不住了,开始动手研究如何添加。 下载一个php的源代码包,这里使用的是php 4.0.5版,解压后会看到php的根目录下会有README.EXT_SKEL这样一个文件,打开详细阅读了一下,发现了一个非常好用的工具,这个工具可以帮你构建一个空的php扩展,然后你向里面添加相应的代码就可以完成你自己的功能
2011-01-13 11:41:00 1455
转载 Java加密和数字签名1消息摘要
<br />本文主要谈一下密码学中的加密和数字签名,以及其在java中如何进行使用。对密码学有兴趣的伙伴,推荐看Bruce Schneier的著作:Applied Crypotography.在jdk1.5的发行版本中安全性方面有了很大的改进,也提供了对RSA算法的直接支持,现在我们从实例入手解决问题(本文仅是作为简单介绍):<br />一、密码学上常用的概念<br /> 1)消息摘要:<br /> 这是一种与消息认证码结合使用以确保消息完整性的技术。主要使用单向散列函数算法,可用于检验消息的完整性,和
2011-01-13 10:57:00 577
转载 非阻塞I/O简介
<br />在网络应用中,一般可以采用同步I/O(阻塞I/O)和非阻塞I/O两种方式进行数据通讯。这两种方式并非互相排斥和互相取代。我们可以在平时的应用中单独采用其中一种通讯方式,也可以混合使用这两种通讯方式。在本文中就什么是非阻塞I/O以及为什么要使用这种通讯方式进行了介绍,在下一篇文章中给出了一个简单的例子来演示在网络应用中如何使用非阻塞I/O进行通讯。<br />一、什么是非阻塞I/O<br /> 我们可以将同步I/O称为阻塞I/O,非阻塞I/O称为异步I/O.在本书中采用了比较常用的叫法:同步I/
2011-01-13 10:56:00 458
转载 Java中堆内存与栈内存分配浅析
<br />Java 把内存划分成两种:一种是栈内存,另一种是堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代码块定义一个变量时,Java 就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java 会自动释放掉为该变量分配的内存空间,该内存空间可以立即被另作它用。<br /> 堆内存用来存放由 new 创建的对象和数组,在堆中分配的内存,由 Java 虚拟机的自动垃圾回收器来管理。在堆中产生了一个数组或者对象之后,还可以在栈中定义一个特殊的变量,让栈中的这
2011-01-13 10:50:00 296
转载 NoSQL数据库探讨之一 - 为什么要用非关系数据库?
NoSQL数据库探讨之一 - 为什么要用非关系数据库?<br />关键字: nosql随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速。而传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,例如: <br /><br />1、High performance - 对数据库高并发读写的需求<br />web2.0网站要根据用户个性化信息来实时生成动态页面和提供
2011-01-06 15:12:00 301
转载 基于开放平台的授权
基于 OAuth 安全协议的 Java 应用编程<br /> 李 三红, 高级软件工程师, IBM李三红,任职于 IBM 中国软件开发中心 Lotus 产品部门,负责 Lotus Notes 安全相关研发工作。在这之前,他一直从事网络应用开发相关工作。他感兴趣的技术领域包括:分布式对象计算、网络应用、OSGi、协作计算、Java 安全等方面。<br /> <br />简介: OAuth 协议致力于使网站和应用程序(统称为消费方 Consumer)能够在无须用户透露其认证信息的情况下,通过 API 访问该用户
2011-01-04 11:04:00 1167 2
转载 timer 和 ScheduledThreadExecutor定时
<br />java.util.Timer计时器有管理任务延迟执行("如1000ms后执行任务")以及周期性执行("如每500ms执行一次该任务")。但是,Timer存在一些缺陷,因此你应该考虑使用ScheduledThreadPoolExecutor作为代替品,Timer对调度的支持是基于绝对时间,而不是相对时间的,由此任务对系统时钟的改变是敏感的;ScheduledThreadExecutor只支持相对时间。<br /> Timer的另一个问题在于,如果TimerTask抛出未检查的异常,Time
2010-12-24 17:35:00 604
原创 solr学习
<br />From the solr distribution, copy the solr war to the webapps directory of your servlet container as solr.war<br />From the solr distribution, copy the example solr home example/solr as a template for your solr home. Start the servlet container, passi
2010-12-23 17:27:00 458
转载 linux脚本学习
<br />最近又重新捡起了以前放在一边的linux脚本了,呵呵,最开始学习linux脚本编写是在搭建linux下的qmail邮件服务器的时候。那时候由于qmail要安装很多软件包,所以就把命令整理成一个脚本来一次批处理运行,那时也学到了linux下的shell编程。<br /> 脚本其实多半就是终端命令的一个集合,批处理。所以只要熟悉linux下的终端命令基本上就可以写出shell脚本了,当然了,脚本肯定还是会有不同的地方的,比如if-else语句、switch等流程语句的使用,参数的获取等等。不过
2010-12-23 11:52:00 859
原创 Memcache 学习
<br /> 首先到http://danga.com/memcached/下载memcached的windows版本<br />Windows下的Memcache安装<br />1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:/memcached<br />2. 在终端(也即cmd命令界面)下输入 c:/memcached/memcached.exe -d install --安装memcached成为服务,这样才能正常运行,否则运行失败!<br />3.
2010-12-23 11:31:00 344
转载 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合开发 (1)
http://tech.ddvip.com/2009-03/1237886207112132.html
2010-03-01 17:21:00 358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人