摘要: 集合类是Java API的核心,但是我觉得要用好它们是一种艺术。我总结了一些个人的经验,譬如使用ArrayList能够提高性能,而不再需要过时的Vector了,等等。JDK 1.5引入了一些好用的并发集合类,它们对于大型的、要求低延迟的电子商务系统来说非常的有用。这篇文章中将会看看Concurren... 阅读全文
posted @ 2014-10-14 20:09 李克华 阅读(2827) 评论(0) 推荐(1) 编辑
摘要: 这个可能是最好的对比volatile和synchronized作用的文章了。volatile是一个变量修饰符,而synchronized是一个方法或块的修饰符。所以我们使用这两种关键字来指定三种简单的存取变量的方式。 int i1; int geti1() {return i1;}volatile... 阅读全文
posted @ 2014-10-14 17:11 李克华 阅读(366) 评论(0) 推荐(0) 编辑
摘要: volatile关键字相信了解Java多线程的读者都很清楚它的作用。volatile关键字用于声明简单类型变量,如int、float、boolean等数据类型。如果这些简单数据类型声明为volatile,对它们的操作就会变成原子级别的。但这有一定的限制。例如,下面的例子中的n就不是原子级别的:pub... 阅读全文
posted @ 2014-10-14 17:03 李克华 阅读(1364) 评论(0) 推荐(0) 编辑
摘要: Hadoop 1.0内核主要由两个分支组成:MapReduce和HDFS,众所周知,这两个系统的设计缺陷是单点故障,即MR的JobTracker和HDFS的NameNode两个核心服务均存在单点问题,该问题在很长时间内没有解决,这使得Hadoop在相当长时间内仅适合离线存储和离线计算。令人欣慰的是,... 阅读全文
posted @ 2014-10-14 10:16 李克华 阅读(1329) 评论(0) 推荐(0) 编辑
摘要: 在启动Hadoop时,NameNode节点上会默认启动一个SecondaryNameNode进程,使用JSP命令可以查看到。SecondaryNameNode光从字面上理解,很容易让人认为是NameNode的热备进程。其实不是,SecondaryNameNode是HDFS架构中的一个组成部分。它并不... 阅读全文
posted @ 2014-10-14 10:05 李克华 阅读(2636) 评论(0) 推荐(1) 编辑
摘要: Schema Design Considerations indexed fields indexed fields 的数量将会影响以下的一些性能:索引时的时候的内存使用量 索引段的合并时间优化时间 索引的大小 我们可以通过 将 omitNorms=“true” 来减少indexed fields数... 阅读全文
posted @ 2014-10-14 09:44 李克华 阅读(2262) 评论(0) 推荐(0) 编辑
摘要: 很多Java面试的时候,都会问到有关Java垃圾回收的问题,提到垃圾回收肯定要涉及到JVM内存管理机制,Java语言的执行效率一直被C、C++程序员所嘲笑,其实,事实就是这样,Java在执行效率方面确实很低,一方面,Java语言采用面向对象思想,这也决定了其必然是开发效率高,执行效率低。另一方面,J... 阅读全文
posted @ 2014-10-14 09:24 李克华 阅读(3703) 评论(0) 推荐(2) 编辑