FEATURES of java:
2. Platform independent
3. Architectural neutral
5. Multi threading
11. High performance
13. Object Oriented Programming Language
1. Simple: JAVA is simple because of the following factors:
i. JAVA is free from pointers hence we can achieve less development time and less execution time [whenever we write a JAVA program we write without pointers and internally it is converted into the equivalent pointer program].
ii. Rich set of API (application protocol interface) is available to develop any complex application.
iii. The software JAVA contains a program called garbage collector which is always used to collect unreferenced (unused) memory location for improving performance of a JAVA program. [Garbage collector is the system JAVA program which runs in the background along with regular JAVA program to collect unreferenced memory locations by running at periodical interval of times for improving performance of JAVA applications.
iv. JAVA contains user friendly syntax’s for developing JAVA applications.
2. Platform Independent: A program or technology is said to be platform independent if and only if which can run on all available operating systems. The languages like C, Cpp are treated as platform dependent languages since these languages are taking various amount of memory spaces on various operating systems [the operating system dos understands everything in the form of its native format called Mozart (MZ) whereas the operating system Unix understands everything in its negative format called embedded linking format (elf). When we write a C or Cpp program on dos operating and if we
try to transfer that program to Unix operating system, we are unable to execute since the format of these operating systems are different and more over the C, Cpp software does not contain any special programs which converts one format of one operating system to another format of other operating system].
The language like JAVA will have a common data types and the common memory spaces on all operating systems and the JAVA software contains the special programs which converts the format of one operating system to another format of other operating system. Hence JAVA language is treated as platform independent language.
[JAVA language is also treated as server independent language since the server side program can run on any of the server which is available in the real world (web server or application server). JAVA can retrieve or store the data in any one of the data base product which is available in rest world irrespective of their vendors (developers) hence JAVA language is product independent language.
In order to deal with server side program from the client side, we can use C language client program, Cpp client program, DOT NET client program, etc. hence JAVA language is a simple, platform independent, server independent, data base/product independent and language independent programming language].
3. Architectural Neutral: A language or technology is said to be processors in the real world. The language like JAVA can run on any of the processor irrespective of their vendor.
4. Portable: A portable language is one which can run on all operating systems and on all processors
irrespective their architectures portable languages whereas the language architectural neutral which can run on any available The languages like C, Cpp are treated as architectural dependent and providers. The languages like C, Cpp are treated as JAVA is called portable language.
5. Multi Threading: Definitions:
1. A flow of control is known as Thread.
2.A multi threaded program is one in which there exists multiple flow of controls i.e, threads.
3. A program is said to be multi threaded program if and only of there exists n number of sub programs. For each and every sub program there exits a separate flow if control.
4. The languages like C, Cpp are treated as threads as single thereaded modeling langugaes(STML). STML are those in which there exists single flow of controls.
5. The languages like JAVA and .Net are treated as multi threaded modeling languages(MTMl).
MTML are those in which there exist Multiple flows of controls.
6. Whenever we write a java program there exits by default two threads. They are foreground/child thread and background/main/parent thread.
7. A foreground thread is one which always executes user defined sub-programs. In a java program is a possibility of existing n number of foreground threads.
8. A background thread is one which always monitors the status of forground thread. in each and every java program there exist only one background thread.
9. Hence background thread will be created first and later forground thread will be created.
6. Distributed: A service is a said to be a distributed service which runs in multiple service can be accessed by n number of clients across the globe. In order to develop distributed applications we must require arechitecture called trusted network architecture. To develope these applications we require a technology called J2EE. Distributed applications are preferred by large scale organizations.
In real world we have two types of networks. They are un-trusted networks and trusted networks.
Un-trusted networks: A network is said to be un-trusted network in which there exists n number of inter
connected non-autonomous architecture. untrusted network is also known as LAN.
Trusted network: A network is said to be trusted network in which there exists n number of inter connected autonomous architecture. Trusted network is also known as WAN.