Sobes.tech
Junior — Middle

If two objects with the same identifier are created, will they occupy the same memory location and refer to the same instance?

sobes.tech AI

Answer from AI

In Java, two objects with the same identifier (for example, the same value of the id field) are different instances in memory if they are created using new. They occupy different memory locations and do not refer to the same object.

Example:

class User {
    int id;
    User(int id) { this.id = id; }
}

User u1 = new User(1);
User u2 = new User(1);

System.out.println(u1 == u2); // false — different objects

If you want objects with the same identifier to be a single instance, you need to implement a "factory" or "caching" pattern for objects, for example, using the Singleton pattern or an object pool.

If two objects with the same identifier are created… - sobes.tech