草庐IT

self-closing

全部标签

java - 为什么 java 的 inputstream.close() 会阻塞?

我的Java程序使用ProcessBuilder(将redirectErrorStream设置为true)并有一个循环来运行进程的输入流的读取方法,这是阻塞的。然后我调用的外部程序停止等待输入和标准输入。我现在想杀死这个过程。这不是通过(在单独的线程中)调用进程的destroy方法,并调用inputstream的close方法来停止read方法阻塞来完成的,这样我的初始线程就可以结束它的生命了吗?由于某些原因process.getInputStream().close()block。从JavaDoc我不明白为什么会发生这种情况。此外,我不明白为什么javadoc说“InputStrea

java - PreparedStatement 的 "close"与 Connection 的关系?

Javadoc说PreparedStatement的.close()说它..ReleasesthisStatementobject'sdatabaseandJDBCresourcesimmediatelyinsteadofwaitingforthistohappenwhenitisautomaticallyclosed.Itisgenerallygoodpracticetoreleaseresourcesassoonasyouarefinishedwiththemtoavoidtyingupdatabaseresources.CallingthemethodcloseonaStatem

java - 资源泄漏 : workbook is never closed warning when using Apache. POI XSSFWorkbook

因此,我使用ApachePOI将Excel文件解析到我的数据库中。为此,我正在初始化一个XSSFWorkbook,如下所示:XSSFWorkbookworkbook=newXSSFWorkbook(fIP);然后我继续我的方法。workbook.close()不可用作之后关闭工作簿的方法。关于任务完成后如何让垃圾回收处理工作簿的任何想法? 最佳答案 我遇到了这个问题,但毫无意义。最后,我将问题追溯到我的IDE(netbeans)正在获取没有“关闭”方法的早期版本的POI库(v3.8)。因此,请检查您的类路径并查找不同版本的POI库的

java - 如果构造函数抛出异常,是否不调用 try-with-resources 习惯用法的 close 方法?

我有一个基类Base和一个扩展它的子类Child。Base实现了java.lang.AutoCloseable。假设Child的构造函数抛出一个Foo。现在考虑try(Basec=newChild()){/*Somecode*/}catch(finalFooe){/*Somemorecode*/}如果抛出异常,是否调用Base#close方法?它不在我的机器上,但这是JLS标准化的东西吗? 最佳答案 是的,close不会被调用。这在JLSsection14.20.3中指定:Resourcesareinitializedinleft-

java - "AL lib: alc_cleanup: 1 device not closed"是什么意思?

我正在尝试让自己融入LibgdxOpenGL框架。我使用LwjglApplication创建了一些简单的应用程序来渲染框、一些网格和一些纹理。我遇到了AurelienRibon的应用程序,它可以创建刚性Box2D物体。他使用LwjglCanvas与Java的Swing集成。我尝试自己制作一个,我创建了一个JFrame,然后添加了LwjglCanvas。然后将JFrame的默认操作设置为EXIT_ON_CLOSE。但是每次我关闭应用程序时,这都会记录到我的控制台:AL库:alc_cleanup:1个设备未关闭。我不知道这是什么意思,这对我没有任何伤害。我只想知道这是什么意思。根据Lwjg

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 - 为什么我得到 java.io.IOException : Stream closed?

我正在尝试下载一个zip文件,但我收到了一个流关闭异常。当我使用swinggui时,它会出现此错误,但如果我使用控制台,则没有问题。为什么我会得到这个异常(exception)?我该如何解决?这是我的代码:URLConnectionconn=url.openConnection();InputStreamin=conn.getInputStream();FileOutputStreamout=newFileOutputStream(destination.getPath());byte[]b=newbyte[1024];intcount;while((count=in.read(b))

java - MS SQL 服务器和 JDBC : closed connection

我得到了I/OError:DBserverclosedconnection.从Java代码连接到MSSQLServer2008时。SQL服务器处于混合模式并且在本地计算机中。我的连接字符串是jTDSjdbc:jtds:sqlserver://machineName:1433;databaseName=DB;integratedSecurity=true堆栈跟踪是java.sql.SQLException:I/OError:DBserverclosedconnection.atnet.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java

java - 涉及继承和泛型的 Java 泛型的用处是什么 extends self

我找到了其泛型参数扩展自身的泛型(here)。不是很懂,一开始怀疑是错的,但是没有人提出来。我对此有一些疑问:如何使用Variant泛型,你能举个例子吗?这种泛型风格的好处或效果是什么。这是从(here)中选取的泛型样式代码。abstractclassBase>{}classVariant>extendsBase{}谢谢! 最佳答案 我想你在谈论F-boundedtypes.我发现它们在两个层次结构直接相关的情况下非常有用。想到的最清晰的案例是构建器模式,它针对类的层次结构。在这种情况下,构建器层次结构也很有用。一个例子可能会说明一

java - self 更新程序

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。所以,这是我已经考虑了一段时间的事情。你怎么能拿一个程序,让它“自动更新”。因此,假设一个外壳检查Myserver.com/myProg/updates.xml(或其他一些资源)并检查以确保版本号相同。一旦我这样做了,我该如何处理更新程序?假设我的程序是一个简单的主类,唯一的输出是:System.out.println("HelloWorld");在更新时它变成System.out.printl