草庐IT

CLOSE_SYSTEM_DIALOGS

全部标签

java - FindBugs - 使用 ObjectOutputStream 时为 "may fail to close stream"

我有这么一段代码,就是写一个Ojbect到字节数组流:staticbyte[]toBytes(MyTokenstokens)throwsIOException{ByteArrayOutputStreamout=null;ObjectOutputs=null;try{out=newByteArrayOutputStream();try{s=newObjectOutputStream(out);s.writeObject(tokens);}finally{try{s.close();}catch(Exceptione){thrownewCSBRuntimeException(e);}}}c

java - 我应该缓存 System.getProperty ("line.separator")吗?

考虑这样的方法:@OverridepublicStringtoString(){finalStringBuildersb=newStringBuilder();for(finalRoomroom:map){sb.append(room.toString());sb.append(System.getProperty("line.separator"));//THISISIMPORTANT}returnsb.toString();}System.getProperty("line.separator")可以多次调用。我应该用publicfinalstaticStringlineSeper

java - 多个 System.out.print() 和连接之间的区别

基本上,我想知道哪种方法更好,for(inti=0;i或Stringover_9000_blahs="";for(inti=0;i还是有我不知道的更好的方法? 最佳答案 由于您只写入System.out,第一种方法更好但是如果性能对您很重要,请使用下面的方法(System.out.println是同步的并使用锁定-可以阅读更多关于它的信息here和here)。如果你想稍后使用“大字符串”或提高性能,使用StringBuilder会更干净.(见下文),anycaseString+将由编译器转换为StringBuilder(更多细节he

java - 为什么 DirContext.close() 不将 LDAP 连接返回到池中?

我注意到在使用LDAP连接池时,尽管有文档saying,但在上下文中调用close()似乎并未将其返回到池中otherwise.因此,当我尝试从池中获取已达到其最大大小的项目时,它会挂起。我设法将其缩小到最小范围。尽管我相信我正在确定性地对所有相关对象调用close(),但它似乎依赖于垃圾收集来实际将对象返回到池中,这是出乎意料的。为什么会这样?是否还有其他一些我应该关闭的对象?在下面的代码片段中:我人为地将最大池大小设置为1以突出问题。我从池中得到一个DirContext(第(2)行),尝试将它返回到池中(第(4)行),然后从池中得到另一个(第(6)行))应该返回相同的返回对象。相反

java - System.loadLibrary 不起作用。链中第二个库的 UnsatisfiedLinkError

我有一个java程序Client.class,它通过JNI使用cpp共享库libclient.so。libclient.so以共享方式构建,并使用cpp共享库libhttp.so。libclient.so和libhttp.so放在文件夹/home/client/lib64Client.class放在/home/client/bin客户端可以加载库System.load和环境变量LD_LIBRARY_PATHSystem.loadLibrary和-Djava.library.path第一种方法很好。exportLD_LIBRARY_PATH=/home/client/lib64java-

java:控制台上的彩色 system.out 消息

我希望我的命令行java程序将彩色文本输出到unix控制台。我专门在Ubuntu10.4上使用gnome-terminal。我可以在终端上使用echo"\033[01;32m"Hello之类的东西获得颜色。如何使用Java代码触发它?谢谢 最佳答案 如果不关心终端兼容性,就把上面的echo换成System.out.println(即可。比如System.out.println("\033[01;32mHello\n"); 关于java:控制台上的彩色system.out消息,我们在Sta

java - 我可以禁止 c3p0 记录到 System.err 吗?

根据c3p0documentation,您可以手动指定日志的去向,是通过JDK1.4日志记录、Log4j还是通过System.out。我正在运行SLF4J,所以我在我的应用程序中包含org.slf4j.jul-to-slf4j并调用SLF4JBridgeHandler.install()以强制所有Javautil日志记录通过SLF4J。此外,我在我的c3p0.properties文件中包含了以下属性:com.mchange.v2.log.MLog=com.mchange.v2.log.jdk14logging.Jdk14MLog根据文档,这将强制c3p0记录到JDK1.4日志记录,这反

java - hibernate : closing the session factory does not close the c3p0 connection pool

我最近开始在我的应用程序中使用hibernate和c3p0作为ORM。但是,当我关闭session工厂时,连接池并没有自行关闭!这是我的应用程序中也是唯一的地方,我可以在其中对session执行任何操作。StatelessSessionsession=null;Transactiontransaction=null;try{session=sessionFactory.openStatelessSession();transaction=session.beginTransaction();Listlist=session.getNamedQuery("getAvailableThin

java - 一起使用 Platform.exit() 和 System.exit(int)

我想关闭具有指定返回码的javafx应用程序。浏览SO上的答案,我发现了以下成语:Platform.exit();System.exit(0);例如这里:StopthreadsbeforeclosemyJavaFXprogram或此处:JavaFXapplicationstillrunningafterclose这两个方法一个接一个执行,看起来我们在尝试复制一些Action。我假设,如果Platform.exit()成功,它不应该返回到调用System.exit(0)的地方。但是,如果Platform.exit()仅触发在另一个线程上运行的一些关闭操作,返回并且可以调用System.e

java - System类中的inheritedChannel()方法有什么用

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭9年前。在System类中找到这个方法。只是好奇想知道它-publicstaticChannelinheritedChannel()throwsIOException{returnSelectorProvider.provider().inheritedChannel();}JavaDocdescriptionis:Returnsthechannelinheritedfromtheentitythatcr