草庐IT

pipe_cmd_out

全部标签

Java+Eclipse : how do you debug a java program that is receiving piped/redirected stdin?

我正在使用Eclipse开发一个Java程序,我想我应该在我的程序中添加一个选项来在没有参数的情况下解析标准输入。(否则它解析一个文件)如果我执行"somecommand|java-jarmyjar.jar"并去调试,我会遇到问题......然后意识到我不知道如何在Eclipse中启动一个进程.如果我在命令提示符下运行它,我无法附加到正在运行的进程,因为该进程会立即启动。关于如何调试有什么建议吗?编辑:看,问题是,我最初编写我的程序是为了采用文件名参数。然后我认为它也采用stdin会很有用,所以我确实从我的程序中抽象了InputStream(正如Queue先生所建议的)。它在文件(ja

java - System.out.println()耗时; Java语句?

我听说System.out.println();Java语句是昂贵的(它消耗了很多时间)所以我试着评估一下它的成本:当我评估5个语句时...成本=1.0所以我预计1条语句的成本=0.2但实际上我发现Thecost=0.0!!doublet1=0;doublet2=0;t1=System.currentTimeMillis();System.out.println("aa");System.out.println("aa");System.out.println("aa");System.out.println("aa");System.out.println("aa");t2=Syst

java - Netbeans 上是否有 System.out.println 的快捷方式?

这个问题在这里已经有了答案:HowtomakeSystem.out.println()shorter(12个答案)关闭6年前。我看到在Ecplise上你可以输入sysout然后快捷方式会变成System.out.println();我想知道Netbeans(目前是8.1)是否有这样的快捷方式。

java - PermGen Out of Memory 原因

我不断地在我的环境中检测PermGen中的OOM:Java6jboss-4.2.3不是大型网络应用我知道String.intern()问题-但我没有充分利用它。增加MaxPermGen的大小并不费力(从128Mb到256Mb)。还有什么其他原因可以为PermGen调用OOM?在这种情况下,哪种调查方案最好(策略、工具等)?感谢您的帮助 最佳答案 Seethisnote将JDBC驱动程序放在common/lib(如tomcat文档所述)而不是WEB-INF/lib不要将commons-logging放入WEB-INF/lib,因为to

java - 没有 System.out 怎么办,在控制台上打印?

最近在面试时被问到的一个问题一直困扰着我。问题描述为:Supposeyoudon'thaveaccesstoSystemclassinJdkAPI.YoucannotuseECHOalso.YouareinJRE5environment.Howwillyouprintanythingontheconsole?真正开始的问题是——为什么Java给了我们PrintStream对象System.out?为什么它是最终的?有没有其他方法可以在控制台上打印任何内容? 最佳答案 如果愿意,您可以绕过Systemobject。System.out

java - System.out.println 最终阻塞

我有一个应用程序将其所有日志记录合并到一个单实例类中,以便于选择性调试打印等。该类已经存在了一年左右,运行顺利,但就在最近我碰巧打开了日志升级到最高设置(我很少这样做),标准输出似乎最终会阻塞。这会在下次代码的其他部分调用println时,或者当它尝试使用日志记录类(它被阻止等待println返回)时造成严重破坏。我的第一个想法是我的日志记录类存在某种并发问题,但是搜索堆栈跟踪让我确信我的同步工作正常并且在任何给定时间只有一个线程尝试写入控制台.这是有问题的线程上的示例堆栈跟踪:Thread[Thread-127](Suspended)FileOutputStream.writeByt

java.sql.SQLException : Io exception: Socket read timed out vs Closed Connection 异常

我正在尝试研究有关连接到Oracle数据库的以下两个错误的问题:关闭连接java.sql.SQLException:Io异常:Socket读取超时我的理解:关闭连接:发生是因为存在某种网络中断或数据库由于某种“不活动”而关闭了sessionjava.sql.SQLException:Ioexception:Socketreadtimedout:这是连接成功建立但由于某种原因套接字/数据为空并最终超时的情况因为没有可用数据。是否可以在本地OracleDB环境中复制上述错误?步骤是什么?非常感谢您花时间回复。谢谢。 最佳答案 你对关闭连

java.sql.SQLException : Io exception: Broken pipe how to recover without restart? 异常

在我的应用程序中,我使用到Oracle的连接,当连接丢失并尝试重新连接时,我收到异常:java.sql.SQLException:Ioexception:Brokenpipeatoracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)atoracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:161)atoracle.jdbc.driver.DatabaseError.throwSqlException(Data

【已解决】Failed to connect to github.com port 443 : Timed out

Failedtoconnecttogithub.comport443:Timedout问题描述:如下图所示,无法gitclone来自Github上的仓库,报端口443错误问题分析:git所设端口与系统代理不一致,需重新设置。解决方法:操作如下图所示①打开设置>网络与Internet>代理②记录下当前系统代理的IP地址和端口号。如上图所示,地址与端口号为:127.0.0.1:7890③修改git的网络设置注意修改成自己的IP和端口号gitconfig--globalhttp.proxyhttp://127.0.0.1:7890gitconfig--globalhttps.proxyhttp://

java - Tomcat 7 将所有日志记录到 catalina.out 但不记录到 log4j2 定义的文件中

在将我的应用程序转换为网络应用程序之前。Log4j将日志记录在我在log4j2.xml中定义的正确日志文件(info.log和debug.log)中。但是当我将我的应用程序更改为web.app时,所有日志现在都记录到servlet容器(tomcat7)中的catalina.out文件中。部署应用程序后,log4j2创建了这些日志文件,但它们仍然是空的,所有日志都转到catalina.out文件。你能指出我做错了什么吗。在web.xml中,我添加了必要的配置。project-servicecontextConfigLocationclasspath*:applicationContext