自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(165)
  • 资源 (13)
  • 收藏
  • 关注

原创 phonegap源码分析(二)------ Windows Phone

接着研究phonegap在其他平台上的实现,今日看看Windows Phone(WP)。在WP上做JS和OS的互通比较简单,因为内置的WebBrowser提供了比较好的与JS的互通机制,包括JS调进来和回调JS,下面先看看架构图,和android非常类似:下面重点谈谈JS与WP OS的互通1)JS端调用WP端WP提供了WebBrowser.ScriptNotify Even

2012-03-08 15:21:12 8684 4

原创 phonegap源码分析(一)------ android

Phonegap已把源码提交到apache,成为一个非常受关注的开源框架cordova,它的跨平台的特性有点当年Java的味道和势头,成为移动平台上比较主流的解决方案。今日品味了一下它在android端的源码,看看它到底是如何结合native和web的。首先我们总体上看看phonegap给我们提供的主要特性:在本地存储和渲染HTML以Native App的方式来运行用JS调用Nat

2012-03-06 15:02:19 23615 21

原创 基于引擎开发HTML5游戏实战(五)---游戏部署

STEP6 部署web以web的方式就需要有个服务端来存放打包出来的html,可以考虑dropbox或者像amazon ec2,google appengine这样的云服务。1)construct2里export项目,export for: HTML5 web site2)把export的目录里的文件上传到dropbox或amazon ec2的web服务器里由于dropbo

2012-03-03 23:05:33 15235 5

原创 基于引擎开发HTML5游戏实战(四)---组织游戏逻辑

STEP5 添加行为和事件这个部分是导演游戏故事情节,也是最复杂的一部分,construct2通过behavior和event sheet来设计游戏逻辑。添加行为1)首先是添加英雄的行为:各个方向的移动屏幕随着英雄的移动而移动英雄不能越过屏幕背景的边境单击英雄-> 在properties面板上edit behavior->添加以上三个行为:2)然后添

2012-03-03 23:02:41 7728 2

原创 基于引擎开发HTML5游戏实战(三)---组织游戏元素

STEP3 设计游戏UI这也是游戏制作的重中之重,当然这也是很多草根团队最犯难的,大家大多都是程序员出生,没几个能徒手设计出游戏级别的素材。这一个只能去找专业的UED,再个得靠平时的收集。下面是本次实战要用到的素材:背景:英雄:怪兽:子弹:爆炸:下载这些图片用于后面制作STEP4 制作背景和添加游戏元素这个部分是招演员和布置场景1)新

2012-03-03 23:00:54 7735 2

原创 基于引擎开发HTML5游戏实战(二)---游戏剧本

STEP2 设计游戏情节体验基于引擎开发游戏之后,让我深切感受到,游戏=情节+美工+引擎,编程技术在里面不是决定性因素。一个游戏成功与否很关键的一点是导演和编剧,这和电影电视很类似。当然,两个小时之内不可能做出很复杂的东西,就做一个游戏界的helloworld: 英雄打怪兽。英雄可以发子弹打怪兽每个怪兽有五滴血怪兽追着英雄跑赢:英雄打光怪兽输:英雄碰到怪兽下面是最后成品的截图:

2012-03-03 22:59:58 7880

原创 基于引擎开发HTML5游戏实战(一)---游戏引擎

最近从一个技术沙龙活动中了解到一个游戏引擎(construct2), 这款引擎彻底地改变了游戏开发在我心目中的印象。以前看过一些游戏开发的书籍,基本上都是从canvas,从坐标系讲起,再加上复杂地绘图编程,使得我不 敢对游戏开发有所奢望,更别提那些大制作。但基于这款引擎让我在2个小时之内根据官方tutorial就能搞出一个看上去还不错的web游戏,并且不需要 一行代码,有点当年第一次接触ruby

2012-03-03 22:58:27 20952

原创 小探移动设备上的语音识别

最近移动平台上有关语音识别的应用非常火爆,国外有siri和google voice search,国内有像挖财和UC浏览器等推出的语音输入和控制功能。今天也小试了吧,感觉这类技术已到了大规模应用的阶段。以前的手机上也有类似语音控制的功能,记得最早使用的Nokia 6630就有一个专门语音指令输入的按钮,但这类应用非常简单,只能是有限的指令匹配。而现在,由于云的加入,使得语音识别非常的准确,有让

2012-02-28 17:10:20 4310 2

原创 Geolocation背后的基本原理

LBS在移动设备和浏览器里已应用地非常广泛,基于API能很轻松地实现一些和地址位置有关的应用,但一直对这些API背后是如何获取使用者的位置信息却不得而知,今天花了时间粗浅地研究了一下:得到位置信息主要通过两种途径:GPS和WIFI1. GPSGPS基本原理是测量出已知位置的卫星到用户接收机之间的距离,然后综合多颗卫星的数据就可知道接收机的具体位置。要达到这一目的,卫星的位置可以 根

2012-02-27 18:47:17 5579

原创 基于Amazon EC2反向代理Google App Engine

近来想重拾一下GAE(Google App Engine),可是GAE在中国被墙,我能想到的解决方案是找一个没有被墙的服务器做GAE的reserved proxy,于是乎我想到了Amazon EC2(其实有点没事找事,如果真要建站直接在EC2上搞就得了,何必绕一圈)。这里就不管这种解决方案是否最优,就权当作是一次对EC2的初步实战的例子而已了。第一步:注册EC2免费帐号在http://aw

2012-02-14 15:13:44 10598 2

原创 IT土鳖混外企(二)------ 语言障碍

入职已一个多月,说实在话压力很大,从来没有如此的忐忑不安,主要原因还是在于英语交流。我把这个痛苦看作是还债,还小时候没练好英语的债,这也印证了一个理,不管自己哪方面有多强,千万别留着特别的短板,不然,总会在某个节点让你无法回避。读写还勉强凑合(但仍然存在障碍,

2011-07-04 23:03:23 13261 9

原创 IT土鳖混外企(一)------面试

虽然之前有过在外企实习的经历,但毕竟是实习,现在要扎根于外企,就得琢磨其中的道道。一个土鳖混迹与外企也应该算是个通用话题,而我正好在从零开始完整地经历这个过程,有必要把这过程中的点点滴滴记录下来,对自己对他人也许是有所价值的。这个历程当然得从面试说起,这是所有

2011-07-03 11:55:44 14634 1

原创 最后一天

<br />今天是在杭最后一天,难得有这个无业游民没人管的状态,本打算再闲两天回去,结果天太热,没什么地方好去,算了买了张晚上的车票,回去吧,早点开始新的生活<br />有意识地看了看以前的日志,回想这几年离职的经历<br />第一次离职发生在兼职做讲师的时候,那天发工资,350元,去他妈的,给推荐我进去的哥们说了声就走了,都难得和老板打招呼<br />第二次离职是在读研一的时候,那时还不能叫正规职业,学校里闲得慌,加入了一个哥们的创业小作坊。离开的那天比较突然,在回家的路上突然对这个事情失去了兴趣,随性立

2011-05-19 10:53:00 9905 17

原创 走向???之路

<br />家庭的原因搞得我近半年都处于比较浮躁的状态,技术博客一直没怎么更新,技术积累也没原来那么积极,很怀恋以前那种专注纯粹的学习状态。我现在遇到的问题估计是大众问题,从学校出来时,积极向上,做啥都激情满满,也不太在乎利益得失,两三年后顾虑就多了起来,家安在哪里?生活和工作如何平衡?怎么样持续得到提升?职业生涯如何规划?这些问题搞得你已不再能够仅凭兴趣去做事情,必须权衡n多因素。<br />工作是需要有“混”的心态的,特别是在大公司,机会不会总是堆在你面前,你需要有在高潮时享受成就,在低潮时享受生活的心

2011-05-11 11:17:00 5881 13

原创 动态更改JVM里的class

<br />近来需要完成一个feature:修改已load到JVM中的某个class,对其加一些代码,以此来动态修改运行中的程序。<br />对着这个feature我找到的方案是agent+Instrumentation+ASM<br />一路做下来有以下几点比较有意思:<br />1)动态attach agent到某个JVM进程<br />一般使用agent都是静态的,直接在运行某程序时加agent参数,这样agent会先于程序启动,这个不符合我的需求,我找到一个动态attach agent的方法,具体细

2011-03-27 18:43:00 15079 4

原创 Java动态执行可配置的逻辑

<br />某些场景下Java系统里需要动态执行一段配置在数据库中(也可以是其他存储)的逻辑,仅仅基于Java是无法完成的,但可以通过集成Groovy来实现这个效果,尝试过程如下:<br />1)在数据库中配置脚本,表结构随意定义,例子如下:<br /><br />2)Java中动态调存在于数据库里的groovy脚本(存在上表中的script字段里)<br /> File f = null; BufferedWriter bw = null; Connect

2011-03-27 18:08:00 9931 4

原创 从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式(三)

最后我们再看看NIO方面最著名的框架Mina,抛开Mina有关session和处理链条等方面的设计,单单挑出前端网络层处理来看,也采用的是与Jetty和Tomcat类似的模式,只不过它做了些简化,它没有隔开请求侦听和请求处理两个阶段,因此,宏观上看它只分为两个阶段。先看看它的类图:其中:SocketAcceptor起线程调用SocketAcceptor.Work负责新连接侦听,并交给SocketIoProcessor处理SocketIoProcessor起线程调用SocketIoProcessor.Work

2011-02-17 19:42:00 20202 13

原创 从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式(一)

如何正确使用NIO来构架网络服务器一直是最近思考的一个问题,于是乎分析了一下Jetty、Tomcat和Mina有关NIO的源码,发现大伙都基于类似的方式,我感觉这应该算是NIO构架网络服务器的经典模式,并基于这种模式写了个小小网络服务器,压力测试了一下,效果还不错。废话不多说,先看看三者是如何使用NIO的。Jetty Connector的实现先看看有关类图:其中:SelectChannelConnector负责组装各组件SelectSet负责侦听客户端请求SelectChannelEndPoint负责IO的

2011-02-17 17:46:00 47904 20

原创 给老板汇报技术规划的一些要点

最近参加公司内一个技术规划评审过程中,通过老板对台上的架构师的质疑,学习到几个做技术规划的要点,规划如下:1)紧扣业务虽然是做技术规划,但如果脱离了业务支撑,是引起不了老板兴趣的2)从实际问题出发老板只会为解决实际问题的技术规划买单。规划的开头最好能从实际问题出发,比较容易引起老板的注意3)重点在落地只有能落地的技术才有说服力,老板不会被天花乱坠的技术词汇给迷惑的,他只会关注最后能落地是哪几项,应该重点谈落地的目标和计划4)突出关键点和关键路径其中一个哥们说了很多,非常丰富,但关键点不突出,结果在老板看来就

2011-01-16 19:26:00 17556 12

原创 Java Resource路径小结

<br />首先一点很重要,Java中不存在标准的相对路径,各种相对路径取资源的方式都是基于某种规则转化为绝对路劲<br />然后一点也很重要,绝对不要直接使用绝对路径,否则死得很难看<br />基于以上两点,总结Resource路径问题无非归结为一点:找基点,也就是在某种环境下(web、j2ee或jar包等)通过合适的方式找到一个稳定的基点,然后通过这个基点找到你要的resource<br />Java中的基点有哪些呢?大致总结一下有以下几种:<br />1)classpath<br />如果你要找的资源

2011-01-15 12:58:00 29198 3

原创 Spring源码学习(二)------ AOP

AOP有些特有的概念,如:advisor、advice和pointcut等等,使用或配置起来有点绕,让人感觉有些距离感,其实它的实现就是一组标准的设计模式的组合使用:Factory、Proxy、Chain of Responsibility,只要搞清楚这几个设计模式,读AOP的源码是比较容易的。首先看看ProxyFactoryBean这个类,这是AOP使用的入口,从AOP拿到的bean object就是ProxyFactoryBean.getObject得到的,从这条线下去,发现AOP就是通过Proxy模式

2011-01-13 20:54:00 22359 1

原创 Spring源码学习(一)------ IoC

一直想抽空把Spring源码拿来读读,但真正去做这件事的时候发现不简单,Spring发展这么多年,它的规模已不是一个一般的开源框架所能比的,它的主要架构和流程不是非常清晰,很难抓到要害,但有一点可以肯定,它的根基是IoC和AOP,所以的功能扩展和对其他开源框架的支持都是基于这两点来做的,因此要搞定Spring源码主要就是要搞定IoC和AOP这两块。IoC从原理上来说是非常简单的,无非就是从配置文件解析开始到最后在内置容器中管理各个对象,但从Spring IoC源码上看是个非常庞大的体系,因为Spring能支

2011-01-12 20:27:00 13554 3

转载 mysql误删除root用户或者忘记root密码时的解决办法(转)

<br /><br />一不小心删除了mysql的root用户,在网上找了很多办法都没有解决,由于mysql数据库比较多,重装又太麻烦,所以一直在努力尝试各种方法,最后终于成功了。步骤如下:<br />1、先结束mysqld进程<br />#killall mysqld<br /><br />不加载grant_tables而进入mysql<br />#mysqld_safe --skip-grant-tables &<br /><br /><br />进入mysql<br />#/usr/local

2011-01-09 13:13:00 5867

转载 MySQL事务隔离级别详解(转)

SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容)       在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty Read)。Read Committed(读取提交内容)       这是大多数数据库系统的默认隔离级别(但不是MyS

2011-01-05 11:23:00 5262 1

原创 ThreadPoolExecutor运转机制详解

最近发现几起对ThreadPoolExecutor的误用,其中包括自己,发现都是因为没有仔细看注释和内部运转机制,想当然的揣测参数导致,先看一下新建一个ThreadPoolExecutor的构建参数:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime,

2010-12-07 17:38:00 64100 9

原创 在Eclipse里关联Android源码的简单办法

Android SDK没有附带把所选平台的源码下载下来,导致基于Eclipse ADT开发的时候没法链到各API的源码,使得大多习惯基于源码开发的人极不习惯,而通过Android推荐的git下载源码的方式比较繁琐,特别是在网络环境不太好的时候把人搞得很烦躁其实有很多热心的网友已把源码打包放在网上,只需下载下来解压放在android.jar所在目录的sources里即可,比如我是基于android2.1开发,android.jar所在目录为F:/android-sdk-windows/platforms/an

2010-12-05 22:31:00 14284 3

原创 救火必备linux命令小结(一)------查问题

<br />线上查问题的时候有些命令是必备,有必要把一些常用命令总结一下(这类命令和相关参数相当多,只总结自己常用得到的),查找问题一般可以分为系统参数、性能参数、进程、内存、网络、存储、内存和jvm这么几类:<br />系统参数<br />cat /proc/cpuinfo  cpu相关参数<br />cat /proc/meminfo 内存相关参数<br />cat /proc/loadavg 负载情况 <br />性能参数<br />1)top<br />M:按内存使用排序<br />P:按C

2010-12-04 20:29:00 8825 1

原创 提高工作效率的一些方法

最近明显感觉时间不够用,主要原因还是工作效率不高,找来一本关于如何提高效率的书《高效人士的116个IT秘诀》,看完后感觉不错,结合自己的一些心得总结几个受益的方法:1)保持收件箱的清空状态保持收件箱的邮件及时处理需要多个措施的配合使用,我的方法如下:为每种类型的邮件单独建立邮件夹,并附上邮件规则直接接收到相应目录对于不关自己鸟事的公共性邮件,直接对邮件添加垃圾规则,及时清理重要的邮件除了移入相应的目录,最好加上待处理提醒2)使用Google桌面来搜索邮件不知道是不是自己outlook设置有误,搜索起来非常缓

2010-11-23 23:19:00 8134 1

原创 迈向架构师的第一步

<br />有一个多月没有写blog,主要原因是受工作所累,公司由于组织变动任命我为部门的架构师,算是真正踏出了迈向架构师的第一步。<br />以前收集过很多有关架构师能力模型的文章,感觉自己离架构师不远,但近一两个月真正把这个title戴我头上时才发现自己离一个合格的架构师还有很远,架构师决不仅仅停留在设计系统和写设计文档的层面,现在感觉到压力和捉襟见肘是因为没有真正回答过以下几个问题:<br />1)是否真正具备扎实的开发功底?而不是停留在满足项目需求<br />2)是否能推动他人去改进系统或提升技术?

2010-11-13 21:12:00 45455 75

转载 如何在面试中发现优秀程序员(转)

<br /><br />我曾在一次面试中要求一个很有经验的嵌入式软件开发人员写出一个反转一段字符串并输出到屏幕上的程序。他在这个题目上挣扎了很久。这个家伙是个很神奇的人。你给他一些没用的零件,他能建造一个机器人,并能用程序控制它在屋里走来走去。他曾经参与过研制卫星,并且这个卫星现在正在轨运行。他只用左脑都比我能干。但是对于这个题目他却从来、从来没机会干过:在屏幕上显示什么东西。<br /> <br />有些人就有这种技能,能在面试中问出正确的问题,发现优秀的程序员。而有些人却害怕提问,畏首畏尾,问一些从网上

2010-09-30 11:04:00 21052 15

原创 JVM学习笔记(四)------内存调优

首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualVM。对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数,过多的GC和Full GC是会占用很多的系统资源(主要是CPU),影响系统的吞吐量。特别要关注Full GC,因为它会对整个堆进行整理,导致Full GC一般由于以下几

2010-09-26 14:56:00 43809 26

原创 JVM学习笔记(三)------内存管理和垃圾回收

JVM内存组成结构JVM栈由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示:1)堆所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor区,最后Survivor由From Space和To Space组成,结构图如下所示:新生代。新建的对象都是用新生代分配内存,新生代大小可以由-Xmn来控制,也可以用-XX:SurvivorRatio来控制Eden和Survivor的比例旧生代。用于存放

2010-09-26 10:14:00 67440 25

原创 JVM学习笔记(二)------Java代码编译和执行的整个过程

Java代码编译是由Java源码编译器来完成,流程图如下所示:Java字节码的执行是由JVM执行引擎来完成,流程图如下所示:Java代码编译和执行的整个过程包含了以下三个重要的机制:Java源码编译机制类加载机制类执行机制Java源码编译机制Java源码编译由以下三个过程组成:分析和输入到符号表注解处理语义分析和生成class文件

2010-09-25 10:44:00 123323 23

原创 JVM学习笔记(一)------基本结构

从Java平台的逻辑结构上来看,我们可以从下图来了解JVM:从上图能清晰看到Java平台包含的各个逻辑模块,也能了解到JDK与JRE的区别对于JVM自身的物理结构,我们可以从下图鸟瞰一下:对于JVM的学习,在我看来这么几个部分最重要:Java代码编译和执行的整个过程JVM内存管理及垃圾回收机制

2010-09-25 10:26:00 143231 36

原创 关于时间管理的一些沉淀

<br />以前参加过一些时间管理的培训,也学习过一些方法,但没有在日常工作中真正运用起来。近来,组织又给予了更多的职责,使得工作突然多杂了起来,时间也突然变得不够用,于是乎实施了一些时间管理的方法,起到了一些效果,今日做一下小结:目标->计划->工作日程安排免打扰的方法对突发工作的记录和追溯把握效率规律,预设时间小片段勤做记录和总结,使时间最大化沉淀<br />目标->计划->工作日程安排<br />我们都知道工作日程安排是时间管理的基础性工作,每个人都会去做,但如何把杂乱的工作安排得合理可行却是一件难事

2010-09-12 18:03:00 6521 1

原创 基于Unitils和Spring解决一些单元测试的常见问题

在具体做单元测试的过程中,会遇到一些小问题,比如:断言JavaBean或集合类依赖DB数据单元测试的数据清理Mock依赖方彻底排除第三方环境对单元测试的影响Unitils提供的特性和Spring的一些使用技巧能够帮助我们解决以上问题。下面以实战的形式来具体分解:断言JavaBean或集合类Unitils提供了ReflectionAssert用于对objects/collections的断言,可以断言两个对象的属性是否全部相等,例如://Bean断言,比较对象中每个属性的值User user1 = new U

2010-09-12 15:23:00 6126

原创 基于Spring可扩展Schema提供自定义配置支持

在很多情况下,我们需要为系统提供可配置化支持,简单的做法可以直接基于Spring的标准Bean来配置,但配置较为复杂或者需要更多丰富控制的时候,会显得非常笨拙。一般的做法会用原生态的方式去解析定义好的xml文件,然后转化为配置对象,这种方式当然可以解决所有问题,但实现起来比较繁琐,特别是是在配置非常复杂的时候,解析工作是一个不得不考虑的负担。Spring提供了可扩展Schema的支持,这是一个不错的折中方案,完成一个自定义配置一般需要以下步骤:设计配置属性和JavaBean编写XSD文件编写Namespac

2010-09-05 14:02:00 36993 7

原创 分布式设计与开发(六)------让memcached分布式

memcached是应用最广的开源cache产品,它本身不提供分布式的解决方案,我猜想一方面它想尽量保持产品简单高效,另一方面cache的key-value的特性使得让memcached分布式起来比较简单。memcached的分布式主要在于客户端,通过客户端的路由处理来搭建memcached集群环境,因此在服务端,memcached集群环境实际上就是一个个memcached服务器的堆积品,环境的搭建比较简单。下面从客户端做路由和服务端集群环境搭建两方面来谈如何让memcached分布式客户端做路由客户端做路

2010-08-29 20:05:00 37761 7

原创 开发人员如何了解用户和需求

很多前辈和书上都说开发人员,尤其是架构师和技术经理需要有商业感觉,我一直试图培养自己这方面的能力,可以常常不知所措,一说到感觉,就意味着要么是与生俱来的,要么就是在商业世界里一点一滴积累起来,而对于我们这些整天泡在技术细节里的人谈何容易。其实对我们来说,商业感觉这个词太大了,过于抽象,以至于我们不知如何做起,我觉得不如缩小范围,把我们要服务的用户和要实现的需求搞清楚倒是来得实在些。记得去年被收购的时候,新来的老板骂我们不懂用户不懂需求,做的东西别手蹩脚,磕磕跘跘。虽然感觉有些不爽,但审视自己确实没在用户和需

2010-08-29 11:40:00 6641 1

原创 分布式设计与开发(五)------数据库高可用架构

数据库高可用架构对于我们这些应用端开发的人来说是一个比较陌生的领域,是在具体的数据库产品之上搭建的环境,需要像DBA这样对数据库产品有足够的了解才能有所涉及,虽然不能深入其中,但可以通过一些经典的高可用架构学习其中的思想。就我所了解到的有以下几种:MySQL ReplicationMySQL ClusterOracle RACIBM HACMPOracle ASMMySQL ReplicationMySQL Replication就是通过异步复制多个copy以达到提高可用性的目的,常规的复制架构有以下几种:

2010-08-26 20:28:00 16495 3

Oracle 9i 10g编程艺术:深入数据库体系结构

Oracle 9i 10g编程艺术:深入数据库体系结构

2011-01-17

Pro HTML5 Programming

Pro HTML5 Programming

2011-01-17

Comet And Reverse Ajax

Comet And Reverse Ajax

2011-01-17

Lucene 3.0 原理与代码分析完整版

Lucene 3.0 原理与代码分析完整版

2011-01-17

Hibernate In Action(英文)

Hibernate In Action(英文).

2010-02-04

Java Development with Ant

Java Development with Ant

2010-02-04

OReilly - Creating Effective JavaHelp

OReilly - Creating Effective JavaHelp

2010-02-04

AJAX In Action

AJAX In Action,AJAX In Action

2010-02-04

Database Programming with JDBC and JAVA

Database Programming with JDBC and JAVA

2010-02-04

Data Structures and Algorithms In Java

Data Structures and Algorithms In Java

2010-02-04

Advanced Java Networking

Advanced Java Networking

2010-02-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除