Skip to content
javabypankaj
HomeLibraryPopularCommunity
01
Core Java
32 topics · 170 questions
1JDK, JRE & JVM0/442Variables, Scope & var0/333Primitive Types & Wrappers0/11114Operators & Expressions0/995The main Method0/556Access Modifiers0/117Keywords: final0/448Keywords: static0/449Methods & Varargs0/3310Constructors & this/super0/3311Enum0/2212String & String Pool0/121213Immutability0/414Arrays0/4415Object Class, equals & hashCode0/9916Upcasting & Dispatch0/2217Pass-by-Value & References0/2218Object Cloning0/2219Inner Classes0/2220Marker Interface0/1121Exception Hierarchy0/2222I/O & System0/3323Serialization & transient0/111124Annotations0/3325Recursion0/1126Reflection & Object Creation0/2227Interface Evolution0/1128Class Loading & Compilation0/4429Memory Management & GC0/212130JVM Internals: Advanced0/101031JVM Tuning & Troubleshooting0/151532Predict the Output0/1010
1JDK, JRE & JVM42Variables, Scope & var33Primitive Types & Wrappers114Operators & Expressions95The main Method56Access Modifiers17Keywords: final48Keywords: static49Methods & Varargs310Constructors & this/super311Enum212String & String Pool1213Immutability414Arrays415Object Class, equals & hashCode916Upcasting & Dispatch217Pass-by-Value & References218Object Cloning219Inner Classes220Marker Interface121Exception Hierarchy222I/O & System323Serialization & transient1124Annotations325Recursion126Reflection & Object Creation227Interface Evolution128Class Loading & Compilation429Memory Management & GC2130JVM Internals: Advanced1031JVM Tuning & Troubleshooting1532Predict the Output10
32 topics170 Qs0%
01Core Java17002OOP3203Collections6704Exception Handling2805Concurrency & Multithreading12706Java Streams, Lambda & Functional Programming32807Spring & Spring Boot2608Transactions3209JPA & Hibernate6910Microservices19411Kafka & Messaging9112DevOps, CI/CD & Tooling13313Database & SQL14114REST API & Web4015Design Patterns & LLD5716Advanced Java7117Coding Problems: DSA49218AWS & Cloud4119Data Engineering19420QA, Testing & SDET4121System Design3522Security2023Behavioral / HR: STAR Method37
32Topics
170Questions
0%Complete
13 of 32 topics
Topics
1JDK, JRE & JVM0/442Variables, Scope & var0/333Primitive Types & Wrappers0/11114Operators & Expressions0/995The main Method0/556Access Modifiers0/117Keywords: final0/448Keywords: static0/449Methods & Varargs0/3310Constructors & this/super0/3311Enum0/2212String & String Pool0/1212
13Immutability0/44
14Arrays0/4415Object Class, equals & hashCode0/9916Upcasting & Dispatch0/2217Pass-by-Value & References0/2218Object Cloning0/2219Inner Classes0/2220Marker Interface0/1121Exception Hierarchy0/2222I/O & System0/3323Serialization & transient0/111124Annotations0/3325Recursion0/1126Reflection & Object Creation0/2227Interface Evolution0/1128Class Loading & Compilation0/4429Memory Management & GC0/212130JVM Internals: Advanced0/101031JVM Tuning & Troubleshooting0/151532Predict the Output0/1010

Immutability

Core Java·Topic 13 of 32·4 questions
Q1How do you create an immutable class in Java?

An immutable class has final fields, no setters, defensive copies of mutable fields, and is declared final. Once created, its state never changes.

Read Answer
Q2Is an immutable class with a mutable field still immutable?

No, not without defensive copies. If a mutable field (like a List) is shared with external code, that code can modify the internal state, breaking immutability.

Read Answer
Q3How do you make an existing List immutable?

List.of() and List.copyOf() create truly immutable lists. Collections.unmodifiableList() is only an unmodifiable view – the underlying list can still change.

Read Answer
Q4Why is an immutable value class inherently thread-safe?

An immutable object has no mutable state, so there is nothing for threads to race on. The Java Memory Model guarantees final fields are visible to all threads after construction. No synchronization needed.

Read Answer
Previous · Topic 12String & String Pool12 questionsNext · Topic 14Arrays4 questions
javabypankaj© 2026 javabypankaj
PrivacyTerms
HomeSearchLibrary