小编Ale*_*rov的帖子

我可以在32位计算机上运行64位VMware映像吗?

我可以在32位计算机上运行64位VMware映像吗?

我用Google搜索了这个,但似乎没有一个确定的答案.

我知道它必须完全模拟并且会像狗一样运行 - 但速度慢并不一定是问题,因为我只是想在64位平台上测试我的一些后台服务代码.

virtualization vmware 64-bit virtual-machine

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

Singleton设计模式与Spring容器中的Singleton bean相比

我们都知道我们在Spring容器中默认使用bean作为单例,如果我们有一个基于Spring框架的Web应用程序那么在这种情况下我们真的需要实现Singleton设计模式来保存全局数据而不是仅仅通过spring创建一个bean .

如果我无法解释我其实想要问的问题,请耐心等待.

java singleton spring containers

87
推荐指数
6
解决办法
12万
查看次数

如何创建一个屏幕,执行给定的命令?

我在*nix中相当新.有没有办法创建一个屏幕,它将立即执行给定的命令序列(使用自己的参数)?两个小时的谷歌搜索没有产生任何结果 - 也许是因为我无法清楚地说出这个问题.

我希望有类似的东西

screen -dmS new_screen exec "cd /dir && java -version"
Run Code Online (Sandbox Code Playgroud)

我使用的是屏幕v4.00.03和CentOS 5.5(内核版本2.6.18-194.26.1.el5.028stab079.2)

gnu-screen

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

带嵌入式服务器的JAX-RS

澄清:这个问题是关于GZIPping基于JAX-WS的REST服务,但我决定改变主题以便更容易找到

我正在通过JAX-WS实现REST服务Provider <Source>,并使用标准发布它Endpoint(原因是我想避免使用servlet容器或应用程序服务器).

有没有办法使服务器gzip响应内容,如果Accept-Encoding: gzip存在?


如何

nicore实际提供的示例工作,它允许您在没有servlet容器的嵌入式轻量级服务器之上制作JAX-RS样式的服务器,但是几乎没有时间可以考虑.

如果您希望自己管理类(并在启动期间节省时间),则可以使用以下命令:

JAX-RS你好世界级:

@Path("/helloworld")
public class RestServer {

    @GET
    @Produces("text/html")
    public String getMessage(){
        System.out.println("sayHello()");
        return "Hello, world!";
    }
}
Run Code Online (Sandbox Code Playgroud)

主要方法:

对于简单服务器:

public static void main(String[] args) throws Exception{
    DefaultResourceConfig resourceConfig = new DefaultResourceConfig(RestServer.class);
    // The following line is to enable GZIP when client accepts it
    resourceConfig.getContainerResponseFilters().add(new GZIPContentEncodingFilter());
    Closeable server = SimpleServerFactory.create("http://0.0.0.0:5555", resourceConfig);
    try {
        System.out.println("Press any key to stop the service...");
        System.in.read();
    } …
Run Code Online (Sandbox Code Playgroud)

java rest jax-rs embedded-server

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

Java UTF-8 Charset异常可能吗?

Java可能会UnsupportedEncodingException在使用"UTF-8"编码时抛出,或者我可以安全地抑制它的抛出?

java exception utf-8 character-encoding

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

Scala有更好的方式来表达"自递归泛型类型"吗?

有一个常见的Java习惯用法(Enum例如见过)来声明一个必须与实际派生类型匹配的泛型类型变量.

class Enum<E extends Enum<E>> {
...
}
Run Code Online (Sandbox Code Playgroud)

或者,如果需要更多通用参数:

abstract class Foo<T, Actual extends Foo<T, Actual>> {
    //now we can refer to the actual type
    abstract Actual copy();
}
class Concrete<T> extends Foo<T, Concrete<T>> {
    Concrete<T> copy() {...}
}
Run Code Online (Sandbox Code Playgroud)

事情可以很快变得非常冗长,所以我想象Scala可能比上面例子的字面翻译更好.

有没有更优雅的方法来实现这一目标?

generics recursion scala type-safety

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

关闭Hibernate c3p0的日志记录

我正在使用Hibernate的c3p0连接池和标准Java 1.4 java.util.logging.启动时,我的应用程序在static块中设置它的日志记录属性(包括格式化程序和日志级别).每次我启动我的应用程序时,都会看到以下内容:

2011-04-16 17-43-51 [com.mchange.v2.log.MLog] INFO: {MLog.<clinit>) MLog clients using java 1.4+ standard logging.
2011-04-16 17-43-51 [com.mchange.v2.c3p0.C3P0Registry] INFO: {C3P0Registry.banner) Initializing c3p0-0.9.1 [built 16-January-2007 14:46:42; debug? true; trace: 10]
2011-04-16 17-43-51 [com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource] INFO: {AbstractPoolBackedDataSource.getPoolManager)
...
Run Code Online (Sandbox Code Playgroud)

我试过了

Logger.getLogger("com.mchange").setLevel(Level.WARNING);
com.mchange.v2.log.MLog.getLogger().setLevel(MLevel.WARNING);
System.setProperty("com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL", "WARNING");
Run Code Online (Sandbox Code Playgroud)

但是我现在发现的唯一可以防止它的方法是

Logger.getLogger("").setLevel(Level.WARNING);
Run Code Online (Sandbox Code Playgroud)

这影响了一切 - 不是一个好的副作用.谷歌没有帮助.有人可以帮忙吗?

java logging hibernate c3p0

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

将属性传递给Spring上下文

我正在使用Spring来处理对某些远程服务器的RMI调用.构建应用程序上下文并从客户端获取远程调用的bean是很简单的:

ApplicationContext context = new ApplicationContext("classpath:context.xml");

MyService myService = (MyService ) context.getBean( "myService " );
Run Code Online (Sandbox Code Playgroud)

但是,我没有看到将属性传递到配置的简单方法.例如,如果我想在客户端的运行时确定远程服务器的主机名.

理想情况下,我在Spring上下文中有一个条目,如下所示:

<bean id="myService" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
  <property name="serviceUrl" value="rmi://${webServer.host}:80/MyService"/>
  <property name="serviceInterface" value="com.foo.MyService"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

并将属性作为参数从客户端传递给上下文.

我可以在上下文中使用PropertyPlaceholderConfigurer来替换这些属性,但据我所知,这仅适用于从文件中读取的属性.

我有一个实现解决这个问题(作为答案添加),但我正在寻找一个标准的Spring实现,以避免我自己.是否有另一个Spring配置程序(或其他任何东西)来帮助初始化配置,或者我最好看看java配置来实现这一点?

java spring rmi

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

Scala类型成员差异

考虑这个简短的片段:

trait Table[+A] {
  type RowType = Seq[A]
}
Run Code Online (Sandbox Code Playgroud)

Scala 2.11.7编译器给出以下错误:

covariant type A occurs in invariant position in type Seq[A] of type RowType
Run Code Online (Sandbox Code Playgroud)

为什么被A认为处于不变的位置,Seq[A]Seq它本身被定义为trait Seq[+A]

另外,如果我们忽略错误,您能否提供一个用例来说明此类型定义可能存在的问题?

scala variance higher-kinded-types

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

Java ExecutorService invokeAll()中断

我有一个ExecutorService宽度为10 的固定线程池,以及一个100的列表Callable,每个等待20秒并记录它们的中断.

invokeAll在一个单独的线程中调用该列表,几乎立即中断该线程.ExecutorService执行被按预期中断,但Callables 记录的实际中断数远远超过预期10 - 大约20-40.为什么这样,如果ExecutorService可以同时执行不超过10个线程?

完整来源:(由于并发,您可能需要运行一次)

@Test
public void interrupt3() throws Exception{
    int callableNum = 100;
    int executorThreadNum = 10;
    final AtomicInteger interruptCounter = new AtomicInteger(0);
    final ExecutorService executorService = Executors.newFixedThreadPool(executorThreadNum);
    final List <Callable <Object>> executeds = new ArrayList <Callable <Object>>();
    for (int i = 0; i < callableNum; ++i) {
        executeds.add(new Waiter(interruptCounter));
    }
    Thread watcher = new Thread(new Runnable() {

        @Override
        public void run(){
            try { …
Run Code Online (Sandbox Code Playgroud)

java concurrency multithreading executorservice

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