Today’s learning and revising ✨ Dived deep into one of the most fundamental concepts in Java — Variables. 🔹 What is a Variable? A variable is a named memory location used to store data that can change during program execution. 🔹 How JVM allocates memory? JVM divides memory mainly into Stack 🧱 and Heap 🌐 Stack → Stores method calls & local variables Heap → Stores objects & instance variables Memory is efficiently managed using stack frames and garbage collection 🔹 Types of Variables in Java: 1️⃣ Local Variable Declared inside methods Stored in stack memory No default values 2️⃣ Instance Variable Declared inside class but outside methods Stored in heap memory Each object has its own copy 3️⃣ Static Variable (Class Variable) Shared among all objects Allocated once in method area 💡 Key takeaway: Understanding variables is not just syntax — it’s about how memory works behind the scenes and how efficiently we use it. #Java #FullStackDevelopment #LearningJourney #JVM #Programming
Java Variables: Memory Allocation and Types
More Relevant Posts
-
Day 38 of Learning Java Today, I explored how a class executes inside the JVM (Java Virtual Machine). Understanding this lifecycle really helped me see what happens behind the scenes when we run a Java program. 🔹 Class Loading • The JVM loads the class into memory • It brings the ".class" file into the system 🔹 Linking Phase • Verification → Checks bytecode for errors • Preparation → Allocates memory for static variables (default values like 0) • Resolution → Replaces symbolic references with actual memory references 🔹 Initialization • Static variables get their actual assigned values • Static blocks are executed 🔹 Execution • Methods start running and the program logic is executed 🔹 Destruction • Objects are destroyed and memory is cleaned up by the Garbage Collector Static variables first get default values during preparation, and later their actual values during initialization. Thanks to my mentor Ashim Prem Mahto for the clear explanations and for always clearing my doubts. #Java #JVM #LearningJourney #Programming #SoftwareDevelopment #BackendDevelopment #CodingLife #JavaDeveloper #TechLearning #StudentLife
To view or add a comment, sign in
-
-
🚀 Day 14 of Java Learning 📌 Today’s Topic: Instance Block vs Static Block vs Constructor 💡 Here’s what I learned: ✔️ Static Block → Executes only once (at class loading time) ✔️ Instance Block → Runs every time an object is created ✔️ Constructor → Initializes the object after instance block ✔️ Execution Order → Static → Main → Instance → Constructor → Method 🧠 Key Takeaways: 🔹 Static blocks are useful for one-time setup 🔹 Instance blocks run before constructors 🔹 Constructors help in object initialization 🔹 Understanding execution flow is super important for interviews 💻 Practiced with code examples to understand real execution flow 🔥 📈 Consistency is the key — one step closer to mastering Java! #Java #Programming #Coding #Developers #OOP #100DaysOfCode
To view or add a comment, sign in
-
-
Learning Polymorphism in Java Today I explored one of the core concepts of OOPs – Polymorphism. It allows a single method to perform multiple behaviors depending on the object. 🔹 Covered: Compile-time polymorphism (Method Overloading) Runtime polymorphism (Method Overriding) Real examples with Java code Understanding this concept improves code flexibility, reusability, and scalability. 📘 Sharing my handwritten notes + examples for better understanding. #Java #OOP #Polymorphism #Programming #CodingJourney #Learning #JavaDeveloper #SoftwareDevelopment
To view or add a comment, sign in
-
-
🚀 Day 16/45 – Understanding Abstraction in Java On Day 16 of my Java learning journey, I explored Abstraction, one of the core principles of Object-Oriented Programming. Abstraction focuses on hiding implementation details and showing only the essential functionality to the user. 📚 What I Learned Today Today I learned: ✔ What abstraction is and why it is important ✔ How to use abstract classes in Java ✔ Understanding abstract methods (methods without body) ✔ How abstraction works with inheritance 💻 Practice Work To apply my learning, I implemented: • An animal example using abstract class • A shape example demonstrating abstraction 🎯 Key Takeaway Abstraction helps simplify complex systems by hiding unnecessary details and focusing on what is important. It plays a key role in building clean and scalable applications. Step by step, I am gaining a deeper understanding of OOP concepts. #Java #Programming #LearningInPublic #CodingJourney #SoftwareDevelopment #OOP
To view or add a comment, sign in
-
Day 43-What I Learned In a Day(JAVA) Today I worked on String concepts in Java and practiced some interesting problems. What I learned: Creating and using strings in Java Converting a number into an array using strings Handling characters using charAt() Problems I practiced: ✅ Created and manipulated strings ✅ Converted number -array using string ✅ Moved zeros to the end of an array These problems helped me understand how strings and arrays work together and improved my problem-solving skills. Learning step by step and getting better every day! Practiced 👇 #Java #CodingPractice #LearningJourney #Programming #100DaysOfCode
To view or add a comment, sign in
-
How does Java manage memory without pointers? String str = new String("Hello"); str = null; When the reference is removed, the object is not deleted immediately. It simply becomes eligible for Garbage Collection. 👉 Eligibility ≠ Immediate deletion Java’s Garbage Collector automatically cleans such objects in the background, making memory management easier and safer. 💡 Understanding this concept helps in writing better and more efficient code. #Java #Programming #JavaDeveloper #Coding #ComputerScience #MemoryManagement
To view or add a comment, sign in
-
-
Day 55-What I Learned In a Day (JAVA) Today, I learned how to create and use constructors in Java. 🔹 A constructor is a special method used to initialize an object when it is created. 🔹 Constructors are non-static by default, meaning they work with objects and help assign values to instance variables. 🔹 They are automatically executed when an object is created, making object initialization simple and efficient. 🔹 This reduces the need for setting values manually after object creation. Understanding constructors helped me see how Java initializes objects in a structured and efficient way. #Java #OOP #Constructors #LearningJourney #Programming #TechSkills
To view or add a comment, sign in
-
🔹 What is a Constructor in Java? A constructor is a special method that is used to initialize objects in a class. 👉 It is called automatically when an object is created. A constructor helps to give values to an object at the time of creation. Example: class Student { int id; String name; Student(int i, String n) { id = i; name = n; } } ✔ When we create an object: Student s1 = new Student(101, "John"); 🚀 Types of Constructors: ✔ Default Constructor – No parameters ✔ Parameterized Constructor – With parameters ✔ Copy Constructor – Copy values from another object 🚀 Why use Constructor? - To initialize object values - To reduce extra code - Makes object creation easy #FortuneaCloudeTechnology #Java #Constructor #OOP #Programming #Coding
To view or add a comment, sign in
-
-
Nested types are a powerful way to organize and encapsulate logic in Java — but understanding the difference between static and non‑static nested types is key to using them effectively. This post breaks down how each kind works, how they access outer class members, how instances are created, and what the compiler does behind the scenes. Whether you’re structuring helper classes or managing deeper hierarchies, mastering nested types will help you write cleaner, more maintainable Java code. #Java #Programming #SoftwareDevelopment #RheinwerkComputingBlog Read the full post: https://hubs.la/Q048Shz50
To view or add a comment, sign in
-
-
🚀 Java Gotcha: Can we override static methods? 🤔 👉 Short answer: NO ❌ But there’s a twist… class Parent { static void show() { System.out.println("Parent"); } } class Child extends Parent { static void show() { System.out.println("Child"); } } 👉 Now check this: Parent obj = new Child(); obj.show(); // ? ❓ Output? 👉 Parent ✅ 💡 Why? - static methods belong to class, not object - They are resolved at compile time - This is called method hiding, NOT overriding --- 🔥 Key Takeaway: ✔ static methods → cannot be overridden ✔ They can only be hidden 💬 Interview Tip: If polymorphism is involved → static methods won’t behave like instance methods #Java #Programming #Coding #JavaTips #OOP #InterviewPreparation
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development