草庐IT

new_entries

全部标签

java - new type[0] 和 null 之间的区别 - java

有什么区别type[]a=newtype[0];和type[]a=null;这两种形式都占用内存吗?有什么相同点/不同点吗? 最佳答案 第一个(newtype[0])实际上会创建一个数组对象(因此占用内存)。您可以使用(大小为0的)数组对象,例如获取其长度或对其进行迭代,但当然,您可以不访问其任何元素。因此,您可以将它传递给任何不对数组长度做出假设(而是进行适当检查)的函数,并且它会起作用。第二个(null)不创建任何对象。如果您尝试访问任何成员,您将得到一个异常(exception)。

java - Spring 事务中 REQUIRES_NEW 和 NESTED 传播行为的差异

前言首先:它不是Differencesbetweenrequires_newandnestedpropagationinSpringtransactions的副本-我读了它,但没有找到我的问题的答案问题:阅读我提到的主题后,我明白了物理交易计数中传播级别的主要区别:2dbtransactions-forREQUIRES_NEWforouterandforinnermethod1db事务-用于外部和内部方法的NESTED。如果底层数据库不支持保存点,它将无法工作但从我的观点来看,逻辑似乎是相同的。如何理解在实践中使用哪个级别?有什么用例可以理解吗?行为差异的方便示例?附言我想对于其他交易

java - 使用 new 关键字创建对象与使用 clone 方法之间的区别

使用new关键字创建对象和使用clone()创建对象有什么区别??内存分配有什么区别吗? 最佳答案 new根据构造函数创建一个对象,而clone()创建一个新对象并使用原始对象的内容初始化字段。我接受了,您阅读了javadoc,所以让我带您看一个示例:publicclassMyBabyimplementsCloneable{intage=0;Stringname="Dolly";Listlist=newArrayList();publicstaticvoidmain(String[]args){MyBabyoriginalBaby=

Java 8 - 返回 List (keyset) 反对 List<Map.Entry<Integer, CheckBox>>

我正在尝试使用java8返回一个键值列表(整数),其中选中了值(复选框)。我正在尝试处理的map具有以下形式。Map目的是返回选中复选框值的所有值的键集。如果我执行以下操作checkBoxes.entrySet().stream().filter(c->c.getValue().getValue()).collect(Collectors.toList());然后我得到一个List>无论如何,是否可以在不处理Map.Entry值的情况下在一行中完成所有操作,这样我就可以获得一个整数列表?谢谢 最佳答案 您可以添加一个map调用以从条

java - 当我们可以创建 String s = ("abc"时,需要什么 String s = new String "abc")

据我了解Strings=newString("abc")将创建两个对象-字符串常量池中的一个(如果"abc"不在常量池中)堆内存中的一个尽管对于实际将创建多少个对象以及在何处创建存在更多的理解。无论如何,我有以下问题-为什么String类的java文档中没有涉及将创建多少个对象以及在何处创建?如果字符串是不可变的,为什么要在String类中提供newString(String)?还可以假设所有字符串,由Strings="abc"创建或Strings=newString("abc"),是否会在String常量池中可用?在StringBuilder或StringBuffer中创建或追加的字

Java:使用 assertEquals 测试系统输出,包括 "new lines"

我目前正在为策略设计模式编写单元测试。我正在将系统输出与assertEquals方法中的字符串进行比较。输出看起来相同,但我的测试一直失败......。我在想我忘记了与新行或制表符有关的事情?我的单元测试:importstaticorg.junit.Assert.*;importjava.io.ByteArrayOutputStream;importjava.io.PrintStream;importorg.junit.After;importorg.junit.Before;importorg.junit.Test;publicclassMiniDuck1Test{privatefi

java - NetBeans 中的警告 : Skipping entry because it is not an absolute URI. GlassFish

我成功安装了GlassFish。但是,当我启动服务器时,会收到两条警告消息:警告:跳过条目,因为它不是绝对URI。那是什么?LaunchingGlassFishonFelixplatformAug09,201410:38:38PMcom.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisionercreateBundleProvisionerINFO:Createbundleprovisionerclass=classcom.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisio

java - 为什么使用 new 运算符创建的字符串会在字符串池中创建字符串文字

我的问题是,当我们将String声明为Stringa=newString("abc");时,在字符串池和堆上创建字符串对象有什么好处?当我们将字符串创建为Stringa="abc"时,为什么不在堆中创建字符串。 最佳答案 java语言就是这么设计的。双引号之间使用的任何内容都是编译时常量并进入字符串池。所以,在你的情况下:Stringa=newString("abc");“abc”将被解析为编译时常量,因此将被添加到当前JVM的字符串常量池中。接下来,a的值将在运行时解析,并在运行时添加到堆中。

java - keySet().toArray(new Double[0]) 是做什么的?

下面的返回是做什么的?我如何使用该值:privateMaptheLabels=newHashMap();publicDouble[]getTheLabels(){returntheLabels.keySet().toArray(newDouble[0]);}这是正确的吗?Double[]aD=theClassInQuestion.getTheLabels();提前致谢。胡志明 最佳答案 这是正确的,但是,除非theLabels为空,否则强制重新分配数组。这是一个替代方案:publicDouble[]getTheLabels(){re

java - Jar 文件 ADD DIRECTORY ENTRIES 导出 jar 时的 Eclipse 选项

我不知道我是否在问正确的问题,但想消除我的疑问。其实我遇到过从jar文件引用类文件的场景。我的意思是说我有一个后端java项目,比如ABC,里面有application-context.xml文件。现在我创建了ABC项目的jar文件并在一个基于Web的应用程序中使用。在这里,我遇到了bean没有Autowiring的问题,后来才知道问题是,我用Eclipse导出ABC项目的jar文件时,没有选择“ADDDIRECTORYENTRIES”复选框,后来我做了并且全部工作。只是为了查看通过在jar文件中选中此框进行了哪些更改,以便一切正常,所以我创建了2个jar文件,一个选中了“ADDDIR