自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(572)
  • 收藏
  • 关注

原创 使用JsonEditor开源组件写了一个Json Viewer

工作中经常要查看一些无格式化的json数据, 下载了几个桌面的json应用, 都不是很理想. 以前常用的都是一些在线的json viewer. 比如[url=http://json.parser.online.fr/]这个[/url]. 不过有时候受到网络的限制, 在github上找到一个不错的[url=https://github.com/josdejong/jsoneditor]jsonedi...

2014-07-06 09:06:51 1159

原创 《鸟哥的linux私房菜》读书笔记(部分)

x86是一种微机系统硬件架构,另一种是苹果的mac的架构linux将所有的设备,软件都抽象成了文件早期的计算机硬件厂商都有自己定制的操作系统没有核心和驱动的概念,直接通过操作系统操作硬件4,2,1在二进制中为100,010,001能很好的执行位操作,也表示r,w,x(注意顺序),chmod结合这这几个数字可以很好的进行文件属性的修改。另外一种比较具有可读性的做法是用...

2013-03-11 22:27:25 101

原创 <万历十五年>读书笔记

在网上下了一个电子书, 但是貌似跟万历十五年没啥关系, 都是讨论中国历代的政治制度的, 有些观点还是不错的春秋时即有“贤均从众”之说(见《左传》)。哪一人贤,就采纳哪一人的意见,假若双方均贤,则再来取决于多数。贤属质,众属量,中国传统重质不重量。中国人认为只要其人是贤者,就能够代表多数。不贤而仅凭数量,是无足轻重的。每一项政治制度都是有它的历史意义,在当时肯定是好的,因为历史是发展...

2013-03-11 22:27:04 180

原创 python写csv乱码的问题

主要是要写个BOM[code="python"]import jsonimport csvf = open('d:\\brand.json')data = json.load(f)f.close()file = open("d:\\brand.csv", "wb+")file.write('\xEF\xBB\xBF');f = csv.writer(fi...

2013-03-11 22:26:00 153

原创 《python学习手册》学习笔记

python格式化传参数非常赞,用数字标明位置,值得java学习for这种迭代语法很强大,有函数式编程的范儿python用none来表示null为什么散列能最快速的搜索字典是无序的字典的updateshi是合并的意思字典的for迭代的是来key带默认值的get方法避免找不到是一个不错的做法literal是字面值为什么要翻译成长量呢?...

2013-03-11 22:25:49 146

原创 spring的xml string applicationcontext实现

这里有两种实现方式:[code="xml"]import org.springframework.context.ApplicationContext;import org.springframework.context.support.AbstractXmlApplicationContext;import org.springframework.core.io.ByteArra...

2013-03-06 07:26:31 54

原创 maven项目统一编码

[code="xml"] UTF-8 org.apache.maven.plugins maven-compiler-plugin ...

2013-03-06 07:24:08 217

原创 shell一些技巧和知识点

; 表示的是一个命令执行完, 忽略其返回值, 继续执行下一行&& 表示只有前面为true才继续执行后面的命令, 否则忽略, 可以理解为短路执行|| 表示子前面为false才继续执行后面的命令, 这个比以前看到的解释更容易理解凡是要输出字符串的, 最好用引号括起来, 否则容易被shell理解为命令, 这一点很容易疏忽{}是一种命令块的写法:可以看成append...

2013-03-06 07:21:48 54

原创 《你的灯亮了吗》读书笔记

这是一本原本写给程序员的书本书的四个问题:搞清问题的来源多角度看问题不要将问题的解决方法看成问题的定义 还是问题的定义问题从多个角度发掘问题的本质问题的本质就是实际状态和期望状态不一致,解决问题就是要么改变期望,要么改变体验。每种解决方法都会带来新的问题 我们永远都不能消灭问题。有时候问题的不同表述会得到不同的解决方案准确清晰的问题描述是...

2013-03-06 07:20:14 55

原创 《小狗钱钱》读书笔记

一本非常不错的理财学习入门书, 以童话的形式, 儿童的思维方式如何实现财务自由.写下你最重要的三个愿望或梦想做一本关于你愿望梦想的影集,让你的愿望可视化,并随时通过翻看影集想象你实现这些梦想的样子“好奇是好的,但是你绝不能因为好奇而阻碍你去做一件事情。太多的人做事犹豫不决,就是因为他们觉得没有完全弄懂一样东西。而真正付诸实施要比纯粹的思考要聪明多了。”学习就是认识新...

2013-03-06 07:17:31 96

原创 一个最简单的跳跃表例子

原文在[url=http://www.dreamincode.net/forums/blog/114/entry-2727-introduction-to-a-skiplist-data-structure-in-java/]这里[/url], 是一个简化的跳跃表实现, 非常浅显易懂.[code="java"]public class SkipListExample { privat...

2012-07-27 07:51:03 197

原创 netty的一点学习笔记

主要参考在[url=http://seeallhearall.blogspot.gr/2012/05/netty-tutorial-part-1-introduction-to.html]这篇[/url]文章, 写的非常好.netty主要是一个异步的nio server/client framework它采用了event driven模式netty主要针对异步(asynch...

2012-07-27 07:24:23 88

原创 《我的奋斗》读书笔记

文字写的很幽默, 故事也基本都是一些平常人的故事,看到了一个特立独行的罗永浩, 不过可惜没看到完整版。===================我是读书笔记的分割线====================== 生得胃大,死得饱满 他们实际相信的不是知识改变命运,而是学历改变命运 我自己理解的愤青是永远对现状和旧有体制不满的,充满激情和理想的热血青年 偶尔看看成功学...

2012-04-14 22:03:16 115

原创 《希尔斯亲密育儿百科》读书笔记

在豆瓣上看了一些育儿图书的评价, 在网上找了这本电子书, 花了几个网上翻了大半(1岁前的部分). 主要的观念就是尽量采用母乳喂养, 多与宝宝亲密接触. 都是老外的育儿做法, 中国这样做的人相对比较少. 而且很多观念是本人以前不懂的, 算是临时抱佛脚吧.=====================我是读书笔记的分割线===================宝宝的衣服要买至少大一号的。适...

2012-04-14 21:44:36 193

原创 使用Externalization更高效的实现java对象序列化

Externalization没用过, 它通过牺牲默认序列化的灵活性来获得高性能. 在某些场景下可以采用这种方式, [url=http://www.javacodegeeks.com/2010/07/java-best-practices-high-performance.html]这里[/url]是一个例子:[code="java"]package com.javacodegeeks.tes...

2012-04-04 22:38:27 117

原创 关于java的检查异常和非检查异常

[url=http://www.javacodegeeks.com/2012/03/why-should-you-use-unchecked-exceptions.html]这里[/url]有一个关于java的检查异常和非检查异常的观点, 我比较赞同, 就是对于业务系统来说, 基本上用非检查异常来代替检查异常.而在一些被广泛使用的类库中, 可以采用检查异常. 对于业务系统在调用类库的时候, 一般会...

2012-04-04 21:31:34 181

原创 使用ThreadLocal保证DateFormat线程安全

大家都知道DateFormat是线程非安全的, 一般在多线程环境下, 必须为每一次日期时间的转换创建一个DateFormat, [url=http://www.javacodegeeks.com/2010/07/java-best-practices-dateformat-in.html]这里[/url]有一个更高效的做法:[code="java"]package com.javacodege...

2012-04-03 06:45:26 142

原创 使用枚举实现一个状态机

非常巧妙的一个使用枚举的例子.原文见[url=http://www.javacodegeeks.com/2011/07/java-secret-using-enum-to-build-state.html]这里[/url][code="java"]interface Context { ByteBuffer buffer(); State state(); voi...

2012-04-02 23:14:54 444

原创 一个同步队列例子

这个用的也比较少, 做一个参考, 原文见[url=http://examples.javacodegeeks.com/core-java/util/concurrent/synchronous-queue-example-to-execute-commands]这里[/url][code="java"]private BlockingQueue workQueue = new Linked...

2012-04-02 21:35:02 64

原创 一个读写锁的例子

用的比较少, 做一个参考. 原文在[url=http://examples.javacodegeeks.com/core-java/util/concurrent/reentrant-readwritelock-example-of-value-calculator]这里[/url][code="java"]public class Calculator { private int ...

2012-04-02 21:20:53 131

原创 如何计算一个合适的线程池大小参数

原文在[url=http://www.javacodegeeks.com/2012/03/threading-stories-about-robust-thread.html]这里[/url]下面是一个计算的框架代码:[code="java"]/** * A class that calculates the optimal thread pool boundaries. It t...

2012-04-02 20:57:42 834

原创 storm资料汇总(更新中)

[list][*][url=https://github.com/nathanmarz/storm/wiki]storm wiki[/url] //storm最权威, 最新资料[*][url=https://github.com/nathanmarz/storm-starter]storm starter[/url] //storm的hello world[*][url=http://...

2012-03-16 06:20:56 68

原创 关于storm的complete latency

最近我们的storm在跑的过程中, 发现bolt的complete latency都非常低, 在1ms以下, 而spout却不断的增加, 达到了好几千ms, 最后导致整个spout挂掉(后来发现complete latency不断增加跟fail有关). 这是一个非常严重的问题, 于是在storm-user上google了一把, 发现这里([url=http://groups.google.com/...

2012-03-12 11:26:19 540

原创 Bolt接口各个方法的执行顺序

在storm-user中看到的一个关于Storm Bolt内部实现的执行顺序的[url=https://groups.google.com/forum/?fromgroups#!topic/storm-user/FuRHdHt71mk]提问[/url], 觉得对理解Bolt内部实现有帮助, 记录一下.[b]prepare[/b]方法在worker初始化task的时候调用.[b]ex...

2012-03-04 20:05:41 248

原创 storm ui上emit和transferred的区别

最开始对storm ui上展示出来的emit和transferred数量不是很明白, 于是在storm-user上google了一把, 发现有人也有跟我一样的[url=http://groups.google.com/group/storm-user/browse_thread/thread/a47b13e85161efe5]困惑[/url], nathan做了详细的回答:emitted栏...

2012-03-04 14:07:32 135

原创 storm中supervisor, task, worker, spout, bolt之间的关系

一个storm topology运行起来之后, 会在supervisor 机器上启动一些进程来运行spout和bolt实例.如果一个topology里面一共有一个spout, 一个bolt。 其中spout的parallelism是2, bolt的parallelism是4, 那么我们可以把这个topology的总工作量看成是6, 那么一共有6个task,那么/tasks/{topolog...

2012-03-04 13:53:29 269

原创 最近碰到的一些storm问题总结(不断更新)

目前使用的是storm.0.6.0这个版本. 至于其他版本有没有这问题, 不做研究.★ yaml跟我们一般用的属性配置文件有所不同, 它的要求更严格一些, 因此在往conf/storm.yaml中添加配置的时候必须注意.比如必须注意开始位置和冒号后面的空格, 否则配置不会生效. 关于yaml相关的资料, 网上有很多资料可以参考如何检查配置是否生效, 可以使用命令: stor...

2012-02-27 23:24:48 182

原创 使用SolrJ生成索引

代码很简单, 直接看就明白了, 可以在实际工作中借鉴, 原文在[url=http://java.dzone.com/articles/indexing-solrj]这里[/url]. 这个例子使用两种方式来演示如何生成全量索引:一个是从db中通过sql生成全量索引一个是通过tika解析文件生成全量索引[code="java"]package SolrJExample;imp...

2012-02-23 20:54:05 60

原创 storm的ack和fail

为了保证数据能正确的被处理, 对于spout产生的每一个tuple, storm都会进行跟踪, 这里面涉及到ack/fail的处理, 如果一个tuple处理成功, 会调用spout的ack方法, 如果失败, 会调用fail方法. 而在处理tuple的每一个bolt都会通过OutputCollector来告知storm, 当前bolt处理是否成功. 为了了解OutputCollector的ack/f...

2012-02-20 20:21:42 132

原创 storm的序列化问题及与spring的结合方式

最近打算在项目中用storm从一个database生成多个搜索引擎的实时索引, 于是看了一些相关的资料就开始上手了. 按照以前熟悉的套路, 使用spring来管理对象之间的依赖, 于是我开始将topology, spout, bolt看成一个个bean, 然后放在spring容器中来完成初始化, 但是在本地模式运行的时候, 出现序列化的问题(抛出java.io.NotSerializableExc...

2012-02-16 21:40:51 126

正确使用日志的10个技巧

做一个苦逼的Java攻城师, 我们除了关心系统的架构这种high level的问题, 还需要了解一些语言的陷阱, 异常的处理, 以及日志的输出, 这些"鸡毛蒜皮"的细节. 这篇文章是JCP成员, Tomasz Nurkiewicz( [url]http://nurkiewicz.blogspot.com/[/url] )总结的10条如何正确使用日志的技巧(参见[url=http://nurkiew...

2012-02-11 21:13:05 1314

原创 新版SolrCloud概述

在Lucene/Solr的SVN trunk中的SolrCloud已经可用, 在即将发布的4.0版本中将正式包含. 目前SolrCloud已经成熟, 可以支持分布式索引和分布式搜索. 下面是我们一个项目采用新的SolrCloud的部署结构图:[align=center][img]http://sematext.files.wordpress.com/2012/01/distribute...

2012-02-05 22:52:42 81

原创 Effective Unit Test:代码面前并非人人平等

这里的观点非常值得探讨, 所有的产品代码就像是一项投资, 有些代码的价值大, 因此需要写更多的单元测试来提高测试覆盖率. 另外有些代码的单元测试编写非常困难, 下面的一些因素可以用来帮助我们理解每个单元测试的价值:1.代码被用的次数和它的价值成正比.2.被依赖程度决定测试价值. 如果其他代码严重依赖被测试代码, 那么对应的测试价值大, 如果被测试代码严重依赖其他代码, 那么这个代码将难以测...

2012-02-05 15:38:12 43

原创 Google Guava EventBus简化生产/消费者模式使用

在Google Guava 10版本引入了EventBus, 它主要用来简化我们处理生产/消费者编程模型.[b]基本用法[/b]使用Guava之后, 如果要订阅消息, 就不用再继承指定的接口, 只需要在指定的方法上加上@Subscribe注解即可: [code="java"]public class EventListener { public int ...

2012-02-05 14:34:25 530

原创 使用Guava Supplier Mock Datetime

通过下面的例子了解Guava Supplier的用法.在做单元测试的时候, 我们可能需要Mock掉一些对外部资源的依赖. 比如时间, 随机数, 系统文件访问.下面是将要测试的代码, 将当前时间输出:[code="java"]@Controller@RequestMapping(value = "/time")@VisibleForTestingclass TimeCon...

2012-02-04 23:35:08 111

Sensei:分布式, 实时, 半结构化数据库

在未出现开源搜索引擎以前, Doug Cutting整了个Lucene, 随后Yonik Seeley写了一个Solr, 在2010年 Shay Banon发布了ElasticSearch, 大概在两年前, 我们迎来了Sensei, 最近他们发布了1.0版本, 下面通过[url=https://twitter.com/#!/sematext]@sematext[/url]对LinkedIn的搜索架...

2012-02-04 22:24:14 70

Java编程最差实践

原文地址:[url]http://www.odi.ch/prog/design/newbies.php[/url]每天在写Java程序, 其实里面有一些细节大家可能没怎么注意, 这不, 有人总结了一个我们编程中常见的问题. 虽然一般没有什么大问题, 但是最好别这样做. 另外这里提到的很多问题其实可以通过Findbugs( [url]http://findbugs.sourceforge.net...

2012-02-04 17:54:45 136

Storm实现实时feed信息处理

这篇文章通过用一个如何处理feed数据的应用场景来说明为什么会出现Storm实时计算框架, 对我们自己的技术选型和系统架构设计非常有参考价值.原文在[url=http://www.datasalt.com/2012/01/real-time-feed-processing-with-storm/]这里[/url][url=https://github.com/nathanmarz/...

2012-02-01 22:44:04 64

Strom的一些最重要特性

Storm作为Twitter开源的实时计算框架, 已经成为big data下一个热点. 下面是一些主要特性:[list][*]简单的编程模型: 类似MapReduce, 不过MR用来降低并行批量处理的复杂性, 而Storm用来简化实时处理模型.[*]支持多种编程语言: 目前支持Clojure, Java, Ruby, Python[*]容灾高可用: Strom管理整个worker集...

2012-01-31 21:10:48 50

高性能应用构建模式解析

原文:[url]http://java.sys-con.com/node/2116436[/url][img]http://res.sys-con.com/author/10836/munish_gupta.jpg[/img]原作者的帅照虽然自己开发的一直都是号称"高性能, 高可用, 高并发"的"三高"应用. 但是一直没有对如何实现这种"三高"应用没有进行深入的思考, 直到最近看到...

2012-01-21 22:37:17 43

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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