0% found this document useful (0 votes)
18 views8 pages

Chapter No 1 Introduction To JAVA

The document provides an introduction to Java, detailing its history, comparison with C++, features, and its relationship with the internet. Java was developed by James Gosling and his team in the early '90s, originally for interactive television but later adapted for internet programming. Key features of Java include its platform independence, object-oriented nature, security, and robust performance, making it a popular choice for various applications.

Uploaded by

bhamrepranav299
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views8 pages

Chapter No 1 Introduction To JAVA

The document provides an introduction to Java, detailing its history, comparison with C++, features, and its relationship with the internet. Java was developed by James Gosling and his team in the early '90s, originally for interactive television but later adapted for internet programming. Key features of Java include its platform independence, object-oriented nature, security, and robust performance, making it a popular choice for various applications.

Uploaded by

bhamrepranav299
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Unit-1 Introduction to JAVA

1.1 History of Java


The history of Java is very interesting. Java was originally designed for interactive
television, but it was too advanced technology for the digital cable television industry
at the time. The history of Java starts with the Green Team. Java team members (also
known as Green Team), initiated this project to develop a language for digital devices
such as set-top boxes, televisions, etc. However, it was best suited for internet
programming. Later, Java technology was incorporated by Netscape.
The principles for creating Java programming were "Simple, Robust, Portable,
Platform-independent, Secured, High Performance, Multithreaded, Architecture
Neutral, Object-Oriented, Interpreted, and Dynamic". Java was developed by James
Gosling, who is known as the father of Java, in 1995. James Gosling and his team
members started the project in the early '90s.
Currently, Java is used in internet programming, mobile devices, games, e-business
solutions, etc. Following are given significant points that describe the history of Java.
James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language
project in June 1991. The small team of sun engineers called Green Team.
Initially it was designed for small, embedded systems in electronic appliances like set-
top boxes.
Firstly, it was called "Greentalk" by James Gosling, and the file extension was .gt. After
that, it was called Oak and was developed as a part of the Green project. Why Oak? Oak
is a symbol of strength and chosen as a national tree of many countries like the U.S.A.,
France, Germany, Romania, etc. In 1995, Oak was renamed as "Java" because it was
already a trademark by Oak Technologies.

1.2 Comparison of Java and C++:

Comparison C++ Java


Index

Platform- C++ is platform-dependent. Java is platform-independent.


independent

Mainly used for C++ is mainly used for Java is mainly used for application
system programming. programming. It is widely used in
Windows-based, web-based, enterprise,
and mobile applications.

Design Goal C++ was designed for Java was designed and created as an
systems and applications interpreter for printing systems but
programming. It was an later extended as a support network
extension of the C computing. It was designed to be easy
programming language. to use and accessible to a broader
audience.

Goto C++ supports Java doesn't support the goto


the goto statement. statement.

Multiple C++ supports multiple Java doesn't support multiple


inheritance inheritance. inheritance through class. It can be
achieved by using interfaces in java.

Operator C++ supports operator Java doesn't support operator


Overloading overloading. overloading.

Pointers C++ supports pointers. You Java supports pointer internally.


can write a pointer program However, you can't write the pointer
in C++. program in java. It means java has
restricted pointer support in java.

Compiler and C++ uses compiler only. C++ Java uses both compiler and
Interpreter is compiled and run using interpreter. Java source code is
the compiler which converted into bytecode at compilation
converts source code into time. The interpreter executes this
machine code so, C++ is bytecode at runtime and produces
platform dependent. output. Java is interpreted that is why it
is platform-independent.

Call by Value C++ supports both call by Java supports call by value only. There
and Call by value and call by reference. is no call by reference in java.
reference

Structure and C++ supports structures Java doesn't support structures and
Union and unions. unions.

Documentation C++ doesn't support Java supports documentation comment


comment documentation comments. (/** ... */) to create documentation for
java source code.

Virtual C++ supports virtual Java has no virtual keyword. We can


Keyword keyword so that we can override all non-static methods by
decide whether or not to default. In other words, non-static
override a function. methods are virtual by default.

unsigned right C++ doesn't support >>> Java supports unsigned right shift >>>
shift >>> operator. operator that fills zero at the top for the
negative numbers. For positive
numbers, it works same like >>
operator.

Inheritance C++ always creates a new Java always uses a single inheritance
Tree inheritance tree. tree because all classes are the child of
the Object class in Java. The Object class
is the root of the inheritance tree in
java.

Hardware C++ is nearer to hardware. Java is not so interactive with


hardware.

Object-oriented C++ is an object-oriented Java is also an object-oriented language.


language. However, in the C However, everything (except
language, a single root fundamental types) is an object in Java.
hierarchy is not possible. It is a single root hierarchy as
everything gets derived from
java.lang.Object.

1.3 Features –

Simple

Java is very easy to learn, and its syntax is simple, clean and easy to understand. According
to Sun Microsystem, Java language is a simple programming language because:

Java syntax is based on C++ (so easier for programmers to learn it after C++).
o Java has removed many complicated and rarely-used features, for example, explicit
pointers, operator overloading, etc.
o There is no need to remove unreferenced objects because there is an Automatic
Garbage Collection in Java.

Object-oriented

Java is an object-oriented programming language. Everything in Java is an object. Object-


oriented means we organize our software as a combination of different types of objects
that incorporate both data and behavior.

Object-oriented programming (OOPs) is a methodology that simplifies software


development and maintenance by providing some rules.

Basic concepts of OOPs are:

1. Object
2. Class
3. Inheritance
4. Polymorphism
5. Abstraction
6. Encapsulation

Platform Independent

Java is platform independent because it is different from other languages like C, C++, etc.
which are compiled into platform specific machines while Java is a write once, run
anywhere language. A platform is the hardware or software environment in which a
program runs.

There are two types of platforms software-based and hardware-based. Java provides a
software-based platform.

The Java platform differs from most other platforms in the sense that it is a software-based
platform that runs on top of other hardware-based platforms. It has two components:
1. Runtime Environment
2. API(Application Programming Interface)

Java code can be executed on multiple platforms, for example, Windows, Linux, Sun Solaris,
Mac/OS, etc. Java code is compiled by the compiler and converted into bytecode. This
bytecode is a platform-independent code because it can be run on multiple platforms, i.e.,
Write Once and Run Anywhere (WORA).

Secured

Java is best known for its security. With Java, we can develop virus-free systems. Java is
secured because:

o No explicit pointer
o Java Programs run inside a virtual machine sandbox

o Classloader: Classloader in Java is a part of the Java Runtime Environment (JRE)


which is used to load Java classes into the Java Virtual Machine dynamically. It adds
security by separating the package for the classes of the local file system from those
that are imported from network sources.
o Bytecode Verifier: It checks the code fragments for illegal code that can violate
access rights to objects.
o Security Manager: It determines what resources a class can access such as reading
and writing to the local disk.

Java language provides these securities by default. Some security can also be provided by
an application developer explicitly through SSL, JAAS, Cryptography, etc.

Robust

The English mining of Robust is strong. Java is robust because:

o It uses strong memory management.


o There is a lack of pointers that avoids security problems.
o Java provides automatic garbage collection which runs on the Java Virtual Machine
to get rid of objects which are not being used by a Java application anymore.
o There are exception handling and the type checking mechanism in Java. All these
points make Java robust.

Portable

Java is portable because it facilitates you to carry the Java bytecode to any platform. It
doesn't require any implementation.

High-performance

Java is faster than other traditional interpreted programming languages because Java
bytecode is "close" to native code. It is still a little bit slower than a compiled language (e.g.,
C++). Java is an interpreted language that is why it is slower than compiled languages, e.g.,
C, C++, etc.

Distributed
Java is distributed because it facilitates users to create distributed applications in Java. RMI
and EJB are used for creating distributed applications. This feature of Java makes us able to
access files by calling the methods from any machine on the internet.

Multi-threaded
A thread is like a separate program, executing concurrently. We can write Java programs
that deal with many tasks at once by defining multiple threads. The main advantage of
multi-threading is that it doesn't occupy memory for each thread. It shares a common
memory area. Threads are important for multi-media, Web applications, etc.

Dynamic

Java is a dynamic language. It supports the dynamic loading of classes. It means classes are
loaded on demand. It also supports functions from its native languages, i.e., C and C++

1.4 Java and Internet

Java is strongly associated with the Internet because the first application program written
in Java was HotJava,a browser to run the applet on Internet . So the Internet users use the
Java to create the applet programs and run them locally using a 'Java-enabled browsers'
like HotJava.. Java is a platform-independent, object-oriented programming language
(OOP). It is not to be confused with JavaScript, a scripting language used to create dynamic
web pages. Due to its reliability and ease of use, Java is one of the most popular
programming languages in the world.

Java Internet security : Java™ programming is becoming increasingly widespread in


today's computing environments. You should prepare to deal with the security factors that
are associated with Java. Although a firewall is a good defense against most general
Internet security risks, it does not provide protection for many risks that using Java
presents. Your security policy should include details for protecting your system against
three areas of concern for Java: applications, applets, and servlets. Also, you should
understand how Java and resource security interact in terms of authentication and
authorization for Java programs

1.5JDK Environment (Java, Javac, Applet Viewer, Javadoc)

JDK is an acronym for Java Development Kit. The Java Development Kit (JDK) is a software
development environment which is used to develop Java applications and applets. It
physically exists. It contains JRE + development tools.

JDK is an implementation of any one of the below given Java Platforms released by Oracle
Corporation:

o Standard Edition Java Platform


o Enterprise Edition Java Platform
o Micro Edition Java Platform

The JDK contains a private Java Virtual Machine (JVM) and a few other resources such as an
interpreter/loader (java), a compiler (javac), an archiver (jar), a documentation generator
(Javadoc), etc. to complete the development of a Java Application.

Java: The loader for Java applications. This tool is an interpreter and can interpret the class
files generated by the javac compiler. Now a single launcher is used for both development
and deployment. The old deployment launcher, jre, no longer comes with Sun JDK, and
instead it has been replaced by this new java loader.

Javac: It specifies the Java compiler, which converts source code into Java bytecode.

Javadoc: The documentation generator, which automatically generates documentation


from source code comments
Applet Viewer: The applet viewer is designed to run and debug Java applets without the
help of an internet browser.

You might also like