草庐IT

SpringBoot的自动装配

全部标签

Java 临时文件和自动删除

使用java的createTempFile方法创建一个临时文件然后重命名并作为永久文件保存是安全的吗?或者java或者系统在一些如何跟踪其临时文件并在某个时候删除它们?顺便说一句..这与MacOSX特别相关。 最佳答案 除非你调用deleteOnExit()文件对象上的方法,它将在应用程序终止后保留。但是最好在您的目录中创建文件,而不是在可能被操作系统删除的默认目录(通常是/tmp)中。 关于Java临时文件和自动删除,我们在StackOverflow上找到一个类似的问题:

java - 以编程方式格式化和缩进从 Java 自动生成的源代码

我编写了代码生成器,使用Antlr从自定义IDL创建Java和C++源代码。除了Java代码格式外,它工作得很好。目前我使用GnuIndent,但它吐出的格式很难读,调试起来很痛苦。我喜欢使用与NetBeans相同的代码格式化程序(就像您按Alt+Shift+F时一样)来格式化生成的文件。我不想浏览每个文件并手动按Alt+Shift+F。我尝试使用NetBeansAPI,但要么我没有在正确的地方寻找,要么Google是个白痴,我找不到合适的工作示例来对未在编辑器中加载的文件执行此操作...至少有人可以指导我朝着正确的方向前进吗? 最佳答案

java - Java语言为什么会自动初始化对象的字段呢?

“Java语言自动初始化对象的字段,这与程序员负责初始化的方法的局部变量形成对比。根据您对过程内和过程间数据流分析的了解,解释为什么语言设计者可能有做出了这些设计选择。”对我来说很明显,这是为了防止错误。但是,那个错误到底是什么?会不会压缩某个给定方法的可能控制流?有人可以对此进行更详细的介绍吗?非常感谢您的帮助。 最佳答案 过程内数据流真的很容易,所以检查一个字段是否已经初始化并在没有初始化时发出警告真的很容易(可以编写一个简单的可判定算法,例如确保一个字段的所有分支if初始化一个变量,如果一个分支没有,则失败,即使该分支不可到达

java - 自动比较单个单元测试的 Java 分析结果

我想运行一个单元测试并收集它的“分析”信息:调用每个方法的频率、创建了多少个特定类的实例、执行特定方法/线程花费了多少时间等。然后,我想将此信息与一些预期值进行比较。是否有任何Java分析器可以让我这样做(当然,所有这些都应该自动完成,无需任何GUI或用户交互)?这就是我希望它的工作方式:publicclassMyTest{@TestpublicvoidjustTwoCallsToFoo(){Profiler.start(Foo.class);Foofoo=newFoo();foo.someMethodToProfile();//profilershouldcollectdataher

java - 为什么 Java ArrayLists 不会自动收缩

很久以前看了普林斯顿CourseraMOOC的视频讲座:算法导论,可以找here.它解释了在向结构中添加或删除元素时调整类似结构的ArrayList的成本。事实证明,如果我们想为我们的数据结构提供大小调整,我们将从O(n)到amortizedO(n)foradd和remove操作。我已经使用JavaArrayList几年了。我一直确信它们会自动增长和收缩。直到最近,令我非常惊讶的是,我在thispost中被证明是错误的.JavaArrayList不会自动收缩(尽管它们当然会增长)。这是我的问题:在我看来,在ArrayList中提供收缩不会造成任何损害,因为性能已经摊销O(n)。为什么J

java - Eclipse 自动完成不适用于 lambda 和类型

我使用EclipseOxygen.2Release(4.7.2)我尝试了一些lambda表达式并遇到了以下问题:我编写没有类型的lambda参数,Eclipse自动完成工作正常:如果我用类型编写lambda参数,则不会自动完成:但我可以自己写这个并且一切正常:这是Eclipse中的错误吗?有人可以解释这种行为吗? 最佳答案 是的,这是Eclipse的一个已知错误,尚未修复:Eclipsebug460921.Eclipse是开源的,欢迎为修复此错误做出贡献。 关于java-Eclipse自

java - 自动关闭作为参数传递的资源

如果我想自动关闭作为参数传递的资源,是否有比这更优雅的解决方案?voiddoSomething(OutputStreamout){try(OutputStreamcloseable=out){//dosomethingwiththeOutputStream}}理想情况下,我希望自动关闭此资源,而无需声明另一个引用与out相同的对象的变量closeable。一边我意识到在doSomething中关闭out被认为是一种不好的做法 最佳答案 使用Java9及更高版本,你可以做到voiddoSomething(OutputStreamout

java - 自动将内联 XSD 从 WSDL 提取到 XSD 文件中

我正在使用第三方Web服务,其定义和实现超出我的控制范围。此Web服务将来会发生变化。Web服务应该用于生成一个XML文件,其中包含一些与Web服务相同的数据(由相同的XSD类型表示)以及程序生成的一些额外信息。我的方法:创建我自己的XSD,引用被调用Web服务的WSDL的XSD定义(这个XSD显然还包括额外信息的XSD类型。)使用JavaXML数据绑定(bind)框架(如ADB或JiXB)从第1步中我自己的XSD文件生成数据绑定(bind)类使用具有相同数据绑定(bind)框架的JavaSOAP框架(如Axis2或CXF)从WSDL生成数据绑定(bind)类(这将使我能够在生成XML

java - 在java中自动计算圈复杂度的工具?

是否有任何适用于Java的工具可以自动确定给定Java代码的圈复杂度?我在网上寻找工具,但还没有找到。 最佳答案 我使用Sonar(我的首选方法)。有一些插件可以在构建时“自动”生成报告(即ANT/Maven等)。关于如何在仪表板上显示CC的另一篇相关文章:howtolistmethodswithmostcyclomaticcomplexity我过去使用的另一个工具是corbetura。不过,您必须进行良好的单元测试,找到CC的定量分析有点棘手。 关于java-在java中自动计算圈复杂

java - 数字文字的自动装箱 : wrapper initialization vs passing method arguments inconsistency

请考虑两种情况://1Shorts=10;//obviouslycompiles//2takeShort(10);//error-intisnotapplicable//where:staticvoidtakeShort(Shorts){}我假设情况1被编译器更改为:short_temp_s=10;Shorts=Short.valueOf(_temp_s);您能否解释一下编译器在情况2中试图做什么,所以它无法编译?如果它不像案例1那样尝试应用自动装箱,那么为什么?编辑johnchen902答案中对JSL的引用解释了编译器的行为。仍然不完全清楚为什么JLS不支持方法调用转换的“缩小原始转