我可以在32位计算机上运行64位VMware映像吗?
我用Google搜索了这个,但似乎没有一个确定的答案.
我知道它必须完全模拟并且会像狗一样运行 - 但速度慢并不一定是问题,因为我只是想在64位平台上测试我的一些后台服务代码.
我们都知道我们在Spring容器中默认使用bean作为单例,如果我们有一个基于Spring框架的Web应用程序那么在这种情况下我们真的需要实现Singleton设计模式来保存全局数据而不是仅仅通过spring创建一个bean .
如果我无法解释我其实想要问的问题,请耐心等待.
我在*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)
澄清:这个问题是关于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可能会UnsupportedEncodingException在使用"UTF-8"编码时抛出,或者我可以安全地抑制它的抛出?
有一个常见的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可能比上面例子的字面翻译更好.
有没有更优雅的方法来实现这一目标?
我正在使用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)
这影响了一切 - 不是一个好的副作用.谷歌没有帮助.有人可以帮忙吗?
我正在使用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配置来实现这一点?
考虑这个简短的片段:
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]?
另外,如果我们忽略错误,您能否提供一个用例来说明此类型定义可能存在的问题?
我有一个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)