java ms harsha

15
JAVA EVOLUTION BY HARSHA BATRA ASSISTANT PROFESSOR ww.advanced.edu.in

Upload: harsha-batra

Post on 08-Jan-2017

163 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Java ms harsha

JAVA EVOLUTIONBYHARSHA BATRAASSISTANT PROFESSOR

www.advanced.edu.in

Page 2: Java ms harsha

Introduction Java is a another programming language but with a

difference that it is purely object-oriented. It is most

complete programming language available today. It is also

secure, making it well-suited for Internet programming.

www.advanced.edu.in

Page 3: Java ms harsha

Contents 1. Java - Introduction

2. History of Java

3. Features of Java

4. Java Environment

5. JRE Components

Page 4: Java ms harsha

Java - Introduction Java is a set of computer software and specifications developed by Sun Microsystems, later

acquired by Oracle Corporation, that provides a system for developing application software and

deploying it in a cross-platform computing environment.

Java is used in a wide variety of computing platforms from embedded devices and mobile

phones to enterprise servers and supercomputers.

Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific

supercomputers, cell phones to the Internet, Java is everywhere!

www.advanced.edu.in

Page 5: Java ms harsha

History of Java

1) James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in

June 1991. The small team of sun engineers called Green Team.

2) Originally designed for small, embedded systems in electronic appliances like set-top boxes.

3) Firstly, it was called "Greentalk" by James Gosling and file extension was .gt.

4) After that, it was called Oak and was developed as a part of the Green project.

5) In 1995, Oak was renamed as "Java" because it was already a trademark by Oak Technologies.

www.advanced.edu.in

Page 6: Java ms harsha

Features of JavaCompiled and Interpreted: Java has both Compiler and Interpreter Feature. Program is First Compiled

and then Interpreted .In the first step after Compilation it creates Bytes Codes rather than Machine code.

Then in second step Bytes Code is Converted into the Machine Language with the help of the Interpreter.

Platform Independent:- Java is Platform Independent means program of java is Easily transferable. As

mentioned above that after Compilation bytes code gets created this can be transferred easily to

another Computer. It is not necessary for computers having same Operating System in which the code of

the java was created and executed.

Object-Oriented:- We Know that Java is purely OOP Language i.e. all the Code is Written into the classes

and Objects. For this feature java is most popular language.

www.advanced.edu.in

Page 7: Java ms harsha

Simple Small and Familiar:- is a simple Language Because it contains many features of other Languages like

c and C++ and Java Removes Complexity because it doesn’t use pointers, Storage Classes and Go to

Statements and java Doesn’t support Multiple Inheritance

Multithreaded and Interactive:- Java uses Multithreaded Techniques For Execution. Program of java is

divided into the Small parts those are Executed by Compiler of java itself. Java is Called as Interactive because

Code of java Supports CUI as well as GUI Programs.

Secure: Java was designed with security in mind. As Java is intended to be used in networked/distributed

environments so it implements several security mechanisms to protect against malicious code that might try

to invade file system. For example: The absence of pointers in Java makes it impossible for applications to

gain access to memory locations without proper authorization as memory allocation and referencing model

is completely opaque to the programmer and controlled entirely by the underlying run-time platform .

www.advanced.edu.in

Page 8: Java ms harsha

Distributed:- The program in java can be design to run on computer networks. Java provides an extensive library of

classes for communicating, using TCP/IP protocols such as HTTP and FTP. This makes creating network connections

much easier than in C/C++. You can read and write objects on the remote sites via URL with the same ease that

programmers are used to when read and write data from and to a file. This helps the programmers at remote

locations to work together on the same project.

High performance: Java programs are complied to portable intermediate form know as bytecodes, rather than to

native machine level instructions and JVM executes Java bytecode on. Any machine on which it is installed. This

architecture means that Java programs are faster than program or scripts written in purely interpreted languages but

slower than C and C++ programs that compiled to native machine languages.

www.advanced.edu.in

Page 9: Java ms harsha

Architectural Neutral: One of the key feature of Java that makes it different from other programming

languages is architectural neutral (or platform independent). This means that the programs written on one

platform can run on any other platform without having to rewrite or recompile them. In other words, it

follows 'Write-once-run-anywhere' approach.

Java programs are compiled into byte-code format which does not depend on any machine architecture

but can be easily translated into a specific machine by a Java Virtual Machine (JVM) for that machine. This

is a significant advantage when developing applets or applications that are downloaded from the Internet

and are needed to run on different systems.

Dynamic and Extensible Code:- java is Object-Oriented and hence follows Inheritance which supports

code-reusability and the built in Functions of java and Classes can also be reused.

www.advanced.edu.in

Page 10: Java ms harsha

Java Environment Java environment includes a large number of development tools and hundreds of classes and methods. The

development tools are a part of JDK (Java Development Kit), and classes and methods are a part of JSL (Java Standard

Library), also known as API(Application Programming Interface).

Java Development Kit

JDK comes with a collection of tools used for developing and running Java programs. They include:

1. Appletviewer (for viewing Java applets) 5. javah (for C header files)

2. javac (java compiler) 6. javadoc (for HTML documents)

3. java (java interpreter) 7.jdb (java debugger)

4. javap (java disassembler)

www.advanced.edu.in

Page 11: Java ms harsha

JRE Components The JRE is the software environment in which programs are compiled for a typical JVM (Java Virtual Machine)

implementation can run. The runtime system includes:

1. JVM: It is a program that interprets the intermediate Java byte code and generates the desired output. It is because

of JVM and byte code that make Java programs portable.

2. Runtime class libraries: These are a set of core class libraries that are required for the execution of Java programs.

3. User Interface toolkits: AWT (Abstract Windows Toolkit) and Swing are examples of toolkits that support varied input

methods to interact with application program.

4. Deployment Technologies: JRE comprises of Java Plug-in and Java Web Start.

www.advanced.edu.in

Page 12: Java ms harsha

1. JVM

The JVM is an abstract computing machine, having an instruction set that uses memory. Virtual machines are

often used to implement a programming language. The JVM is the cornerstone of the Java programming language.

It is responsible for Java's cross-platform portability and the small size of its compiled code.

The Solaris JVM is used to execute Java applications. The Java compiler, javac, outputs bytecodes and puts them

into a .class file. The JVM then interprets these bytecodes, which can then be executed by any JVM

implementation, thus providing Java's cross-platform portability. The next two figures illustrate the traditional

compile-time environment and the new portable Java compile-time environment.

www.advanced.edu.in

Page 13: Java ms harsha

1.1 Multithreading JVM The Java programming language requires that multithreading (MT) programs be supported. All Java interpreters

provide an MT programming environment. However, many of these interpreters support only uniprocessor

multithreading, so Java program threads are executed one at a time.

The Solaris JVM interpreter takes full advantage of multiprocessor systems by using the intrinsic Solaris

multithread facilities. These allow multiple threads of a single process to be scheduled simultaneously onto

multiple CPUs. An MT Java program run under the Solaris JVM will have a substantial increase in concurrency over

the same program run on other platforms.

www.advanced.edu.in

Page 14: Java ms harsha

1.2 Sun Just-In-Time (JIT) Compiler

The Sun Java JIT compiler, an integral part of the Solaris JVM, can accelerate execution performance many times

over previous levels. Long-running, compute-intensive programs show the best performance improvement.

JIT Compile Process

When the JIT compiler environment variable is on (the default), the JVM reads the .class file for interpretation

and passes it to the JIT compiler. The JIT compiler then compiles the bytecodes into native code for the platform

on which it is running. The next figure illustrates the JIT compile process.

www.advanced.edu.in

Page 15: Java ms harsha

4. Deployment Technologies JRE comprises of the following key deployment technologies:

1. Java Plug-in: Enables the execution of Java applet on the browser.

2. Java Web Start: Enables remote deployment of the application. With Web Start, users can launch an

application from the Web browser without going through installation procedure.