我想从我的程序运行一个shell脚本,但它似乎没有做任何事情.我在linux终端直接运行相同的命令,它工作正常,所以我猜它是我的java代码.正如您所看到的,我首先使用PrintWriter将命令写入shell脚本,但我希望这不会影响shell脚本本身的运行.任何帮助,将不胜感激!
public static void main(String[] args) {
// TODO Auto-generated method stub
String nfdump = "nfdump -o csv -r /home/shane/Documents/nfdump/nfcapd.201211211526>blank.txt";
try {
FileWriter fw = new FileWriter("/home/shane/Documents/script.sh");
PrintWriter pw = new PrintWriter(fw);
pw.println("#!/bin/bash");
pw.println(nfdump);
pw.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Process proc = null;
try {
proc = Runtime.getRuntime().exec("sh /home/shane/Documents/script.sh");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud) 我有一个WPF应用程序,可以在大型数据集中进行大量匹配,目前它使用C#和LINQ来匹配POCO并在网格中显示.随着所包含数据集的数量增加,数据量增加,我被要求查看性能问题.我今天晚上测试的一个假设是,如果我们将一些代码转换为C++ CLI,是否存在实质性差异.为此,我编写了一个简单的测试,创建了List<>5,000,000个项目,然后做了一些简单的匹配.基本对象结构是:
public class CsClassWithProps
{
public CsClassWithProps()
{
CreateDate = DateTime.Now;
}
public long Id { get; set; }
public string Name { get; set; }
public DateTime CreateDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我注意到的一件事是,平均而言,对于创建列表的简单测试,然后构建具有偶数ID的所有对象的子列表,C++/CLI代码在我的开发机器上慢了大约8%(64位Win8) ,8GB的RAM).例如,创建和过滤C#对象的情况需要大约7秒,而C++/CLI代码平均需要大约8秒.好奇,为什么这会是这样,我用ILDASM看看发生了什么在幕后发生的事情,并惊讶地看到,C++/CLI代码是在构造函数额外的步骤.首先是测试代码:
static void CreateCppObjectWithMembers()
{
List<CppClassWithMembers> results = new List<CppClassWithMembers>();
Stopwatch sw = new Stopwatch();
sw.Start();
for (int i = 0; i < Iterations; i++)
{
results.Add(new CppClassWithMembers() { Id = i, Name = string.Format("Name {0}", i) });
}
var halfResults = …Run Code Online (Sandbox Code Playgroud) 问题是如何生成XML文件输出而不是system.out?
package jaxbintroduction;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
itemorder.Book quickXML = new itemorder.Book();
quickXML.setAuthor("Sillyme");
quickXML.setDescription("Dummie book");
quickXML.setISBN(123456789);
quickXML.setPrice((float)12.6);
quickXML.setPublisher("Progress");
quickXML.setTitle("Hello World JAVA");
try {
javax.xml.bind.JAXBContext jaxbCtx = javax.xml.bind.JAXBContext.newInstance(quickXML.getClass().getPackage().getName());
javax.xml.bind.Marshaller marshaller = jaxbCtx.createMarshaller();
marshaller.setProperty(javax.xml.bind.Marshaller.JAXB_ENCODING, "UTF-8"); //NOI18N
marshaller.setProperty(javax.xml.bind.Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
marshaller.marshal(quickXML, System.out);
OutputStream os = new FileOutputStream( "nosferatu.xml" );
marshaller.marshal( quickXML, os );
} catch (javax.xml.bind.JAXBException ex) {
// …Run Code Online (Sandbox Code Playgroud) 我有一个使用slf4j作为日志记录的应用程序.现在,我希望在传输到底层日志记录系统之前拦截所有错误消息.是否有可能为slf4j做到这一点?我仔细查看了文档,看到我们可以在实现中更改Appender(比如log4j)来实现这一点,但是我们可以在门面层面自己做吗?拦截执行基本操作,例如递增错误消息数量的全局计数器等.
所以我已经到了需要为我的应用程序实现SQLite数据库的地步.在"繁忙的编码器Android开发指南"之后,我创建了一个扩展的DatabaseHelper类SQLiteOpenHelper.
我的一个用例是对数据库运行查询并在a ListView内显示结果Fragment(我使用支持库中的片段).
根据我的理解,使用managedQuery()并不是真正合适的,即使它是不推荐的,因为这个方法中封装的一些逻辑实际上是在主线程上执行的,具体reQuery()是我理解的时候执行的Activity重新启动.
所以我Loader第一次尝试熟悉这门课,只看到这个:
"The only supplied concrete implementation of a Loader is CursorLoader, and that is only for use with a ContentProvider"
我最初的想法是实现我自己的内容提供商,并可能阻止其他应用程序访问它,然后我ContentProvider通过developer.android.com 阅读文档中的以下内容:
"You don't need a provider to use an SQLite database if the use is entirely within your own application."
我也一直在玩这个:
https://github.com/commonsguy/cwac-loaderex
但我不熟悉这个项目,也不确定它是否可以在生产环境中使用.
所以,现在我能想到的是AsyncTask在我的内部创建一堆实例Fragment并适当地管理它们的生命周期,确保它们在需要时被取消等等.
还有其他选择吗?
public class CreateThreadRunnableExample implements Runnable {
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println("Child Thread : " + i);
try {
Thread.sleep(50);
} catch (InterruptedException ie) {
System.out.println("Child thread interrupted! " + ie);
}
}
System.out.println("Child thread finished!");
}
public static void main(String[] args) {
Thread t = new Thread(new CreateThreadRunnableExample(), "My Thread");
t.start();
for (int i = 0; i < 5; i++) {
System.out.println("Main thread : " + i);
try {
Thread.sleep(100); …Run Code Online (Sandbox Code Playgroud) 我需要对各种SNMP库进行可行性研究.目前我正在使用SNMP4J.我的要求是将各种库与其功能进行比较.我无法找到任何有用的参考链接.请有人建议任何链接.
我正在使用htmlunit开发一个web cralwer并且我已经添加了所有必需的超时但我注意到当我使用Java VisualVM进行线程转储时,当某个网站的服务器被爬网时,应用程序挂起:
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.net.SocksSocketImpl.readSocksReply(SocksSocketImpl.java:88)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:429)
at java.net.Socket.connect(Socket.java:525)
at com.gargoylesoftware.htmlunit.SocksSocketFactory.connectSocket(SocksSocketFactory.java:89)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:148)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:573)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:425)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:776)
at com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConnection.java:152)
at app.plugin.core.net.QHttpWebConnection.getResponse(QHttpWebConnection.java:30)
at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection(WebClient.java:1439)
at com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1358)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:307)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:373)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:358)
Run Code Online (Sandbox Code Playgroud)
这真是令人沮丧,因为我无法控制这些服务器.此问题严重影响了我的应用程序的性能.
题:
我已经使用Xcode创建了应用程序.它已经准备好在iTunes连接上传了..但是应用程序加载器似乎太慢了.其他归档方法看起来很好用,但在Xcode 4.5.2中禁用了该选项
操作:我尝试编辑方案并选择存档(发布选项)以及目标到我的设备...我也建立之后我将目标设置为SKIP INSTALL为NO.
我跟着指示在这个论坛上看到了很少的帖子..但似乎没有一个对我有用
我知道如何获得该选项avtive agn ...我的应用程序在我的itouch和正常工作..所以没有设备问题.
有没有办法将.war文件部署到在docker容器内运行的Jboss-as7中
因为我的jboss服务器在docker提交后似乎失败了.
Could not rename /usr/local/share/jboss/standalone/configuration/standalone_xml_history/current to /usr/local/share/jboss/standalone/configuration/standalone_xml_history/20140107-050049692
Run Code Online (Sandbox Code Playgroud)
我试过了
chmod +w usr/local/share/jboss/standalone/configuration/standalone_xml_history
Run Code Online (Sandbox Code Playgroud)
参考:
https://docs.jboss.org/author/display/AS7/Configuration+file+history
现在,如果我停止docker容器,我必须部署war文件,之后不要进行docker commit.
我正在使用ubuntu 12.04在vagrant上运行
我使用主管来运行ssh和jboss7.
我的主管档案:
[supervisord]
nodaemon=true
[program:sshd]
command=/usr/sbin/sshd -D
stdout_logfile=/var/log/supervisor/%(program_name)s.log
stderr_logfile=/var/log/supervisor/%(program_name)s.log
autorestart=true
[program:jboss]
command=/usr/local/share/jboss/bin/./standalone.sh -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0
stdout_logfile=/var/log/supervisor/%(program_name)s.log
stderr_logfile=/var/log/supervisor/%(program_name)s.log
autorestart=true
Run Code Online (Sandbox Code Playgroud)
接下来我的步骤:
vagrant up
[default] Forwarding ports...
[default] -- 10022 => 10022 (adapter 1)
[default] -- 8080 => 18080 (adapter 1)
Run Code Online (Sandbox Code Playgroud)
Jboss-as7日志:
05:00:49,135 INFO [org.jboss.as.remoting] (MSC service thread 1-4) JBAS017100: Listening on /0.0.0.0:4447
05:00:49,155 INFO [org.jboss.as.remoting] (MSC service thread 1-3) JBAS017100: Listening on /0.0.0.0:9999
05:00:49,253 INFO …Run Code Online (Sandbox Code Playgroud)