Java – Overview
JAVA is a distributed technology developed by James Gosling, Patric Naugton, etc., at Sun Micro System has released lot of rules for JAVA and those rules are implemented by JavaSoft Inc,USA (which is the software division of Sun Micro System) in the year 1990. The original name of JAVA
is OAK (which is a tree name). In the year 1995, OAK was revised and developed software called JAVA (which is a coffee seed name).
JAVA released to the market in three categories J2SE (JAVA 2 Standard Edition),J2EE(JAVA 2 Enterprise Edition) and J2ME (JAVA 2 Micro/Mobile Edition).
i. J2SE is basically used for developing client side applications/programs.
ii. J2EE is used for developing server side applications/programs.
iii. J2ME is used for developing server side applications/programs.
If you exchange the data between client and server programs (J2SE and J2EE), by default JAVA is having on internal support with a protocol called http. J2ME is used for developing mobile applications and lower/system level applications. To develop J2ME applications we must use a
protocol called WAP (Wireless Applications Protocol).
FEATURES of java:
1. Simple
2. Platform independent
3. Architectural neutral
4. Portable
5. Multi threading
6. Distributed
7. Networked
8. Robust
9. Dynamic
10. Secured
11. High performance
12. Interpreted
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 beprocessors 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 non portable language.
5. Multi Threading:
Definitions:
1. A flow of control is known as
2. A multi threaded program
3. A program is said to be multi threaded program programs. For each and every sub flow of controls are executing concurrently. Such type of applications is kno
4. The languages like C, Cpp are treated as (STML). SMTL are those in which there exists
5. The languages like JAVA (MTML). MTML are those in which there exist
6. Whenever we write a foreground/child thread
7. A foreground thread is one which always executes user defined sub
program there is a possibility of existing n number of
8. A background thread is one which always monitors the status of
and every JAVA program t
9. Hence background thread
6. Distributed:
A service is a said to be a can be accessed by n number of clients across the globe. In order to develop applications we must require architecture called applications we require a technology called scale organizations.thread.is one in which there exists multiple flow of controlsif and only of there exists n number of sub sub-program there exists a separate flow of control flow of controls is known as known as multi threading applications.threads as single threaded modeling languages single flow of control.and DOT NET are treated as multi threaded modeling languages multiple flows of controls JAVA program there exists by default two threads and background/main/parent thread.sub-programs. In a foreground threads foreground thread there exists only one background thread.will be created first and later foreground thread distributed service which runs in multiple servers trusted network architecture. To develop these J2EE. Distributed applications are preferr i.e., threads.subflow control. All such threads. Such d controls.threads. They are JAVA threads. thread. In each will be created.and that servicedistributed preferred by
7. Networked:
In real world we have two types of networks. They are networks.Un-trusted networks: