|
| 1 | +*"Java"* |
| 2 | + |
| 3 | + |
| 4 | +# Platform Independence : |
| 5 | + |
| 6 | +1. Java follows the Write Once, Run Anywhere (WORA) philosophy. |
| 7 | +2. Java programs are compiled into an intermediate form called *bytecode*. |
| 8 | +3. This bytecode can be executed on any platform that has a Java Virtual Machine (JVM). |
| 9 | +4. The JVM is platform-specific, meaning that it adapts Java programs |
| 10 | +to run on different operating systems like Windows, Linux, and macOS. |
| 11 | + |
| 12 | + |
| 13 | +# Automatic Memory Management (Garbage Collection) : |
| 14 | + |
| 15 | +1. Java handles memory management through automatic garbage collection. |
| 16 | +2. This means the JVM automatically manages memory allocation and deallocation, |
| 17 | +freeing up memory that is no longer in use. |
| 18 | +3. This eliminates the need for manual memory management (such as the use of pointers in C/C++). |
| 19 | + |
| 20 | + |
| 21 | +# Multithreading : // https://www.geeksforgeeks.org/multithreading-in-java/ |
| 22 | + |
| 23 | +1. Java provides built-in support for multithreading, allowing developers to |
| 24 | +write highly responsive, parallel programs. |
| 25 | +2. Threads are lightweight processes that can run concurrently. |
| 26 | +3. Java simplifies multithreading by providing a rich set of APIs for creating and managing threads. |
| 27 | + |
| 28 | + |
| 29 | +# Security : |
| 30 | + |
| 31 | +* Java was designed with security in mind. |
| 32 | +* It runs in a "sandbox" to prevent untrusted code from causing harm. - < Java Sandbox > // know more. |
| 33 | +
|
| 34 | +""A sandbox is a testing environment that isolates untested code changes and |
| 35 | +outright experimentation from the production environment or repository |
| 36 | +in the context of software development, including web development, |
| 37 | +automation, revision control, configuration management (see also change management), |
| 38 | +and patch management."" |
| 39 | + |
| 40 | +Key security features in Java include: |
| 41 | + |
| 42 | +1. Bytecode Verification: Ensuring that the bytecode does not perform unsafe operations. |
| 43 | +2. Security Manager: A component of the JVM that controls |
| 44 | +what resources the program can access (e.g., file system, network). |
| 45 | +3. Class Loaders: Load classes dynamically and can impose security checks. |
0 commit comments