JAVA序列化的浅析与性能优化(Best Practice about Serialization)

文章会的简要目录如下:
Serialization的概述
用‘transient’进行性能优化
关键点总结
Serializtion的概述
Serializtion是将一个完整的JAVA对象写入输出流的过程,这个流可以是文件,字节数组或者TCP/IP相关的Socket流。
Deserializtion就是反序列化,也就是说将一个完整的JAVA对象从输入流里读取出来。

JAVA类必须如果实现 java.io.Serializable或 java.io.Externalizable 接口,也可以继承实现了这些接口的超类。那么此JAVA对象就被序列化或者反序列化了。
所以的基本数据类型和一些JAVA API类都是进行了序列化的,你不必要进行额外的序列化。
如果你使用Externalizable可以定制你的序列化方式。这篇文章主要关注的是Serializtion接口
Serializable接口是一个标志位接口,他没有任何的接口方法。像EJB,RMI,ATG这些主流的JAVA技术都是基于序列化进行对象传输的,这些技术本身都暗中的将你的对象进行了序列化的操作。。

Continue Reading →
 

Best Practise about JAVA Collections

JAVA collections 其实是很值得深入研究的一块,说多不多,说少不少。Collections的大家族里像List , Map 是最为常见且最为实用的两个核心对象,无论哪一块代码似乎都离不开这两个兄弟,可是作为JAVA Collection,你真的了解么? 这篇文章通过一系列的有价值的分析得出一个使用Collections的最佳实路,Here we go!
List
在分析之前我们需要定好分析的需求,一个好的需求才能得出最好的分析结果,那么我们到底想要什么呢?
1.线程安全
2.SIZE
3.常用操作方法(adding, removing, accessing or iterating)

Continue Reading →
 

关于E-commerce你知道的或不知道的业务流程

E-commerce(电子商务)这个词由来以久,dreamforce时常都以为是此圈外人,可是不曾想过,dreamforce一直都呆在这个行业同时无论是自已试图创业或者接单都是E-commerce项目,So,我这里就轻微的吐槽介绍一下E-commerce。

国内市场与国外市场的差异:

E-commerce是90年代后期才引入进来的新兴行业,而国内的潜在消费能力也被E-commerce发掘出来,增长势头迅猛,你们熟知的淘宝,京东,易趣…可是你们知道国内与国外最大的区别在于哪儿么?

国内市场采取价格战,不可否认的,大多数人因为网购更便宜而选择E-commerce。

而国外迥然不同,网购可能更贵,因为大多数人选择E-commerce是因为快捷方便以及优质的服务。
正因这两个极为明显的差异,造成了国内外E-commerce开发市场的截然不同。同样一个项目,国内可能最多给你100W,同时要求你三个月完工上线,你只有带领你的团队拼了老命的加班。而在国外,他们愿意给你1000W,同时可能会有一年的时间让你进行开发,你可以用敏捷式的开发,一个季度提交一个版本,你们团队会有 充足的时间进行设计以及创新,同时能有一个良好的项目管理环境。
为什么淘宝,京东这些公司需要自己的开发班子,也不足为奇了。

Continue Reading →
 

2012主流WEB设计风向标

WEB 2.0 在这几年已经跑的太悠久了,久的让设计者担心,WEB2.0的时代还能走多久呢?

你是否还记得当年人气超旺的环璃效果? 一些醒目的优惠章?或者反光效果? 这些曾经出色的设计理念现在有点淡出人们的视线,再美的东西看久了就会失去当初的味道,无论你是否同意这句话,至少在WEB行业里,时间证明了这一切。

总是会有一些优秀的设计者会站出来,而他们的优秀的设计足以让你眼前一亮。
来看一下今年的流行风向标,有没有那么几种让你砰然心动呢?

Continue Reading →
 

关于JMS与SPRING的整合实例(基于Apache ActiveMQ)

什么是JMS?
jms即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。
JMS的优势
当前,CORBA、DCOM、RMI等RPC中间件技术已广泛应用于各个领域。但是面对规模和复杂度都越来越高的分布式系统,这些技术也显示出其局限性:
(1)同步通信:客户发出调用后,必须等待服务对象完成处理并返回结果后才能继续执行;
(2)客户和服务对象的生命周期紧密耦合:客户进程和服务对象进程 都必须正常运行;如果由于服务对象崩溃或者网络故障导致客户的请求不可达,客户会接收到异常;
(3)点对点通信:客户的一次调用只发送给某个单独的目标对 象。

Continue Reading →
 

教你如何为WP插件写单元测试(Junit Test)

Dreamforce本人一向都是马大哈,比如1+1都有时可以做错。但是Dreamforce又极喜欢Coding,所以养成了写单元测试的习惯,哪怕是自己一个人的项目都会写单元测试,有人可能说单元测试会浪费开发时间,其实不然,真正项目开发的关键在于细节,而很多时候也是因为细节上的疏忽造成了莫名其妙的问题,而你会因为没有写一些关键的单元测试而浪费大量的排错时间。

而Dreamforce的PHP功底不好,再加Javascript这种很容易因打字失误报错的脚本,所以对待WP的开发,也不得不写单元测试来保障代码质量
我在这里给大家介绍一款不错的工具:Qunit

Continue Reading →
 

Tourism New Zealand幕后那些事儿

在2011,我们见证了两个流行的趋势,一个是HTML5 Canvas ,另外一个则是交互性设计。越来越多的网站在过去的12月里按照这个趋势在迎合着。

交互性设计更多的是一个概念而不是技术-这个观点也被许多的站点设计者所认同。而Canvas则以基于HTML5的方式为交互式设计开了一道门。在这篇文章中,我们将一起来审阅 2012 SxSW 交互设计的技术成就奖项获得者:Tourism New Zealand
这个站点在很多地方都值得我们深入学习,比如它是如何平衡突破性的交互效果与带宽之间的选择。

Continue Reading →