Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 分配给字符串变量在内存和时间方面是否代价高昂?_Java_Android_String_Android Recyclerview - Fatal编程技术网

Java 分配给字符串变量在内存和时间方面是否代价高昂?

Java 分配给字符串变量在内存和时间方面是否代价高昂?,java,android,string,android-recyclerview,Java,Android,String,Android Recyclerview,或 从时间和空间优化的角度来看,哪一个更好 更多信息:- 此代码位于回收器视图的onBindViewHolder中。虽然我更喜欢第二个,但我相信没有区别。因为在编译步骤的某个地方,编译器会优化您的代码,并识别出这些差异(如果有的话) 有关更多信息,请参阅 显然,首先javac(Java编译器)将代码编译成Java字节码,然后Java虚拟机的编译器JIT将字节码优化并编译成机器语言 希望能有帮助。虽然我更喜欢第二个,但我相信没有区别。因为在编译步骤的某个地方,编译器会优化您的代码,并识别出这些差异

从时间和空间优化的角度来看,哪一个更好

更多信息:-
此代码位于回收器视图的onBindViewHolder中。

虽然我更喜欢第二个,但我相信没有区别。因为在编译步骤的某个地方,编译器会优化您的代码,并识别出这些差异(如果有的话)

有关更多信息,请参阅

显然,首先
javac
(Java编译器)将代码编译成Java字节码,然后Java虚拟机的编译器
JIT
将字节码优化并编译成机器语言


希望能有帮助。

虽然我更喜欢第二个,但我相信没有区别。因为在编译步骤的某个地方,编译器会优化您的代码,并识别出这些差异(如果有的话)

有关更多信息,请参阅

显然,首先
javac
(Java编译器)将代码编译成Java字节码,然后Java虚拟机的编译器
JIT
将字节码优化并编译成机器语言


希望这会有所帮助。

不管编译器/JVM的行为如何,这是一个本质上应该是即时的操作

在机器级别上,这两种方法之间唯一可能的区别是

(a) 保存指向内存的指针,然后加载指针,或

(b) 将指针直接传递给下一个方法调用


这两者之间的时间差是如此之小,以至于对于任何物体来说,它基本上都不重要。即使在循环中,Android UI代码的执行次数也不应足够多,因此可能会产生影响。

无论编译器/JVM的行为如何,这是一个本质上应该是即时的操作

在机器级别上,这两种方法之间唯一可能的区别是

(a) 保存指向内存的指针,然后加载指针,或

(b) 将指针直接传递给下一个方法调用


这两者之间的时间差是如此之小,以至于对于任何物体来说,它基本上都不重要。即使在循环中,Android用户界面代码的执行次数也不应该足够多,这可能会产生影响。

你为什么在意?这是代码中的瓶颈吗?可能没有。你有什么证据表明这些结果在编译后的输出中是不同的?同样,你为什么关心这些呢?你的应用程序慢吗?这是原因吗?也许不是。我想在我的工作中把高效的方法(如果有的话)作为一种普遍做法。@SreekanthKarumanaghat我明白这一点。但通常情况下,编程更重要的是尽量优化您的时间,而不是cpu时间。您必须仅在需要时优化代码。;-)你为什么在乎?这是代码中的瓶颈吗?可能没有。你有什么证据表明这些结果在编译后的输出中是不同的?同样,你为什么关心这些呢?你的应用程序慢吗?这是原因吗?也许不是。我想在我的工作中把高效的方法(如果有的话)作为一种普遍做法。@SreekanthKarumanaghat我明白这一点。但通常情况下,编程更重要的是尽量优化您的时间,而不是cpu时间。您必须仅在需要时优化代码。;-)
String timeStamp = currentCommentObjectObj.getTimeStamp();

holder.timeStamp.setText(timeStamp);
holder.timeStamp.setText(currentCommentObjectObj.getTimeStamp());