小编ash*_*aka的帖子

Injector.getInstance(..)返回单例的新实例

我的模块:

bind( Translator.class ).to( TranslatorImpl.class ).in( Scopes.SINGLETON );
Run Code Online (Sandbox Code Playgroud)

现在我希望每次都能得到相同的实例

Injector injector = ...;
injector.getInstance( Translator.class );
Run Code Online (Sandbox Code Playgroud)

但如果我这样做

injector.getInstance( TranslatorImpl.class );
Run Code Online (Sandbox Code Playgroud)

我每次都会得到一个新实例.这是一个错误还是预期的行为?

java dependency-injection guice

8
推荐指数
1
解决办法
5288
查看次数

静态方法使Java成为伪函数式语言?

我一直在考虑Misko Hevery 发表的一篇文章,即Java中的静态方法是可测试性死亡.我不想讨论可测试性问题,而是讨论静态方法的概念.为什么人们如此讨厌它?

确实,我们没有闭包(但我们有一个稍微尴尬的匿名函数),lambda和函数作为第一类对象.在某种程度上,我认为静态方法可以用来模拟作为第一类对象的函数.

java closures functional-programming

7
推荐指数
1
解决办法
2303
查看次数

在普通的java中拆分包

OSGi存在拆分包的问题,​​即相同的包但托管在多个包中.

是否有任何边缘情况,拆分包可能会在普通java(没有OSGi)中造成问题?

只是好奇.

java osgi packages

6
推荐指数
2
解决办法
3467
查看次数

有没有办法告诉maven在哪里摆放文物?

我在m2eclipse插件,windows命令行和我的cygwin命令行中运行maven.

cygwin的bash shell将工件转储到cygwin /home/me/.m2目录中

但是m2eclipse和windows shell(在vista上)使用/Users/me/Documents/.m2

是否可以告诉mvn命令使用一个中央.m2目录?

谢谢

java cygwin maven-2

5
推荐指数
2
解决办法
6074
查看次数

从2个不同的war文件中访问相同的ehcache

我有2个不同的webapps(包装到不同的war文件中),需要通过缓存(ehcache)共享一些数据.我想和你一起测试这个想法,看看它是否有效.

我的想法是创建一个服务来引导/访问jar中的ehcache和包.然后将那个罐装入两场战争中:

  • WAR1:ehcache-service.jar
  • WAR2:ehcache-service.jar

ehcache会在这样的配置下工作吗?

java ehcache

5
推荐指数
1
解决办法
4936
查看次数

为什么对于 Thread 的子类吞下 InterruptedException 是可以的?

在 Brian Goetz关于如何处理 InterruptedException文章中,有一段很突出:

吞下中断是可以接受的一次是当您知道线程即将退出时。这种情况只发生在调用可中断方法的类是线程的一部分而不是 Runnable 时。

我不明白这个。原因是否与 Runnable 可能由线程池处理而 Thread 是您自己开始的事情有关?

java concurrency multithreading exception-handling

5
推荐指数
1
解决办法
1451
查看次数

在subversion中移动目录

我继承了一个subversion repo,看起来像这样:

HTTPS://富/产品/ SRC

我想让它更像:

将./src移动到./trunk/src会保留历史吗?我还想确保其他开发人员不要因为这样做而诅咒我.这样做会产生意想不到的后果吗?我希望开发人员只做一个简单的repo目录重定位.

谢谢

svn version-control

3
推荐指数
1
解决办法
367
查看次数

在servlet容器中启动线程池

我有一个servlet S来处理来自第三方站点的回调.

回调调用以特定顺序发生.因此,我需要排队.

我建议使用内存中的队列

java.util.ConcurrentLinkedQueue
Run Code Online (Sandbox Code Playgroud)

所以逻辑看起来像这样:

  • Servlet S接收回调并将收到的项目排队到队列Q.
  • 到这时,托管servlet S实例的线程将终止.
  • 消费者线程从Q读取并按顺序处理每个消息.

据我了解,Servlet S的每个实例都在自己的Thread中执行.

如何为将为队列提供服务的整个webapp(war)创建单个Consumer Thread?基本上我需要单例实例:

  1. 线程池
  2. 的ConcurrentLinkedQueue

multithreading tomcat servlets

3
推荐指数
1
解决办法
7649
查看次数

BEFORE或AFTER触发器用于维护审核日志

我一直在创建触发器页面上阅读MySql 5.0注释流 ,我想询问社区是否建议是否良好以及它们是否仍然适用于5.1.我今天注意到使用触发器的原因是使用AFTER UPDATE更新旧表中的字段是不可能的.

  1. BEFORE触发器要小心.可能会出现约束,特别是如果您使用InnoDB引擎,其中插入将失败,但BEFORE触发器中的操作将成功.
  2. 使用BEFORE触发器主要用于约束或规则,而不是事务,调整NEW.*列应该没问题.
  3. 坚持使用AFTER触发器进行大多数其他操作,例如插入历史表或更新非规范化.

mysql triggers

3
推荐指数
1
解决办法
7309
查看次数

单独的解码/编码接口或在一个接口中

我正在创建一个执行从一种形式到另一种形式的转换.

我现在面临的设计问题是编码器和解码器API是应该在一个接口中还是在单独的接口中.例如,Apache MINA使用单独的接口

我目前正在做这样的事情:

interface Convertor
{
    A encode( B b );

    B decode( A a );
}
Run Code Online (Sandbox Code Playgroud)

将它们放在一个界面中的基本原理是,您可以集中实现并在一个地方修复任何协议更改.有什么想法吗?

java oop api fluent-interface

3
推荐指数
1
解决办法
930
查看次数

查看作为Map但其中键可以是值的数据结构,值可以是键

一个地图从键映射到值,并提供了基于密钥的知识快速访问.

是否存在像Maps这样的数据结构,它支持关键访问的价值和价值的关键?有时我可能想要通过值来反映地图,而其他时候则通过键来反驳.

java algorithm map data-structures

2
推荐指数
2
解决办法
493
查看次数