小编Jor*_*orn的帖子

Guice:绑定具有不同依赖关系的多个对象

我使用Guice绑定有以下代码:

public class MyApplication {
    public static void main(String[] args) {
        Guice.createInjector(new AbstractModule() {
            @Override
            protected void configure() {
                bind(Foo.class).annotatedWith(Names.named("first")).toInstance(new Foo("firstFoo"));
                bind(Foo.class).annotatedWith(Names.named("second")).toInstance(new Foo("secondFoo"));

                bind(Bar.class).to(BarImpl.class);

                bind(MyApplication.class).asEagerSingleton();
            }
        });
    }

    private @Named("first") Bar first;
    private @Named("second") Bar second;

    static @Value class Foo { String name; }
    static interface Bar {}

    static class BarImpl implements Bar {
        @Inject @Named Foo foo;
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试为我的应用程序中注入的Bar两个命名Foos 获取一个对象.基本上,它应该以某种方式将@Namedon Foo与on on 连接起来Bar.我尝试了几种解决方案,从@Named一切到写自定义Provider.后者不起作用,因为我无法访问@Named提供程序中的注释值.我认为解决方案就在某个方面 …

java guice

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

使用HTML5通知激活浏览器选项卡

我正在使用HTML5 Notification API在新内容可用时显示消息.我想显示浏览器选项卡,该选项卡会在用户单击邮件时激活通知,但我无法找到API来执行此操作.我确实找到了Page Visibility API,但它似乎只在标签更改时发送事件,而不允许我激活标签.

是否可以像这样控制浏览器,还是根本不允许?

browser html5 notifications web-notifications

4
推荐指数
1
解决办法
962
查看次数

具有多个主类的Gradle应用程序插件

我正在使用gradle“应用程序”插件启动我的应用程序。这很好。现在,我想添加选项以在同一项目中启动另一个主类。我可以更改插件的配置以允许吗?

apply plugin: 'application'

mainClassName = "net.worcade.my.MainClass"
Run Code Online (Sandbox Code Playgroud)

java gradle

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

tomcat中的logback配置

我在 Tomcat 7 中运行两个 Web 应用程序。

Tomcat 有一个logback-access.xml,它定义了两个附加程序。

我可以看到它在启动 tomcat 时被拾取,并且附加程序配置已正确解析。

我的问题是,如何让 web 应用程序使用其中定义的附加程序?

我尝试将<logger><root>元素放入logback-access文件中,但这会产生错误:

[logger] 没有适用的操作,当前 ElementPath 是 [[configuration][logger]]

, 和root类似appender-ref

我尝试将一个logback.xml文件放入我的战争文件中,既是WEB-INF/classes又是WEB-INF,但它似乎没有被拾取。

那么,我应该如何正确配置呢?

Tomcat中logback-access.xml的:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <append>true</append>
        <file>${catalina.base}/logs/my=app.log</file>
        <encoder>
            <pattern>combined</pattern>
        </encoder>
    </appender>

    <appender name="STASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>localhost:5044</destination>

        <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
            <providers>
<!-- cut specific config -->
            </providers>
        </encoder>
    </appender>
</configuration>
Run Code Online (Sandbox Code Playgroud)

在:logback.xmlWEB-INF/classes

<?xml version="1.0" …
Run Code Online (Sandbox Code Playgroud)

java logging tomcat logback tomcat7

4
推荐指数
1
解决办法
1万
查看次数

BigInteger.valueOf()对于非常大的数字?

在Java中将50位数字符串转换为BigInteger的最佳方法是什么?它没有valueOf(String)方法,我无法转换为Long,因为它太小了.

java parsing biginteger

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

那里有javax.imageio的好替代品吗?

我正在寻找javax.imageio包的一个很好的替代品,它允许我对图像进行简单的旋转,切割和缩放操作.例如,我想做

int angle, height, width;
image.rotateRight(angle).scale(height, width);
Run Code Online (Sandbox Code Playgroud)

为了获得向右旋转角度并向下缩放到高度 x 宽度像素的图像.

使用Graphics2D和BufferedImages,我将不得不这样做,这既不易读也不易写:

BufferedImage result = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = result.createGraphics();
graphics.translate(height/2, width/2);
graphics.rotate(angle);
graphics.translate(-width/2, -height/2);
graphics.drawImage(image, 0, 0, width, height, null);
Run Code Online (Sandbox Code Playgroud)

(实际上,该代码甚至不能解释非方形图像,这将要求我在翻译时做更多的魔术).

java javax.imageio

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

Java VM突然没有明显的原因退出

我有一个问题,我的Java程序突然退出,没有任何异常抛出或程序正常完成.

我正在编写一个程序来解决Project Euler的第14个问题.这就是我得到的:

private static final int INITIAL_CACHE_SIZE = 30000;
private static Map<Long, Integer> cache = new HashMap<Long, Integer>(INITIAL_CACHE_SIZE);

public void main(String... args) {
    long number = 0;
    int maxSize = 0;

    for (long i = 1; i <= TARGET; i++) {
        int size = size(i);
        if (size > maxSize) {
            maxSize = size;
            number = i;
        }
    }
}
private static int size(long i) {
    if (i == 1L) {
        return 1;
    }
    final int …
Run Code Online (Sandbox Code Playgroud)

java jvm

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

如何从Java中的Matcher获得几个正则表达式组?

我有一个Java程序,它执行一些字符串匹配.我正在寻找\d+x\d+在String 中匹配的任何东西.这可以使用PatternMatcher类.但是,要解析String我找到的部分,我必须手动解析String我得到的Matcher.find()Matcher.group().我怎么能告诉Pattern我我正在寻找某种形式的东西(\d+)x(\d+)并让Matcher它们分别归还这些群体?因此,我想要获得两个字符串"1"和"23",而不是字符串"1x23".

java regex matcher

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

使对象不可变的可能方法

我正在寻找一种有效的方法来构建一个不可变的类,就像Java的String类一样.

java immutability

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