Core Java
Debasish Pratihari
What is Java
Java programming language is designed to meet the
challenges of application development in the context of
heterogeneous, network-wide distributed environment.
Java is an object-oriented programming (OOP) language
that uses many common elements from other OOP
languages, such as C++
Java is a complete platform for software development
Java is suitable for enterprise large scale applications.
Java is available for smart devices and smart cards
The Java language was developed at Sun Microsystems in
1991 by James Gosling as part of a research project to
develop
software
for
consumer
electronics
devices-
television sets, VCRs, toasters, and the other sorts of
machines you can buy at any department store.
Java's goals were to be small, fast, efficient, and easily
portable & for distributing executable programs via the
World Wide Web to a wide range of hardware devices and
across different platforms.
Origin & History
Java began its life in 1990 as a new language called Oak.
Sun Microsystems had established a project group codenamed green to develop new products and expand Sun's
markets.
Oak was originally designed for a personal digital assistant
called *7 that Sun intended to market with a seamless
graphical user interface.
The *7 was never marketed, and eventually Sun formed a
company called FirstPerson to develop the *7 in TV
set-top boxes for interactive television.
Lecture/core/intro1/01
Page #1
feel the Technology…
Core Java
Debasish Pratihari
JAVA Family
Java Standard Edition
Java
SE
J2SE APIs are useful to develop stand alone
applications and also client side applications like
applets. It is much flexible to write multithreaded,
network based and distributed applications.
Java Micro Edition
Java
ME
Java
EE
It is a new member added recently to Java family.
Its APIs have been designed to produce
programmable chips.
Java Enterprise Edition
It provides APIs for Server Side Programming.
Java’s Features
Java Is Familiar and Simple
Java Is Object-Oriented
Java Is Distributed.
Java Is Interpreted.
Java Is Robust, Safer and More Reliable
Java Is Secure
Java Is Architecture Neutral.
Java Is Multithreaded
Java Is Portable
Java Is Having High Performance & Dynamic.
Java Is the Programming Language of the Web
Lecture/core/intro1/01
Page #2
feel the Technology…
Core Java
Debasish Pratihari
Programming in Java
You can use Java to create two types of programs:
Applications
An application is a program that you can execute
at the command prompt. Stand-alone applications
can either be window-based applications or console
applications.
Applets
o
o
Applets are Java programs that execute within a
Web page. Therefore, unlike applications, applets
require a Java-enabled browser like Microsoft
Internet Explorer 4.0 or later version. An applet is
loaded and executed when a user loads a Web
page, which contains the applet, through a
Web browser.
Why Programmers like java?
Easy to learn
Write less and better code (less program
metrics)
Avoid platform dependencies
Distribute software more easily
Developing powerful applications easily
Write Once Run Anywhere (WORA)
Java is Open Source
Java has many vendors
•
•
•
•
Sun Microsystems
IBM
Oracle
Bea Systems “recently acquired by
Oracle)
• Apache Software Foundation
• JBoss
Lecture/core/intro1/01
Page #3
feel the Technology…
Core Java
Debasish Pratihari
Challenges of Enterprise Application
Development:
Programming Productivity
Integration with Existing Systems
Freedom of Choice
Response to Demand
o Availability
o Scalability
Maintaining Security
Java & Java Community Process:
25%
Is established in 1998
Is a formalized process that allows interested
parties to get involved in the future version and
features of Java platform
Java Specification Request (JSRs)
The formal documents that describe proposed
specifications and technologies for adding to the
java platform
Formal public reviews takes place before a JSR
become final and the JCP executives vote o it.
A final JSR provides a reference implementation
that is a free implementation of the technology
in source code from and a technology
compatibility kit to verify the API specification.
Lecture/core/intro1/01
Page #4
feel the Technology…