我有以下情况:
我java
在本地计算机上运行了2个JVM进程(实际上有2个进程单独运行,而不是2个线程).我们称他们ProcessA
为ProcessB
.
我希望他们彼此沟通(交换数据)(例如ProcessA
发送消息来ProcessB
做某事).
现在,我通过编写临时文件解决此问题,这些进程会定期扫描此文件以获取消息.我认为这个解决方案并不是那么好.
什么是实现我想要的更好的选择?
请假设我不需要担心开发时间和成本:我对一般技术优势(改进的性能?改进的API?)和新功能感兴趣.
我目前正致力于使用4.2.x的产品,我们认为对于需要很长时间才能收敛的版本来说,这是一个重大转变.
我简要介绍了每个版本的发行说明以及有关5.x,6.x,7.x和8.x的每个版本的一些文章.但我很乐意得到那些做出转变的人的第一手反馈.
我注意到围绕消息传递有一些重要的变化(从JBoss MQ切换到JBoss Messenging),而对于JBoss 7.x,它似乎改变了它的配置层.然后在切换到JBoss/WildFly 8.x时会有更多的事情发生.
如果可以的话,请推荐指出陷阱的好文章.我找到了一些迁移到JBoss 5.x的东西,但是对于6.x甚至7.x没有那么多,而其他人现在正在为我们评估8.x. 如果您认为它们是相关的,请随意推荐替代品,但我更愿意只关注JBoss.
有关信息,我们使用基于插件的JPF和OSGi(使用Eclipse Equinox)系统,以及在Swing中开发的客户端(一些通过WebStart部署).
更新:虽然这个问题已经给出了一些很好的答案,但我认为它值得对WildFly进行更新(实际上,我们的内部项目推迟了从原先计划等待WildFly的4.2.x切换到7.x).欢迎新的想法和答案.
JVM实现在哪里不同(许可除外)?每个JVM是否都为通用处理实现Type Erasure?
两者之间的区别在哪里:
.....使用Tail-Call-Optimization处理其中一个?
我想用Java读取文件夹中的所有图像.
时间:我在Java应用程序中按下一个按钮,
它应该:
如何进行?
我有读取图像的代码以及文件夹中的所有图像,但我上面讲的内容是如何完成的?
欢迎任何建议或帮助!请提供参考链接!
我对Scanner有一种奇怪的行为.它将使用我在使用Scanner(FileInputStream)
构造函数时使用的一组特定文件,但它不会与Scanner(File)
构造函数一起使用.
Scanner(File)
Scanner s = new Scanner(new File("file"));
while(s.hasNextLine()) {
System.out.println(s.nextLine());
}
Run Code Online (Sandbox Code Playgroud)
结果:没有输出
Scanner(FileInputStream)
Scanner s = new Scanner(new FileInputStream(new File("file")));
while(s.hasNextLine()) {
System.out.println(s.nextLine());
}
Run Code Online (Sandbox Code Playgroud)
结果:文件内容输出到控制台.
输入文件是包含单个类的java文件.
我以编程方式(在Java中)仔细检查:
Scanner(File)
在这种情况下通常适合我,我不知道为什么现在没有.
当我在分析项目中的代码时,我遇到了这种情况.我有一个带有完整字符串常量声明的接口,如下所示
public interface SampleInterface {
String EXAMPLE_ONE = "exampleOne";
String USER_ID = "userId";
public void setValue();
}
Run Code Online (Sandbox Code Playgroud)
如果任何类实现此SampleInterface
接口,它声明的变量会发生什么?
另外,最好的策略是什么:
到目前为止我所能找到的是这个(开放的)Sun bug/RFE条目,获得426 506票:
http://bugs.sun.com/view_bug.do?bug_id=6530906
它在RFE列表中位居第三.
很多人都表示它将被包含在Java 7中......但是有没有人有关于是否包含MiGLayout的任何明确信息?
回答
嗯,似乎Chad有一个观点 - 它不在任何地方的官方列表上,时间肯定会消失,所以除非发生重大事件,否则可以说MiGLayout显然不会包含在Java 7中,尽管有426票来自社区.太糟糕了.
我倾向于通过学生或寻找资源的同事提出这些问题,所以我想要更明确的参考.不妨与社区分享.
Java内存模型是如何表示的,它的特征是什么?
垃圾收集如何在一般和最常见的JVM中工作?
如何测试和调整Java应用程序的性能?
在我的公司,我们下载并启动了一个与JRE 1.6.0_20绑定的JNLP应用程序.我们使用系统缓存功能下载JAR.
当我们在PC上安装JRE 1.7时,WebStart无法启动.当我们启用日志时,我们会看到以下异常:
java.lang.ExceptionInInitializerError
at com.sun.deploy.net.protocol.https.Handler.openConnection(Unknown Source)
at java.net.URL.openConnection(Unknown Source)
at com.sun.deploy.net.BasicHttpRequest.createUrlConnection(Unknown Source)
at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
at com.sun.deploy.net.BasicHttpRequest.doGetRequestEX(Unknown Source)
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCachedFile(Unknown Source)
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassCastException: sun.security.ssl.X509TrustManagerImpl cannot be ast to com.sun.net.ssl.internal.ssl.X509ExtendedTrustManager
at com.sun.deploy.security.X509ExtendedDeployTrustManager.<init>(Unknown Source)
at com.sun.deploy.net.protocol.https.Handler$Initializer$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.net.protocol.https.Handler$Initializer.<clinit>(Unknown Source)
... 16 more
Run Code Online (Sandbox Code Playgroud)
有一个已知的解决方法吗?
JSON.parse
现代浏览器是否在eval()
内部用于评估和执行动态代码?
因为我一直在浏览Douglas Crockford的JSON库.它也在eval()
使用parse()时使用,但在实际评估之前进行预处理.如:-
支持JSON.parse的现代浏览器本身是执行此操作还是遵循其他协议?