Home > Java > javaTutorial > Why are string literals stored in string constant pool in Java?

Why are string literals stored in string constant pool in Java?

WBOY
Release: 2023-09-11 21:17:02
forward
787 people have browsed it

Why are string literals stored in string constant pool in Java?

There are two ways to create a String object in Java

  • Use the new operator
String str = new String("Tutorials Point");
Copy after login
  • By using string literals
String str = "Tutorials Point";
Copy after login

Whenever we call new String() in Java, it will create an object in the heap memory and the string literal will go into the string constant pool ( SCP).

For objects, the JVM uses SCP, which is for efficient memory management in Java. Unlike other Java objects, they do not manage String objects in the heap area, but introduce a String constant pool. An important feature of the String constant pool is that if there is already a String constant in the pool, the same String object will not be created.

Example

public class SCPDemo {
   public static void main (String args[]) {
      String s1 = "Tutorials Point";
      String s2 = "Tutorials Point";
      System.out.println("s1 and s2 are string literals:");
      System.out.println(s1 == s2);
      String s3 = new String("Tutorials Point");
      String s4 = new String("Tutorials Point");
      System.out.println("s3 and s4 with new operator:");
      System.out.println(s3 == s4);
   }
}
Copy after login

Output

s1 and s2 are string literals:
true
s3 and s4 with new operator:
false
Copy after login

The above is the detailed content of Why are string literals stored in string constant pool in Java?. For more information, please follow other related articles on the PHP Chinese website!

source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template