👾 Pass by Value vs Pass by Reference 👍Pass by Value: A copy of the actual value is sent to the function. Changes inside the function don’t affect the original variable. 👍Pass by Reference: A reference (or address) to the original variable is sent. So if you modify it inside the function, the change reflects outside too. Analogy🏘️: Imagine you give your friend either , A photocopy of your drawing → they can scribble on it, but your original stays safe (Pass by Value) The original drawing → any changes they make will affect your version too (Pass by Reference) ♨️Tip: Java as a language is always pass by value. It sends a copy of the variable, not the original. For primitive type: actual value is copied For objects: reference is copied. #ProgrammingBasics #Developers #LearningJourney #Java #CodingConcepts
Pass by Value vs Pass by Reference: Java Basics
More Relevant Posts
-
Week 8 || Day 2💡 Reversing words in Java — step by step! Today I practiced reversing each word in a sentence using two different approaches: 🔹 Approach 1 — With .reverse() method: Split the sentence using split(" ") to separate words. Used StringBuffer for each word and applied .reverse() directly. Joined the reversed words back with spaces. 🔹 Approach 2 — Without using .reverse(): Again split the string into words. For each word, used a for loop running from the last character to the first. Appended each character manually into a new StringBuffer. Combined the reversed words carefully, avoiding extra spaces.⚡ #Java #StringBuffer #ProgrammingLogic #JavaFullStack
To view or add a comment, sign in
-
⁉️Say goodbye to boilerplate code! If you're still writing bulky anonymous inner classes in Java, it's time to level up. The introduction of Functional Interfaces and Lambda Expressions in Java 8 was a game-changer. Q. Why do they matter? 1. Cleaner, more readable code: Write concise and expressive code by representing an interface with a single abstract method. 2. Enables functional programming: Pass behavior as arguments, unlocking powerful features like the Stream API. 3. Reduces overhead: More lightweight than traditional inner classes, leading to better performance and smaller application footprints. Consider the classic Runnable example: java // Old way Thread t = new Thread(new Runnable() { public void run() { System.out.println("Classic Java"); } }); // Modern way with a lambda Thread t = new Thread(() -> System.out.println("Modern Java")); Use code with caution. This change isn't just cosmetic—it unlocks a more powerful and modern approach to Java development. 🫠What's your favorite use-case for lambdas or the Stream API? Share your thoughts below! #Java #Java8 #Programming #CleanCode #DeveloperTips #SoftwareDevelopment
To view or add a comment, sign in
-
//Unlearn & Relearn “Can _ and $ be used as variable names?” 🔹 _ cannot be used as an identifier in Java 8 and above. It became a reserved keyword to avoid confusion and to support future language features. ex: int _ = 10; // Not allowed in modern Java 🔹 $ can still be used as an identifier, but it’s strongly discouraged: int $ = 100; // Valid but not recommended The $ symbol is commonly used by the compiler for things like inner classes and generated code, so using it in real projects reduces clarity. Remember: $ → Allowed, but avoid using it _ → Not allowed as a standalone identifier (Java 8+)
To view or add a comment, sign in
-
🧠 Why I stopped overusing Java Streams When Java Streams appeared, I was amazed. One line instead of a dozen loops? Beautiful. But over time, I realized: beauty ≠ efficiency. Streams are great for readability — until they aren’t. Nested streams, multiple filters, and maps can easily hide complexity and create unnecessary object allocations. In high-load systems, that’s a silent killer. Sometimes a simple for loop performs 3–4x faster — and is much easier to debug. 👉 My rule now: Use Streams when they make code clearer, not just shorter. Write for humans first, not compilers. #Java #BackendDevelopment #CodeQuality #ProgrammingTips #SoftwareEngineering
To view or add a comment, sign in
-
-
🚀 Top Modern Java Features - Part 2🤔 🔥 Modern Java = Cleaner Code + More Power + Zero Boilerplate. 👇 6️⃣ RECORDS 🔹Data classes in one line. No boilerplate. 🔹E.g., record User(String name, int age) {} 7️⃣ SWITCH EXPRESSIONS 🔹Old switch retired. The new one returns values, compact and powerful. 🔹E.g., var type=switch(day){case SAT, SUN -> "Weekend"; default -> "Weekday";}; 8️⃣ PATTERN MATCHING 🔹Smarter instanceof. No casting headaches. Cleaner syntax. 🔹E.g., if (obj instanceof String s) System.out.println(s.toUpperCase()); 9️⃣ VIRTUAL THREADS (JAVA 21) 🔹Run thousands of threads effortlessly, concurrency made simple. 🔹E.g., Thread.startVirtualThread(() -> doWork()); 🔟 SEALED CLASSES 🔹Decide who extends you. Secure, controlled inheritance. 🔹E.g., sealed class Shape permits Circle, Square {} 💬 Which feature changed the way you write Java? #Java #Java21 #ModernJava #Developers #Programming #CodingTips #SoftwareEngineering
To view or add a comment, sign in
-
🚀 Method Overloading (Java) Method overloading is a feature in Java that allows a class to have multiple methods with the same name but different parameter lists (different number, types, or order of parameters). The compiler determines which method to call based on the arguments passed to the method. Method overloading enhances code readability and provides flexibility in how methods are called. It allows you to perform similar operations with varying inputs. 🌟 Read. Learn. Grow. Repeat. 🔄 📚 Everything you need to master tech — 10,000+ concepts, 4,000+ articles, 12,000+ quizzes. Personalized for you! 👇 Links available in the comments! #Java #JavaDev #OOP #Backend #professional #career #development
To view or add a comment, sign in
-
-
🔢 Why Does 0123 Print as 83 in Java? 🤔 While working on constructors today, I came across an interesting behavior in Java that reminded me how subtle details in syntax can completely change what your code does! When I wrote this line 👇 Student objectTwo = new Student(0123); I expected it to print 123. But instead, the console output was: 83 So what’s happening here? 💡 In Java, when a number starts with a leading zero (0), it is interpreted as an octal (base 8) number — not a decimal one. Let’s decode it: 0123 (octal) = 1×8² + 2×8¹ + 3×8⁰ = 64 + 16 + 3 = 83 (decimal) Hence, Java prints 83! --- 🧩 Takeaway: ✅ 123 → Decimal (Base 10) ✅ 0123 → Octal (Base 8) ✅ 0x123 → Hexadecimal (Base 16) ✅ 0b1010 → Binary (Base 2) --- 💬 Lesson: Tiny syntax details can make a big difference. Always watch out for leading zeros in numeric literals — they might silently convert your values to something unexpected! --- 🔖 #Java #ProgrammingTips #Developers #CodeLearning #JavaBasics #CodingCommunity #SoftwareEngineering #TechLearning
To view or add a comment, sign in
-
-
💭 Do you know what a deadlock is and how to avoid it? (Java cases) In concurrent programming, a deadlock happens when two or more threads are stuck forever, each waiting for the other to release a resource. Imagine Thread A holds Lock 1 and waits for Lock 2, while Thread B holds Lock 2 and waits for Lock 1... Voilà, both are stuck forever. ♾️ In Java, deadlocks usually occur when using synchronized blocks or explicit locks without a clear locking order. They can also appear when multiple threads compete for shared resources like database connections or files. Common causes include: • Nested synchronized blocks acquiring multiple locks. • Forgetting to release locks in exception cases. • Circular dependencies between shared resources. How to avoid them: • Always acquire locks in a consistent order. • Use tryLock() with timeouts (ReentrantLock) instead of synchronized. • Minimize the scope of synchronized code. • Favor concurrent collections like ConcurrentHashMap that handle synchronization internally. Deadlocks are silent but deadly for multithreaded apps and detecting it often requires tools like jconsole or thread dumps analysis. Have you ever faced one in production? How did you spot and fix it? #Java #Multithreading #Concurrency #Deadlock #ProgrammingTips #SoftwareEngineering #Lock
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
Love the drawing analogy! Makes a tricky concept instantly clear 👏