小编For*_*ner的帖子

Google Guava缓存的默认最大大小是多少?

鉴于使用下面的代码创建的Guava缓存是否有最大缓存大小,如果没有设置?

LoadingCache<String, String> loadingCache = CacheBuilder.newBuilder().build(new CacheLoader<String, String>() {
    @Override
    public String load(String key) throws Exception
    {
        return key.toUpperCase();
    }
});
Run Code Online (Sandbox Code Playgroud)

在我的情况下,我真的想要一个没有上限的缓存.我正在使用缓存来存储登录用户的权限,并将在用户注销或会话到期时从缓存中逐出项目.

guava

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

Java Antivirus ......有可能吗?怎么样?

是否有可能用Java编写一个防病毒程序,例如它可以拦截程序被执行?我可以在Java中对操作系统进行如此深入的控制吗?

更新:c#怎么样?同样的限制适用或更好的方式?

java antivirus

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

正确设置Maven 3

我该如何正确设置Maven 3?

我的环境:

  • Fedora Linux 16;
  • Java 1.7.0_22
  • Maven 3.0.4

我的.bash_profile

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin:$JAVA_HOME/bin:$M2_HOME/bin
export PATH

JAVA_HOME=/usr/java/jdk1.7.0_02
export JAVA_HOME

M2_HOME=/home/ic/apache-maven-3.0.4
export M2_HOME
Run Code Online (Sandbox Code Playgroud)

当我输入java -version时,系统会显示给我

java version "1.7.0_02"
Java(TM) SE Runtime Environment (build 1.7.0_02-b13)
Java HotSpot(TM) Client VM (build 22.0-b10, mixed mode, sharing)
Run Code Online (Sandbox Code Playgroud)

但是当我键入mvn -v时,它显示我:

bash: mvn: command not found...
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能正确设置Maven 3?

提前致谢!

java fedora maven

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

动态/以编程方式停止/删除路径不会删除相应的线程

在处理从JMS收到的Exchange时,我正在动态创建一个从FTP获取文件到文件系统的路由,当批处理完成后,我需要删除相同的路由.以下代码片段显示了我是如何做到这一点的:

public void execute() {
    try {
        context.addRoutes(createFetchIndexRoute(routeId()));
    } catch (Exception e) {
        throw Throwables.propagate(e);
    }
}

private RouteBuilder createFetchIndexRoute(final String routeId) {
    return new RouteBuilder() {
        @Override
        public void configure() throws Exception {
            from("ftp://" + getRemoteQuarterDirectory() +
                "?fileName=" + location.getFileName() +
                "&binary=true" +
                "&localWorkDirectory=" + localWorkDirectory)
                .to("file://" + getLocalQuarterDirectory())
                .process(new Processor() {
                    RouteTerminator terminator;

                    @Override
                    public void process(Exchange exchange) throws Exception {
                        if (camelBatchComplete(exchange)) {
                            terminator = new RouteTerminator(routeId, 
                                    exchange.getContext());
                            terminator.start();
                        }
                    }
                })
                .routeId(routeId);
            }
        };
}
Run Code Online (Sandbox Code Playgroud)

我正在 …

apache-camel

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

Maven的Spring在线存储库

我刚刚第一次安装了Maven2.

默认情况下,它会将一些有用的jar放入本地项目中:jakarta-commons,junit等.

我想引入最新的Spring版本(在撰写本文时为2.5.6).但是我看到的在线存储库(iBiblio和Maven)只有很多旧版本的Spring库.

是否有其他存储库保持最新?这里的最佳做法是什么; 我们可以自己维护吗?我会准备帮助维护这些东西!

spring maven-2 repository

6
推荐指数
3
解决办法
5万
查看次数

在.NET中是否有生产质量的Google Protocol Buffers实现

标题说出来了!

我知道Jon Skeet正在进行实施,我听到了一个采访(Dot net Rocks?),他暗示这是一个wip

最新页面只显示版本号.那么,现在生产准备好了吗?

谢谢

.net protocol-buffers

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

32位和64位之间的集合实现的差异,我们需要担心的任何陷阱?

我们有一个32位客户端进程,通过CORBA与远程计算机上运行的旧服务器应用程序进行通信.这已经运行良好且可靠了大约12年.

我们需要(暂时)将我们的客户端进程切换到64位以获得更多内存(等待即将重写)并且几乎立即遇到远程应用程序的一些问题.这个过程反复崩溃.最初这没有任何意义,如果远程应用程序使用与CORBA等平台无关的协议,它如何对客户端应用程序VM敏感?

经过几天的调查,我们发现远程进程崩溃与客户端VM无关,但似乎与我们发送的参数排序有关.

我们向服务器发送一组请求的结果类型,这最初取自config并放入HashSet,在最后一分钟转换为数组.服务器应用程序似乎对请求的结果类型的顺序敏感.

例如,如果我们发送PV(0),DELTA(1),NPV(2),GAMMA(3)就可以了.如果我们发送GAMMA(3),PV(0),DELTA(1),NPV(2),远程应用程序崩溃.这似乎是远程应用程序中一个从未暴露过的奇怪错误,因为订单始终是数字(偶然).

它是64位的转换,似乎有所不同,64位版本产生了来自HashSet的不同元素排序.这不是我预期的,但我怀疑HashCodes只是在平台上确定性的.

确保在发送之前对数组进行排序已修复该问题.切换到TreeSet也会有所帮助,但在某个地方的某个库深处.

我们需要担心32位和64位之间还有其他奇怪的问题吗?到目前为止,我对转换的简单程度印象深刻,其他代码根本没有变化.

目前我们正在使用Java 6,而Java 8的迁移迫在眉睫.迁移到Java 8时,我们可以期待类似的问题吗?

java 32bit-64bit java-8

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

覆盖OnPaint

如果我重写OnPaint并在控件上绘制一个正方形,那么当我在设计器中预览时,如何让e.graphics.draw ...出现?

c# designer windows-forms-designer winforms

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

Java for循环创建n个对象

我需要一些帮助.我想创建一个for循环,创建一个类的n个对象,然后将它们添加到一个arraylist中.像这样的东西:

//Player is a custom class 
ArrayList<Player> numberofPlayersArray;
numberofPlayersArray = new ArrayList<Player>();

//n is a variable for the number of Player class objects that I want to create
  for(int i = 0; i < n; i++)
  {

    //this is what I can come up with but I am missing something 

     Player p;
     p = new Player
     numberofPlayersArray.add(p);

    }
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激

java arraylist

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

Apache Camel中的直接处理

我有兴趣找出在Apache Camel中直接处理的最佳方法.

我有几个不同的组件,我可以在同一个JVM中启动,它与我的activemq代理分开.是否有意义尝试设置它以便我的消息从一个组件传递到下一个组件,按顺序阻塞?我将如何设置camel以确保每条消息在下一条消息启动之前到达路径中的每个组件?

更具体一点:我想通过我的brokerURI配置来做到这一点.我看到了这个页面:http: //fusesource.com/wiki/display/ProdInfo/Understanding+the+Threads+Allocated+in+ActiveMQ但我不确定在哪里/如何实现选项 - optimizedDispatch似乎对代理有效destinationPolicy选项.

谢谢

java activemq-classic jms apache-camel

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