`
wxl24life
  • 浏览: 293235 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
本文来源于实际项目。 项目需求:某段逻辑需要过滤注册用户,而每时每刻都可能会有新的注册用户加入进来。注册用户的存在与否是通过查询数据库表中是否存在记录判断的。由于不希望频繁的读数据库表,所以考虑定时从数据库加载一份用户列表到内存里,这样可以减少读库的次数并且可以提高查询的效率。   过滤用户逻辑代码简单抽象成下面的测试代码。 package test.java; import java.util.HashMap; import java.util.Map; import java.util.concurrent.ExecutorService; import java.u ...
先看一段代码: public class Locale { private final static Map<String, Locale> map = new HashMap<String,Locale>(); public static Locale getInstance(String language, String country, String variant) { //... String key = some_string; Locale locale = map.get(key); if (locale == ...
  本文副标题:解决 NoSuchMethodError 异常 java.lang.NoSuchMethodError: org.slf4j.MDC.getCopyOfContextMap()Ljava/util/Map -------------------------------------------------------   今天在一台机器上配置完 spring-activemq 后,可以无障碍的运行测试代码。但是,完全相同的代码提交后在另一台机器死活跑不通。主要的错误堆栈信息如下 Caused by: java.lang.NoSuchMethodError: org.sl ...
Effective Java 这本书的价值有多高想必搞Java的人都应该了解。我把它当做一本工具书,在工作之余拿出来读,收获很大。你会发现这本书几乎涵盖了 Java 语言规范的所有知识点,很多语言相关的问题你都可以在这里找到一段解释。印象最深的是,上周末在读某源码时被它里面到处使用的 static member class 吸引住了,然后纠结为什么要用 static,在网上各种搜罗资料,最后在 StackOverflow 上某个问答下看到原来在Effective Java这本书的 Item 22 就是讲 Java 的 集中 member class 的。我心想,这本书我几乎每天都会翻两眼的,怎么 ...
  翻译前序: 最近一年越来越多的尝试阅读英文书籍,很少读中文版的主要原因是,读着别人翻译的文字总是习惯性的觉得拗口。一直想知道将英文文章翻译成中文是一种什么样的感觉,今晚试着翻完了 Paul Graham 主页上的 PROGRAMMING FAQ [1]。最大的体会是,翻译真心是个苦差事,因为你不仅需要理解原文还要想方设法组织好语言用词。所以说,中文版书籍翻译的差不要紧,咱可以不读,但是还是应该尊重译者的劳动成果少点骂声的。 [1] http://paulgraham.com/pfaq.html 瞎翻,轻拍 -_-!!! ----------------------- ...
平时接触 Java 文件操作的机会不多,所以对 Java 文件读写相关的API不太熟悉。今天在项目里处理一段逻辑时需要按行读文件,所以在这里简单的把代码贴一下。以后有时间再细细研究相关API。 按行读文件的操作包含3个步骤: 1. 用FileInputStream打开一个文件 2. InputStreamReader逐个读取 stream 中的字符 3. 调用BufferedReader#readLine()逐行取出 代码如下(省略异常处理) InputStream fis; BufferedReader br; String line; fis = ne ...
某次 svn 提交前对工程中的文件做了修改、删除、移动等操作,提交时出现了下面的错误提示框: Transaction is out of date svn: Commit failed (details follow): svn: 过期: ”/your-path“在事务“6148-1” 解决办法是: 在 Eclipse 的 Package-Explorer 视图下,选中工程文件夹,右键->Team->更新 之后再提交就OK了。 参考来源: [1] How do I avoid “svn: Out of Date:” problems? http://stackoverflo ...
Spring版本2.5.5,JUnit 版本 4.8.1,使用了Spring TestContext 的 SpringJUnit4ClassRunner。一直使用这个版本的JUnit,在写简单的测试时不会抛错,直到今天开始尝试写规范的JUnit测试代码,抛出了如下的错误:   java.lang.NoClassDefFoundError: org/junit/Assume$AssumptionViolatedException at org.springframework.test.context.junit4.SpringMethodRoadie.runTestMethod( ...
下载了 maven 工具,准备在 cmd 下使用 mvn 构建 maven 工程时,提示连接出错。花了几分钟 bing 了一番(google 服务最近不稳定,发现 bing 是个不错的替代品~ 对了,用 bing 的时候关键词如果是英文,记得尽量使用英文搜索),最后还是 StackOverFlow [1] 上找到了答案。   解决方法很简单,只需要修改 maven 路径下的 conf/settings.xml 文件。   默认的 proxy 代理配置(apache-maven-2.2.1)如下:   <!-- proxies | This is a list of pr ...
按照官方文档入门向导[1],走到第二步就出问题了。 $ git push origin master 按照提示输入 username 和 password 后,反复报同一个错误: “fatal: https://github.com/xxx/helloworld.git/info/refsnot found:did you run git update-server-info on the server?” 是的,我尝试了各种方法试图解决这个错误,通过 google 找到 stackoverflow 上的问答页[2],反复检查 url、username、p ...
简单的说,TDB是Jena提供的两个subsystem之一,另外一个叫做SDB。TDB使用triple store的形式对RDF数据提供持久性存储(persistent store), SDB则支持使用传统的关系数据库存储RDF数据。详细介绍可以参考Apache Jena页面http://jena.staging.apache.org/ ...
最近在研究的开源工具包下提供了几个command line工具,通常在/bin目录下提供的是shell script,为了多系统下运行的方便(主要是win),通常也会提供/bat目录,其中包含了与/bin下shell script对应重写后的.bat批处理文件。针对shell script ...
Win7+Ubuntu双系统,对硬盘重新分区后启动不了,提示 grub rescue> 起因是这样的: C盘空间太小,想从D盘分配出一块空间以对C盘进行扩充。要实现容量扩充,现有的分区软件需要按照如下的步骤展开: (1)在D盘前free掉一块空间S (2)在S上创建新的分区(格式同C盘) (3)Merge C & S 我先做了前两个步骤,重启电脑的时候出现了前面的问题。 解决方法参考了 「Ubuntu启动问题以及Grub Rescue修复方法」,顺利解决。我把解决方案总结到这里: 先说一下为什么会导致上面的引导错误。道理很简单,原来ubuntu位于 ...
下面主要以Java中一维数组为例,说明Java中数组的用法。 先看一段代码: public class ArrayTest { private int[] arr; public ArrayTest(int[] a){ int i; for(i = 0; i < a.length; i++){ arr[i] = a[i]; //对成员数组初始化赋值 } } public static void ...
Huffman算法是一种用来构造最优前缀码(Huffman编码)的贪心算法。Huffman编码是一种被广泛应用而且有效的数据压缩技术,它主要针对字符文件的压缩。 Huffman算法可能产生具有不同编码的最优前缀码,这句话需要这么理解:最优 ...
Global site tag (gtag.js) - Google Analytics