Google PlusFacebookTwitter

献丑

By on Jul 28, 2017 in 技术文章, 补充两句 | 0 comments

https://github.com/IUSR/jvm-serializers/ 一直很倚重的一个序列化、反序列化性能测试报告。发现已经1年多没有更新了,这期间很多库、框架的版本都升级了,索性自己fork来试试。主要是升级版本以及改用maven管理依赖——这个不用白不用啊,不明白为什么要自己签入一堆jar文件,又占地方又不能diff什么的,图个什么啊。 由于涉及到的库、框架实在太多,又没有时间把对应的性能测试代码改到和最新版本兼容,所以一些库是没有升级到目前的最新版。 而且上手一试,发现很多库的发行管理确实乱得不行,不去maven中心服务器发布的只好从官网下载回来——这也是这个项目一直以来的做法但是我比较讨厌这样带着一堆jar包签入项目代码,flat-buffers找来找去竟然要自己编译打包,而且发行版本的源代码里的pom.xml还带着“-SNAPSHOT”。好在大部分的库实际上我是不太在意的……我的目标是colfer,protobuf、protostuff和msgpack,其他那些JSON、XML沙文主义的就靠边站吧,好在本来它们性能也就那样😅 PS,默认关闭的一些框架的测试我也是干脆没有管,像dsl-platform、colfer的编译什么的。...

LMAX

By on Jan 28, 2012 in 补充两句 | 0 comments

忘了是谁在微博上赞叹了一句LMAX,于是乎去看了看Martin Fowler老爷子的这篇“The LMAX Architecture”。 看过以后实际上觉得也很坦然,不管是谁赞叹的LMAX,终归是一个做Java很久的人。为了找到这位的原话,我也特意又去微博搜了搜,看到了很多做Java的人在同样赞叹LMAX。实际上只要看看Martin的这文章就能明白,核心实际和Java关系不大,倒是吸收了web界一直以来的很多做法、算法和架构,最终用Java实现了一套而已。我几乎能看到Martin老爷子星星眼的样子… 当然老爷子自己也还是很有自知之明的,比如这句: Many programmers, and I confess I fall into this camp, don’t have much mechanical sympathy for how programming interacts with hardware. 还有之前一句以脚注出现的: I rarely think about which collection implementation to use. This is perfectly reasonable when you’re not in performance critical code. Different contexts suggest different behavior. 哎,两句话就暴露出做(Java)企业应用以及企业应用架构设计的人一直以来的问题了吧。在现在web开发技术这样一日千里的发展的情况下,企业应用那套,虽然在设计和工程上仍旧有些许价值,但也真是有点儿明日黄花了,尤其涉及到性能、吞吐量这些。...

说说“碰撞”

By on Jan 16, 2012 in 补充两句 | 0 comments

都是基于我自己的理解,有错误的话请不吝赐教。 Hash碰撞:参考 http://en.wikipedia.org/wiki/Collision_%28computer_science%29 ,只不过是说不同的数据凑巧有相同的hash值而已,这是数学上就已经有了定论的肯定会出现的问题,参见Pigeonhole principle。 CSDN etc.密码门:事件中网络上大量充斥的“碰撞”——比如这篇里 http://www.enet.com.cn/article/2011/1228/A20111228952093.shtml (其实微博上更多,懒得搜了,省得好像针对谁一样),其实就是“撞大运”的撞,“撞衫”的撞,可是和“明文”、“加密”这种话题扯到一起,很容易让人觉得是和前面提到的hash碰撞有关,实际上远没有那么高科技啦,rainbow table随随便便就拿去破解百万级别用户的密码?呃,反正我很难想象,也说不好地下组织已经不难具备这个能力了,但说起来还是拖库加社工库要划算得多吧。这个实际上是很无聊的话题,不过也算是我写这篇很短的东西的起因,因为各方面的说辞都要把我搞晕了,虽然我有很入门很基础的网络安全修养,不过也不是专门搞安全和加密的,大家你也碰撞我也碰撞的,搞的我以为中国加密和密码学一下子已经超越美帝来着了。 更最近的影响范围很大的web服务器Hash碰撞攻击:参见Ars Technica的Huge portions of the Web vulnerable to hashing denial-of-service attack。这个更直白(直白但没有那么简单),就是针对各种语言平台和应用服务器的常见实现,提交一些预先制造的很容易在特定条件(比如文中提到的随机化不太好)下发生(multi-)hash碰撞的数据,导致HTTP服务器的一些常见的hashtable的操作异常耗费计算资源——O(n**2)哦。...

QCon Beijing 2011 Day 1

By on Apr 10, 2011 in 咿咿呀呀, 技术文章, 补充两句 | 7 comments

继续。对今天的讲座多少有些失望,同去的同事们也这么说。也算说明一个问题:别以为站在台上的就都是无比牛气的。我看着失望还无所谓,一牛人同事也觉得今天的session比较失望,那就是问题了。 今天的选择: 09:00 2011年的企业级Java和超越:从JavaEE 6到云计算 (幻灯片下载) 讲师:Juergen Hoeller 大宴会厅(设同声传译) 10:00 百度离线集群整合之道 (幻灯片下载) 讲师:吴波 大宴会厅(设同声传译) 11:10 基于云计算架构构建Netflix (幻灯片下载) 讲师:Adrian Crockcroft 大宴会厅(设同声传译) 13:00 “稳定压倒一切”——银行应用中的稳定性考量(幻灯片下载) 讲师:周伟然 大宴会厅 14:20 淘宝前台系统优化实践 (幻灯片下载) 讲师:蒋江伟 大宴会厅 15:50 在云中操控Netflix (幻灯片下载) 讲师:Adrian Crockcroft 第六会议室(同声传译) 17:10 网游服务器性能优化 (幻灯片下载) 讲师:谢廷宝 第一会议室 想去而没法去的是:淘宝网线上线下性能跟踪体系和容量规划(幻灯片下载) ,讲师:吴毓雄;基于Spring 3.1的现代组件设计(幻灯片下载),讲师:Juergen Hoeller;艺龙旅行网架构案例分享(幻灯片下载),讲师:贾志峰;企业级软件的组件化和动态化开发实践(幻灯片下载) ,讲师:池建强。 今天的内容感觉没啥意思,所以也不想太多点评了,诶。 2011年的企业级Java和超越:从JavaEE 6到云计算:本来人家名字是Jürgen Höller,结果被替成了Juergen Hoeller,怪不得一直没认出来这是谁是干啥的呢(呃,我承认没仔细看QCon的讲师介绍材料)。直到幻灯片一开始,看到了名字,才想起来,SpringSource的。这个session整体来说,比昨天Oracle的Chuk Munn的演讲要“亲切”得多。都是讨论Java EE和云计算,Oracle一副一家独大不容置疑的样子,发明出来那一堆乱七八糟的东西(虽然Chuk...

QCon Beijing 2011 Day 0

By on Apr 9, 2011 in 咿咿呀呀, 技术文章, 补充两句 | 0 comments

标题显得很NB吧?哇哈哈… 难得这次东家能应允让我这么个打杂的来参加这么高端的集会啊,感谢感谢。 结果今天的选择是: 09:00 支撑Facebook消息处理的HBase存储系统 (幻灯片下载) 讲师:Nicolas Spiegelberg 大宴会厅(设同声传译) 10:00 Java EE 7平台:走进云计算 (幻灯片下载) 讲师:Lee Chuk Munn 地点:大宴会厅(设同声传译) 13:00 Web开发的新势力——服务端JavaScript开发(幻灯片下载) 讲师:廖恺 第七会议室 14:20 MongoDB开发应用实践(幻灯片下载) 讲师:潘凡 第一会议室 15:50 Remote Object、SOA和REST(幻灯片下载) 讲师:徐昊 第七会议室 17:10 淘宝商品库优化实践解析(幻灯片下载) 讲师:余锋 大宴会厅   其实还有几个很想去的但是因为安排没办法只好放弃掉:为速度而生——百姓网如何优化网速 (幻灯片下载),讲师:潘晓良;QQ邮箱存储平台(幻灯片下载),讲师:胡戊;构建高性能的微博系统——再谈新浪微博架构(幻灯片下载),讲师:杨卫华;BeansDB的设计与实现(幻灯片下载),讲师:刘洪清;一种基于服务器,集群存储和虚拟机的实现(幻灯片下载),讲师:王劲凯。Gavin King折腾了下他session的安排也比较让人不爽。 简单出于个人主观评论一下今天参加的内容: 支撑Facebook消息处理的HBase存储系统:太in-a-nutshell了,一看幻灯风格就能估计出来大概是要照本宣科了。很多事情去HBase老家和Facebook的haystack什么的地方看看就大概知道了;私以为不用太诧异于Facebook不用自己发明的Cassandara;同声传译很扯,后面不知道是不是有人把传译的耳机放了很大的音量,搞的我基本上是左耳英语右耳隐约地听中文,左耳是男声右耳隐约地听女声,真ft。私以为这种级别的演讲混外企的应该不用别人给翻译才对,旁边几个XXX公司的员工人手一个传译终端,诶,还没活明白呢。 Java EE...

读过《三体Ⅲ:死神永生》

By on Dec 31, 2010 in 补充两句 | 0 comments

等了一年多,刘慈欣总算写完了这第三部;又在卓越排了18天的队——12月8号付款,27号送到,终于拿到了书——虽然跟很多人一样觉得装订得怎么这么像盗版书;然后在昨天,也就是12月30号,看完了整本书,512页。大概我只有看这种不务正业的书才能达到这种速度了。 不做过多的评论,豆瓣的条目上面有不少评论和回复。我天生闷葫芦一个,东西都憋在心里倒不出来。 只有一点,是我重复过无数次的,那就是我实在是不太情愿读很多人文相关的东西(而且以下内容多少有些剧透)。 人文的东西,从高中开始——我觉得高中是我从懵懂开始清醒一些的发端——稀稀拉拉地也读过不少,震撼有余,受教有余,然而更多的时候是觉得一种无奈,觉得整个人类和社会就像摆脱不了螺旋上升——如果真有任何上升的话——这么一个模式一样。之所以会螺旋着,是因为即便有那么多振聋发聩的言论也好,作品也好,人无论作为个体还是作为整体看来,都是不可救药地重复、重复、再重复,只不过——如果还是承认有上升的话——每次这样的重复都或多或少会比上一次提升一些,同时也站在了上一次提升的基础之上,所以看起来似乎前途还挺光明的。 打个比方,说到个体,有多少人奔三以后——甚至更早——会逐渐意识到父母以前的嘱咐唠叨其实有很多都很有道理?说到整体,经济危机——全球的也好,区域的也好——这是第几次了? 回到这书上来,程心似乎真是很成心,每每面临重大决定的时候总是情感战胜一切——几乎所有人看完这书都会说程心只不过替人类整体(结合这本书就得说“太阳系人类”)唱个唯一的一票并宣布个结果而已,错不在她,换一个被太阳系人类认同的人来做那些决定也是大同小异,实质上不过还是群体选择而已,云云。书里也写了,我们知道应该怎么样,也知道不该怎么样,但就是做不到——多么矫情,是不是让你想到某些言情小说里,那些唧唧歪歪的男女,或哭天抹泪或嘶声咆哮地说,“我做不到!我就是做不到!”?...