Java 接口中使用数组缺点的理由
如果你发现在一个接口使用有如下定义方法:1public String[] getParameters(); 那么你应该认真反思。数组不仅仅老式,而且我们有合理的理由避免暴露它们。在这篇文章中,我将试图总结在Java API中使用数组的缺陷。首先从最出人意料的一个例子开始。 数组导致性能不佳 你可能认为使用 …… 阅读全文
如果你发现在一个接口使用有如下定义方法:1public String[] getParameters(); 那么你应该认真反思。数组不仅仅老式,而且我们有合理的理由避免暴露它们。在这篇文章中,我将试图总结在Java API中使用数组的缺陷。首先从最出人意料的一个例子开始。 数组导致性能不佳 你可能认为使用 …… 阅读全文
我最近要处理一套存储历史实时数据的大文件fx market data,我很快便意识到,使用传统的InputStream不能够将它们读取到内存,因为每一个文件都超过了4G。甚至编辑器都不能够打开这些文件。 在这种特殊情况下,我可以写一个简单的bash脚本将这些文件分成更小的文件块,然后再读取它。但是我不想这样做,因为二进制格式会使这个方法失效。 处理这个问题的方式通常就是使用内存映射文件 …… 阅读全文
本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力。下面的章节分为上下两篇,第一篇将要讨论面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,第二篇主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet和JSP。 开始! 目录 面向对象编 …… 阅读全文
设计模式读书笔记.pdf:http://pan.baidu.com/s/1sjpWr6l 设计模式读书笔记.chm:http://pan.baidu.com/s/1bnxQuHT 文档中是LZ学习设计模式的知识总结,主要参考《header first》和刘伟老师的PPT,当然其中肯定加入了LZ浅薄的领悟和总结,虽然是站在前人的肩膀上,但里面仍然饱含着LZ的一番心血。 …… 阅读全文
PourOver 是一个用于对大数据集合进行快速过滤的 JavaScript 库。它可以在60fps下运行,允许您构建数据研究应用和档案,即不必等待一个数据库调用来呈现查询结果。PourOver 基于可以彼此任意地构成,而不必重新计算其结果的简单查询的理想。本文链接:PourOver – 快速筛选和排序大的数据集合,转载请注明。 …… 阅读全文
Spark开源的各模块组成结构 …… 阅读全文
1.《Java in a Nutshell》(Java技术手册)与其说是必读书籍,还不说是参考文献。2.《The elements of Java style》(Java编程风格)目标读者就是Java程序员。通过提出一系列的Java从业规则,以及一些标准、惯例和准则,来说明如何有助于编写可靠又易于理解和维护的Java代码。3.《Effective J …… 阅读全文
在开发中大型Java软件项目时,很多Java架构师都会遇到数据库读写瓶颈,如果你在系统架构时并没有将缓存策略考虑进去,或者并没有选择更优的缓存策略,那么到时候重构起来将会是一个噩梦。本文主要是分享了5个常用的Java分布式缓存框架,这些缓存框架支持多台服务器的缓存读写功能,可以让你的缓存系统更容易扩展。1、Ehcache– Java分布式缓存框架Ehcache是一个Java实现的开源分布 …… 阅读全文