Scala的val变量初始化的坑

今天遇到了一个val初始化的坑,先上代码   class Foo { val foo = 10 val bar = foo } class Bar extends Foo { override val foo = 20 } object Main extends App { println(new Bar().

Android ListView的OnItemClickListener详解

我们在使用ListView的时候,一般都会为ListView添加一个响应事件android.widget.AdapterView.OnItemClickListener。本文主要在于对OnItemClickListener的position和id参数做详细的解释,我相信有些人在这上面走了些弯路。   先来看一下官方的文档

Bigtable中Tablet迁移与Java中Concurrent Mark-Sweep的相似点

先复习一下Concurrent Mark-Sweep(CMS)[2]:   The CMS collector operates in a series of phases. Some phases stop the world, and others run concurrently with the Java application. The m

使用jvisualvm来远程观察Java程序

有时候,我们可能需要远程查看某台机器上的Java程序的运行情况,例如,可能出现了内存泄露,但是只能在某个特定的环境中出现。这时候我们就需要远程观察Java程序的一些执行情况。jvisualvm提供了很方便的界面来帮助我们监控Java程序。   这里要介绍的第一种方式是,使用JMX来进行监控。 这种方式要求我们在启动Java程序的时候手动开启jmx

Hadoop Configuration是怎么工作的

最近在Stackoverflow回答问题的时候,发现很多人对Hadoop的Configuration都有些混淆。因为,我尝试在此整理一下相关的内容。   我们写一个MapReduce任务的时候,通常要写个Driver。这个Driver是运行在client下的,也就是你在哪一台运行"hadoop jar your_application.jar&qu

增加memcache

最近发现我的博客的Datastore Read Operations经常超过Appengine的上限,于是在代码中增加了memcache来减少对Datastore的直接访问。之前一直以为我这小博客应该不至于能达到Appengine的免费上限,没想到还是超过了。加上memcache之后,从Appengine提供的Memcache Viewer可以看到,大概有95%+的cache命令率,这样子应

HBase中Scan的setTimeRange引起的数据不一致问题

由于直接对HBase进行全表Scan的速度太慢,因此我们写了一个简单的程序,每天从HBase中dump最新的数据,然后再和HDFS上的旧数据进行合并,从而得到一份存储在HDFS上的总数据(我们要保证这份数据与HBase上的数据一致)。   对于这项任务Scan的setTimeRange显然是最好的选择。我们从HBase中dump数据时,使用Scan的setT

使用MySQL utf8遇到的一个奇怪的异常

最近看到一个很奇怪的case。我们从http://graph.facebook.com/163892916997124拿到了下面的数据: { "category": "Local business", "category_list": [ { "id":

Hive的--auxpath使用相对路径遇到的一个奇怪的异常

在使用Hive的--auxpath过程中,如果我使用的是相对路径(例如,--auxpath=abc.jar),会产生下面的一个异常: java.lang.IllegalArgumentException: Can not create a Path from an empty string      at org.apache.had

增加显示数学公式的功能

1. 把Mathjax加了进来,这样子就可以显示数学公式了。示例: When \(a \ne 0\), there are two solutions to \(ax^2 + bx + c = 0\) and they are \[x = {-b \pm \sqrt{b^2-4ac} \over 2a}.\]   使用RSS订阅的用户得打开本页面才能