You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Migrate development environment from Windows to macOS and continue project updates
- Shifted primary development environment from Windows to macOS to ensure better performance, stability, and streamlined workflow for Java development.
- Removed OS-specific metadata and ensured platform-agnostic project compatibility.
- Normalized line endings to LF for cross-platform consistency.
- Verified and adjusted file paths, permissions, and encoding settings to suit macOS environment.
- Cleaned up unnecessary Windows-generated files and updated Git configuration accordingly.
- Future commits and development will now be
managed entirely from macOS.
This migration ensures a cleaner, more consistent
setup moving forward and prepares the project for
scalable development across Unix-based systems.
Future development will continue on macOS for a
smoother, Unix-based experience.
Signed-off-by: Someshdiwan <[email protected]>
| Thread, Runnable | Base classes/interfaces for creating threads |
1080
+
| synchronized, wait/notify | Object-level locks and inter-thread signaling |
1081
+
| volatile | Ensures visibility of shared variables across threads |
1082
+
| AtomicInteger | Lock-free, thread-safe operations on single variables |
1083
+
| ExecutorService | Manages thread pools with better control (shutdown, task submission) |
1084
+
| CompletableFuture | Async programming with callbacks and chaining (non-blocking) |
1085
+
| ReentrantLock,ReadWriteLock | Advanced locking with finer-grained control over access |
1086
+
| Deadlock | Circular waiting → prevent with proper lock ordering or timeouts |
1087
+
| CountDownLatch, CyclicBarrier | Tools to coordinate threads reaching common state |
1088
+
1089
+
```
1090
+
1030
1091
---
1031
1092
1032
1093
## Part 1: Deadlocks in Java
@@ -1572,6 +1633,37 @@ You dive into **generic classes, interfaces, and wildcards** — foundational fo
1572
1633
1573
1634
### [Section24 Java Generics Type Safe Data Structures On GitHub](https://github.com/Someshdiwan/JavaEvolution-Learning-Growing-Mastering/tree/master/Section24JavaGenerics)
1574
1635
1636
+
#### 🧠 Combined Summary:
1637
+
1638
+
-**Generic Classes**:
1639
+
-`GenericClass/Pair.java`, `Box.java`, `BoxIMP.java`: Define generic classes like `Pair<K,V>` or `Box<T>` to hold objects of any type safely.
1640
+
-`Main.java`: Showcases how to create and use these classes with actual types.
1641
+
1642
+
-**Generic Interfaces**:
1643
+
-`GenericInterfaces.java`, `StringContainer1.java`, `Employee1.java`: Demonstrate how to define and implement interfaces that work with generic types.
1644
+
- Useful for APIs that handle collections, services, or containers.
1645
+
1646
+
-**Generic Methods & Utilities**:
1647
+
-`GenericFunctionsExample.java`, `GenericDemo.java`, `GenericClassDemo.java`: Use generics in methods for flexible and reusable logic.
1648
+
- Great for sorting, swapping, or processing elements in collections.
1649
+
1650
+
-**Bounded Types (Upper & Lower Bounds)**:
1651
+
-`Upper and Lower Bounds in Java Generics.txt`: Learn how to **restrict generics** using `extends` and `super` to work with specific type hierarchies.
1652
+
- Wildcards (`<?>`, `<? extends T>`, `<? super T>`) add power and flexibility when dealing with generic data.
1653
+
1654
+
-**Wildcard Use-Cases**:
1655
+
-`Java Generics Wildcards, Generic Methods, and Super Bounds.txt`: Deep dive into when and why to use wildcards, especially for reading/writing from lists.
1656
+
1657
+
-**Foundational Notes**:
1658
+
-`WhyGenerics.java`, `Generics in Java.txt`: Explain the motivation behind generics—type safety, DRY code, compile-time checks, and avoiding casting.
1659
+
1660
+
---
1661
+
1662
+
📘 **Pro Tips**:
1663
+
- Use `<? extends T>` when you only want to **read** from a structure.
1664
+
- Use `<? super T>` when you only want to **write** into a structure.
1665
+
- Prefer generics to raw types to prevent **ClassCastException** at runtime.
0 commit comments