我考虑过创建一个Vertices表和一个Edges表,但是在内存中构建图形并遍历子图需要大量的查找?我想避免过多的数据库读取.有没有其他方法可以持久保存图表?
旁注:我听说过Neo4j,但我的问题是如何在概念上代表标准数据库中的图形.我对mongodb等NoSQL解决方案持开放态度.
例如,如何确定我的简单JBoss 4.2.3服务器正在侦听端口8080?
这是我能够来的最接近的,但这不起作用:
MBeanServerConnection server = (MBeanServerConnection)new InitialContext()
.lookup("jmx/rmi/RMIAdaptor");
ObjectName on = new ObjectName(
"jboss:readonly=true,service=invoker,target=Naming,type=http");
String port = (String)server.getAttribute(on, "InvokerURLSuffix");
Run Code Online (Sandbox Code Playgroud) 我花了很多时间修改我的Java代码样式设置是我喜欢的方式.
例如,转到Windows -> Preferences -> Java -> Code Style -> Clean Up / Formatter / Code Templates.
我设置eclipse使用空格而不是tab chars,自定义java文件顶部的标题,以及一大堆其他东西.
现在我正在使用另一台计算机,并且必须安装Eclipse Helios的新副本.
是否有可以重复使用的文件或文件集,所以我不必每次都设置这个文件?
我试图计算我的Java程序可用的内存量.我有这个当前的实现:
long getAvailableMemory() {
Runtime runtime = Runtime.getRuntime();
long totalMemory = runtime.totalMemory();
long freeMemory = runtime.freeMemory();
long maxMemory = runtime.maxMemory();
long usedMemory = totalMemory - freeMemory;
long availableMemory = maxMemory - usedMemory;
return availableMemory;
}
Run Code Online (Sandbox Code Playgroud)
是对的吗?是否有更简单/更准确的方法来计算这些信息?看了别人的代码后,我看到了类似的东西,略有不同:
long getAvailableMemory() {
long totalVmHeap = Runtime.getRuntime().totalMemory();
long freeVmHeap = Runtime.getRuntime().freeMemory();
long usedVmHeap = totalVmHeap - freeVmHeap;
long maxVmHeap = Runtime.getRuntime().maxMemory();
long availableVmHeap = maxVmHeap - usedVmHeap + freeVmHeap;
return availableVmHeap;
}
Run Code Online (Sandbox Code Playgroud)
无论如何,获取这些信息的正确方法是什么?
我似乎没有从Windows上的subprocess.call获取正确的退出代码.
import subprocess
exit_code = subprocess.call(['ant.bat', 'fail'])
print exit_code # prints 0
Run Code Online (Sandbox Code Playgroud)
在Windows上做同样的事情似乎返回0以外的东西
> echo %errorlevel%
0
> ant fail
> echo %errorlevel%
1
Run Code Online (Sandbox Code Playgroud)
两个调用的值不应该给出相同的值吗?难道我做错了什么?
在最坏的情况下,如何在我的python脚本中检查%errorlevel%的值?
更新:
我试过这样的东西来获取errorlevel值:
environment = os.environment.copy()
cmd = subprocess.Popen(['ant.bat', 'fail'], env = environment)
for key, value in environment.items():
print '%s = %s' % (key, value)
Run Code Online (Sandbox Code Playgroud)
但是我没有在该字典中看到errorlevel(os.getenv ['errorlevel']也失败了).
我想使用src/main/javascript作为我的javascript文件的源目录,同时仍然使用src/main/webapp来处理大多数其他web文件,但maven jetty:run plugin默认情况下不知道这个目录.
以下是到目前为止,但它似乎并没有让Jetty知道我的javascript目录:
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.12</version>
<configuration>
<webAppConfig>
<contextPath>/${project.artifactId}</contextPath>
<extraClasspath>target/classes/:src/main/javascript</extraClasspath>
</webAppConfig>
<webResources>
<resource>
<directory>src/main/webapp</directory>
<directory>src/main/javascript</directory>
</resource>
</webResources>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
如何让maven jetty插件知道这个addtional web目录?