0% found this document useful (0 votes)
10 views7 pages

Java Basic Notes

Java was initiated by James Gosling at Sun Microsystems in 1991 and officially released in 1995, later acquired by Oracle in 2009. It has evolved significantly, with Java 8 introducing major features like Lambdas and Streams, and continues to develop with versions like Java 17 and Java 21. Java is widely used in various fields such as enterprise applications, Android development, and cloud computing, supported by its core features like platform independence, object-oriented design, and robust security.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views7 pages

Java Basic Notes

Java was initiated by James Gosling at Sun Microsystems in 1991 and officially released in 1995, later acquired by Oracle in 2009. It has evolved significantly, with Java 8 introducing major features like Lambdas and Streams, and continues to develop with versions like Java 17 and Java 21. Java is widely used in various fields such as enterprise applications, Android development, and cloud computing, supported by its core features like platform independence, object-oriented design, and robust security.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

💡 Java History (Short & Sweet)

Year Milestone

1991 Started by (Father of java ) James Gosling & team at Sun Microsystems
(Project name: Green Talk -> Oak -> Java)

1995 Officially released as Java by Sun Microsystems

2009 Acquired by Oracle Corporation

2014+ Java 8 revolutionized Java with Lambdas & Streams

2023+ Java continues evolving (Java 17+, Java 21 with LTS)

Field Use

💼 Enterprise Apps Java + Spring Boot dominates backend deve

📱 Android Apps Core language for native Android developme


with Kotlin)

🌍 Web Applications Servlets, JSP, Spring MVC

🔧 Backend RESTful APIs with Spring Boot & microservic


Systems / APIs architecture

📊 Big Data Hadoop (written in Java), Spark integration

🎮 Games & Lightweight games, simulations using LibGD


Simulations

🤖 AI/ML Though not #1 in ML, Java supports framew


(Integration) Deeplearning4j

☁️ Cloud & DevOps Used in cloud platforms, containerized micro


with Docker/Kubernetes

🌐 Modern Uses of Java (2020s & beyond)


12 core features of Java that make it one of the most popular
programming languages in the world:
🚀 1. Platform Independent - Run Anywhere
Java programs are compiled into bytecode which can run on any system
with a Java Virtual Machine (JVM) — making it (WORA) "write once, run
anywhere."

🧱 2. Object-Oriented - Encapsulates Data


Java treats everything as an object (except for primitive types).

It supports key OOP concepts: inheritance, encapsulation, abstraction,


and polymorphism,to create modular, reusable, and maintainable code.

OOP in Java is a programming paradigm

🧹 3. Automatic Memory Management (Garbage Collection)


Java has a built-in garbage collector that automatically handles memory
cleanup, helping to prevent memory leaks.

🛡️ 4. Secure - Protected Environment


Java provides a secure runtime environment,

with features like bytecode verification, a security manager, and runtime


checking to prevent threats like unauthorized access.

We can develop virus free system , no explicit pointers .

Java program run inside a virtual machine Sandbox (JVM)

💪 5. Robust - Reliable Execution


It has strong memory management,

exception handling concept (Stack over flow )


A typed language is characterized by having a system of types.

Java provides Automatic Garbage Collector.

Type checking is the process that ensures the rules of this type system
are followed.

Java is a typed language that uses static type checking, type checking
to make applications more reliable and crash-resistant.

💡 6. Simple and Familiar - Easy Learning


Java is easy to learn,

Java does not have pointers and operator overloading.

⏱️ 7. Multithreaded - Sub set of Multi task - Concurrent


Tasks

Java has built-in support for multithreading, which lets you run multiple
threads (parts of a program) simultaneously, improving performance for
complex tasks.

Threads is a lightweight process that runs independently.

⚙️ 8. High Performance - Efficient Speed


Although not as fast as low-level languages like C++, Java's Just-In-Time
(JIT) compiler and optimized JVMs provide near-native performance.

🌐 9. Distributed - Network Ready


Java supports networking and distributed computing via tools like
Remote Method Invocation (RMI) and Enterprise JavaBeans (EJB).

Java enables programs on different computers to communicate and work


together using tools like RMI (for remote task execution) and EJB (for
building robust, distributed business applications). These technologies
simplify the creation of networked and distributed software systems.

🧱 10. Architecture Neutral


Java bytecode is not dependent on any specific hardware or OS
architecture (like new updates), making Java programs extremely
portable.

📚 11. Rich Standard Library


Java comes with a massive standard library (API) that supports
everything from data structures and networking to GUI development
and XML parsing.

🔄 12. Dynamic - Flexible Linking


Java supports dynamic linking of classes. New classes can be loaded
and linked at runtime, enabling flexible and extensible applications.

[Link] - Cross Platform

🚀 Top Advantages of Java


Feature Benefit

✅ Platform Write Once, Run Anywhere – Runs on any OS via JVM


Independent
✅ Object-Oriented Clean design, modularity, easy to maintain

✅ Robust & Secure Strong memory management, exception handling, and security
features

✅ Rich API Built-in packages for networking, I/O, collections, etc.

✅ Huge Ecosystem Frameworks like Spring, Hibernate, and tools like Maven

✅ Multithreading Built-in thread support for concurrent apps

✅ Community Support Massive developer community, tons of libraries

✅ Backward Old versions still run on newer JDKs


Compatible

Alright, dude, here's the point-by-point breakdown of those 12 Java features in


two easy lines each:
1.​ Platform Independent: Java code runs on any operating system with a
JVM, letting you write once and deploy everywhere. This "write once,
run anywhere" capability is a core strength.​

2.​ Object-Oriented: Java structures code around "objects" that combine


data and behavior, making programs modular and easier to manage.
This approach uses concepts like classes, objects, and inheritance.​

3.​ Simple Language: Java's syntax is designed to be relatively


straightforward and less complex than languages like C++, making it
easier to learn and use. It omits features like explicit pointers.​

4.​ Robust Memory: Java manages memory automatically through garbage


collection, preventing common programming errors like memory leaks.
This contributes to more stable and reliable applications.​

5.​ Secure Platform: Java's architecture includes security features like


bytecode verification and a security manager, protecting against
malicious code. This makes it suitable for network-based applications.​

6.​ Multithreaded Execution: Java allows different parts of a program to run


concurrently, improving performance and responsiveness. This enables
handling multiple tasks within a single application.​

7.​ Portable Code: Java bytecode is platform-independent, meaning


compiled code can run on any system with a compatible JVM. This
facilitates easy deployment across diverse environments.​

8.​ High Performance: While interpreted, Java achieves good performance


through techniques like Just-In-Time (JIT) compilation. Frequently used
bytecode is compiled into native machine code for faster execution.​

9.​ Distributed Computing: Java supports building distributed applications


where components run on different machines and communicate over a
network. RMI and EJB are key technologies for this.​

10.​Dynamic Loading: Java can load classes and code on demand during
runtime, providing flexibility and efficiency. This means only necessary
parts of the application are loaded into memory.​

11.​Extensible Language: Java's design allows developers to add new


functionalities and libraries, making it adaptable to various needs. The
vast Java ecosystem supports this extensibility.​

12.​Interpreted Language: Java code is compiled into bytecode, which is


then interpreted by the JVM. This two-step process enables platform
independence.​

12 feature shortcuts​
Alright, dude, let's brainstorm a quick shortcut to remember those 12 Java features.
Think of a memorable phrase or acronym using the first letter (or a key sound) of
each feature. This might be a bit of a stretch, but let's try to make it stick:

Please Offer Some Really Sweet Mangoes Packed High Deep Everywhere In
Elegant Boxes.

Let's break that down and loosely connect it:


●​ Please - Platform Independent
●​ Offer - Object-Oriented
●​ Some - Simple Language
●​ Really - Robust Memory
●​ Sweet - Secure Platform
●​ Mangoes - Multithreaded Execution
●​ Packed - Portable Code
●​ High - High Performance
●​ Deep - Distributed Computing
●​ Everywhere - Extensible Language (thinking broadly about adding
everywhere)
●​ In - Interpreted Language
●​ Elegant Boxes - Elegant/Easy Loading (for Dynamic Loading - a bit of a
stretch!)

You might also like