我是Spring框架的新手.我对Spring中的singleton概念感到困惑,它是垃圾收集.我已经阅读了很多问题和文章来获得我的问题的答案,即Spring Singleton范围是如何被垃圾收集的.我只得到了关于原型范围垃圾收集的答案,但关于单例范围的文章对我来说并不清楚.有人可以提供有关此问题的详细信息.
我正面临一个混乱的希望,任何人都可以回答.请参阅下面的代码
for(int i = 0; i < 40; i++){
if(i < 20){ //Does this 20 here is initialized again and again
System.out.println("less than 20");
}else{
System.out.println("greater than 20");
}
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:i <20中的20是否会一次又一次地初始化为一个整数,导致一次又一次地分配内存,或者java是否使用类似于它用于字符串的STRING POOL这样的概念.
根据知识它需要记忆,但我仍然想确定.原因是:
我正在研究一个性能过于密集的代码,因此我无法在其中添加条件代码.像下面的东西
for(int p = 0; p < 10; p++){
if(p < 20){
System.out.println("ABC");
}
if(p < 20 && "SomeValue".equals("SomeValue")){
System.out.println("SomeValue");
}
if(p < 20 && "ABC".equals("ABC")){
System.out.println("ABCDEF");
}
}
Run Code Online (Sandbox Code Playgroud)
所以,如果答案是肯定的,那20就占用了内存,那么我可以使代码如下所示
int value = ("Coldrink".equals("coca cola"))?10:20;
for(int p = 0; p < 10; …Run Code Online (Sandbox Code Playgroud)