Fork me on GitHub

2013年6月14日

摘要: Optional优雅的使用null在我们学习和使用Guava的Optional之前,我们需要来了解一下Java中null。因为,只有我们深入的了解了null的相关知识,我们才能更加深入体会领悟到Guava的Optional设计和使用上的优雅和简单。 null代表不确定的对象: Java中,null是一个关键字,用来标识一个不确定的对象。因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量。 Java中,变量的使用都遵循一个原则:先定义,并且初始化后,才可以使用。例如如下代码中,我们不能定义intage后,不给age指定值,就去打印age的值。这条对对于引用类型变量也是适用.. 阅读全文
posted @ 2013-06-14 17:34 HackerVirus 阅读(251) 评论(0) 推荐(0)
摘要: jQuery+JSONP实现虾米音乐的检索、选取和播放这篇文章是我自己原创的,所以请各位转载的朋友注意追加本文连接。http://www.jqdemo.com/927.html很多人都希望能在发帖的时候带上音乐。当然你可以去http://swf123.com/创建一个flash播放器带上音乐,但是这个是需要你追加一个可以用的音乐地址的。而虾米不同,你可以直接调用他的widget.最后生成图中展示的播放器。这里公布核心代码,提供案例下载。在此感谢bejson收集各种免费的json接口这里我们要用到的接口是:http://kuang.xiami.com/app/nineteen/search/ke 阅读全文
posted @ 2013-06-14 10:02 HackerVirus 阅读(263) 评论(0) 推荐(0)
摘要: 通过内存盘提高MSMQ的消息吞吐能力由于MSMQ的消息交互都需要对磁盘进行读写操作,所以提高MSMQ的消息吞吐能力相对比较有效的方法就是提高磁盘读写能力.可以简单地把MSMQ的消息,日志等文件存储到不同的磁盘来降低MSMQ对一个磁盘IO依赖从而达到更高的读写效能.由于MSMQ一般都是存储流水数据,如果消息结构比较少和消费积累量不高的情况把MSMQ存储放到内存则是一个非常不错的选择,这样能够大大提高MSMQ的读写效能(缺点:断电部分数据存在丢失).下面针对MSMQ内存存储的一些实现和简单测试.构建内存盘首先要从内存中创建一个盘出来,这个可以通过一些工具就能实现,这里选择了Dataram RAMD 阅读全文
posted @ 2013-06-14 10:00 HackerVirus 阅读(259) 评论(0) 推荐(0)
摘要: ThoughtWorks知识分享体系2013-06-13 14:42 by 黄博文, 201 阅读,2评论,收藏,编辑本来这篇文章的名称为”ThoughtWorks的培训体系”。但是培训这个词总给人一种正襟危坐的感觉,而在ThoughtWorks中的培训则是非常轻松自在的。而且培训有种老手教新手的味道,而在ThoughtWorks不管资历高低,只要你敢秀,都随时欢迎。所以我将培训改为了知识分享。”Knowledge sharing”可以说是ThoughtWorks的标志性文化之一。在ThoughtWorks大家庭,大家都很乐于把自己的所学、所想通过各种方式分享出来。正因为ThoughtWork 阅读全文
posted @ 2013-06-14 09:58 HackerVirus 阅读(322) 评论(0) 推荐(0)
摘要: .NET程序开发中必须收藏的七个类型的经典工具工作之余经常会收藏一些.NET开发中应用到的软件,这些工具涵盖设计,调试,构建,测试等领域。有这些工具的帮助,在处理一些开发中遇到的问题时,会轻松很多。1 Reflection 反射 .NET Reflector这个反编译工具确实相当的重要。且不说用来干坏事,就是经常用来检查自己设计的程序集的命名,也是很有益处的。命名空间是否合理,类型命名是否合理。以我的经验,反编译自己写的程序集,常常会出现一些自己没有预料到的命名空间。比如我们在Visual Studio中新增一个类型或是窗体时,它会根据当前项所处的路径来添加完整的命名空间,所以,编译完成后,我 阅读全文
posted @ 2013-06-14 09:57 HackerVirus 阅读(216) 评论(0) 推荐(0)
摘要: 第一个应用程序HelloWorldiOS7 Beta已经发布了,迫不及待地下载了iOS 7及Xcode 5并体验了一下。先做一个简单的Hello World看看都有哪些变化吧。1. 启动Xcode5-DP;2. 从菜单选择File-New Project...,弹出如下窗口:注意,在此多了一个SpriteKit Game的模板,暂时先不管它,还是选择熟悉的Single View Application,然后单击Next按钮;3. 在接下来的对话框的Product Name输入框中输入:HelloWorld,如下图所示:备注:相比较Xcode 4.6版本,新建项目选项中没有了Use Storyb 阅读全文
posted @ 2013-06-14 09:47 HackerVirus 阅读(247) 评论(0) 推荐(0)
摘要: Linux中随手可得的测试、调试、性能检验工具原定标题是“linux自带的测试、调试、性能工具”,不过并不恰当,比如本文要提到的gdb,很多Linux发行版中都提供了它,但毕竟不是Linux的必要组成部分,只是对与大多数Linux用户随手可得罢了。合理组合使用这些工具可以满足更复杂的要求,并写成测试脚本,能为测试提供很大的方便。本文不涉及具体的脚本编写,也不涉及与网络相关的命令如netstat和tcpdump。 为了方便阅读,用横线把内容进行分割,并且每个下划线下对这部分主要内容进行提示。 对于1~6这几个命令,单独使用时看上去很简单,但当它们结合重定向和正则表达式从而构成更复杂的功能甚至.. 阅读全文
posted @ 2013-06-14 09:45 HackerVirus 阅读(207) 评论(0) 推荐(0)
摘要: .NET:栈的生长与消亡背景多数情况下我们不需要关心栈的变化,不过个别场景下还是需要对此有所了解,如:指针操作,下文会给出一个具体的示例。另外,理解栈的变化对于理解作用域也有一定的好处,因为C#的局部变量作用域是基于栈的。栈的变化规则方法调用会导致栈的生长,具体包括两个步骤:一、插入方法返回地址(下图中的Fn:);二、将实际参数按值(可以使用ref或out修饰)拷贝并插入到栈中(可以使用虚参数访问)。遇到局部变量定义会向栈中插入局部变量。遇到return语句会导致栈消亡,一直消亡到方法返回地址,并把return的返回值设置到方法返回地址中。这里先不考虑中括号导致的栈的消亡。简单的示例最后的小测 阅读全文
posted @ 2013-06-14 09:43 HackerVirus 阅读(146) 评论(0) 推荐(0)
摘要: google guava使用例子/示范(一)guava是Java的一个扩展类库,在google的许多项目中使用过了,现在最为一个 开源的Java类库广泛使用(http://code.google.com/p/guava-libraries/)。guava类库扩展的主要是这些相关类:collections(集合类),concurrency(并发),primitives,reflection(反射),comparison,I/O,hashing,networking(网络),strings(字符串),math(计算),in-memory caching(内存缓存),in-memory publis 阅读全文
posted @ 2013-06-14 09:41 HackerVirus 阅读(248) 评论(0) 推荐(0)

2013年6月13日

摘要: 第一个应用程序HelloWorldiOS7 Beta已经发布了,迫不及待地下载了iOS 7及Xcode 5并体验了一下。先做一个简单的Hello World看看都有哪些变化吧。1. 启动Xcode5-DP;2. 从菜单选择File-New Project...,弹出如下窗口:注意,在此多了一个SpriteKit Game的模板,暂时先不管它,还是选择熟悉的Single View Application,然后单击Next按钮;3. 在接下来的对话框的Product Name输入框中输入:HelloWorld,如下图所示:备注:相比较Xcode 4.6版本,新建项目选项中没有了Use Storyb 阅读全文
posted @ 2013-06-13 22:31 HackerVirus 阅读(195) 评论(0) 推荐(0)