๐Ÿ’๐Ÿ’ Day 2- CHARACTERISTICS OF JAVA ๐Ÿ™‡๐Ÿ™‡๐Ÿ’†๐Ÿ’†

 

Yho Codestars! It's day 2 and I still feel quite energetic.๐Ÿ‘ถ However, Java has many characteristics. I guess at some point there will be no space to share all I learn in a day, as I do not want this blog to be too cumbersome to read๐Ÿ˜

Here are the lessons I learned in Java today!

Let's discuss the characteristics of JAVA.

1. JAVA is simple!

In my own opinion, JAVA is simple to learn for beginners, however, it's simpler if you already know OOP or worked with C programming.

Why is Java considered simple?

℟↠JAVA has user-friendly syntax.

℟↠Because it does not use pointers, hence there's no memory corruption. 

℟↠It's faster to develop and execute (using the Just in time compilation).

℟↠Because JAVA uses garbage collection to automatically manage its memory; the destruction of objects that are no longer useful.

℟↠Because it is an object-oriented programming language. OOP improves the efficiency, readability, and reusability of a java program. 

℟↠ We can Write JAVA Once and Run it Anywhere-"WORA" because it is a platform-independent language.

In my own opinion, comparing Java to previously existing structures and other types of programming languages can define it as simple. However, I see a lot has to be learned and I dont think it's easy.๐Ÿ‘… - Nothing is easy, just choose your struggle๐Ÿ˜…

2. JAVA is object-oriented: Everything in JAVA is an object.

3. JAVA is portable: Java allows us to carry bytecodes to any platform without any implementation.

4. JAVA is platform-independent: The byte code can Write Once and Run Anywhere. The byte code can run on multiple platforms (platform-independent).

5. JAVA is secured: Java can develop virus-free systems as it has no explicit pointer and it can run inside a virtual machine sandbox. Features that provide security in Java are:
Classloader is found in the JRE-Java Runtime Environment, which is used to load Java classes dynamically into the Java Virtual Machine. This provides security by separating the package for the classes of the local file system from the imported network sources. There is also the Bytecode Verifier, which checks the code fragments for illegal code that can violate access rights to objects. And there is a Security Manager, that determines what a class can access like reading and writing to the local disk. Other external securities that can be provided by the App Developer are SSL, JAAS, and Cryptography. 

6. JAVA is robust: It has strong memory management, Java has exception handlers and type checking mechanism, Java garbage collection, and has no pointers to eliminate security issues.

7. JAVA is architecture-neutral: The primitive data types in Java have fixed sizes unlike in C programming whose data type size differs according to the size of the architecture. This is because Java has no implementation-dependent feature.

8. JAVA is interpreted: JAVA can be referred to as both interpreted and compiled language because the source code is first compiled into bytecodes. The bytecode runs on JVM which is a software-based interpreter, the bytecode allows the interpreter(JVM) to be portable and efficient.

9. JAVA is high performance: Java is known to be faster than other interpreted programming languages because the Java bytecode is very close to Native code. It is considered slightly slower than a compiled C, C++, and other languages because it is interpreted.

10.JAVA is multithreaded: A thread is the concurrent execution of various programs. By defining multiple threads we can write a Java program that can manage several tasks at once. The benefit of the multi-threading process is that it does not occupy memory for each thread.

11. JAVA is distributed: It helps users create distributed applications. This characteristic provides us access to files by calling methods from any machine on the internet. RMI and EJB are utilized in the creation of distributed applications, it shares common memory.

12. JAVA is dynamic: It enables dynamic class loading (classes are loaded on demand). It supports dynamic compilation and garbage collection, likewise, it supports functions from its native languages like C and C++.

๐Ÿ‘ฉ‍❤️‍๐Ÿ’‹‍๐Ÿ‘จ  I hope you are having fun learning Java with me? ๐Ÿคฉ  Feel free to drop a comment and contribute. โ„‹โ„‹ 





Pointers- it is a variable whose value is the address of another variable. A pointer in programming languages generally is an object that stores a memory address. For example in C, any variable or constant must declare a pointer before it can be used to store any variable address.
type *var-name;  
where type is a pointer base type, var-name is the name of the pointer variable, and the asterisk* is used to designate a variable as a pointer.

JIT (Just In Time Compilation) - it is a way to increase the performance of integrated programs. This process is also called Dynamic Compilation. The program may be compiled into native code for enhanced performance during execution. 

Syntax - The structure of statements in a programming language. They are a set of rules you need to follow when writing a programming language. You need to use character structures the computer understands.

OOP (Object Oriented Programming) -  This is a method utilized to design programming classes and objects. It is also referred to as the core of JAVA.

  • OOP is built around the concept of; classes, objects, encapsulation, abstraction, polymorphism, and inheritance. it coordinates a program around well-defined interfaces and objects (can be called data control for accessing codes).

OOL (Object-Oriented Language) - is a high-level computer language that uses an objected-oriented programming technique that combines related data and functions into an object and enables reusability within the same program or in a different one.

  • Its goal is to reduce complexity in typical procedural languages via data binding and encapsulation methods.
  • Objects in OOL allow limited or no access to other functions and methods within the program which enables only authorized or inherited methods and functions to access specific objects.
  • It implements objects and their associated procedure within a programming context to create. software programs.
Objects -  Objects can be defined as an instance of a class. A.K.A- RTE (Run Time Entity). they contain methods and properties that make them useful, they contain address, take up space in the memory, and can be physical or logical. They are created from a class in JAVA and they have states and behaviors. They are considered an abstract data type- which means an object's behavior is expressed by a set of values and operations.

    Group training = new Group();

In this example, training is a reference variable a.k.a object name, not an object.

An object is a memory area created at runtime whose reference/address/location is accessed by the reference variable (a reference to an object is stored hence the name)

A reference variable is created while coding (before compilation and also before runtime). An object is created at runtime (after compilation). 

 


Run Time Entity: It exists only during program execution in the memory area, and does not exist outside the execution of a program.


Distributed Application: They are applications that run on many computers in a network at the same time and can be stored on a server or with cloud computing.

RMI (Remote Method Invocation) & EJB (Enterprise Java Bean).

Primitive Data Type: Are 8 in number; int, char, boolean, short, long, float, byte, and double.

Implementation Dependent Feature: It is a common behavior of LISP (standard research tool of AI) which has been intentionally reserved as unspecified, and might be defined in some implementation that conforms and not others with details that may differ across the implementation.

๐Ÿ‘ฉ‍❤️‍๐Ÿ’‹‍๐Ÿ‘จ  I hope you had fun learning Java with me? ๐Ÿคฉ  Feel free to drop a comment and contribute. โ„‹โ„‹ 





Comments

Post a Comment

Popular posts from this blog

๐Ÿ’…๐Ÿ’…MY ACRONYMS- EXTRA NOTES (Series I)๐Ÿ’…๐Ÿ’…

๐Ÿ˜ฎ๐Ÿ˜ฎ DAY 4- FEATURES OF JAVA ๐Ÿ˜ฎ๐Ÿ˜ฎ

๐ŸŽฏ๐ŸŽฏ DAY 3- INTRODUCTION TO JAVA (II) ๐ŸŽฏ๐ŸŽฏ

♕♕♕My First Blog Post♕♕♕

๐ŸŽฏ๐ŸŽฏDAY 1- INTRODUCTION TO JAVA๐ŸŽฏ๐ŸŽฏ