OOPR211 Module-2
OOPR211 Module-2
2 4 6
2 4 6
1 2
⊳ History of Java
⊳ Features of Java
Is officially Born.
In 1995…
The PROMISE…
WORA
“Write Once, Run Anywhere“
Today…
In 2010…
WHAT IS
JAVA
JAVA
A GENERAL-PURPOSE,
CONCURRENT, OBJECT-
ORIENTED, CLASS-BASED,
AND THE RUNTIME
ENVIRONMENT(JRE)
WHICH CONSISTS OF JVM
WHICH IS THE
CORNERSTONE OF THE
JAVA PLATFORM
JAVA
AN OBJECT-ORIENTED LANGUAGE FOR
GENERAL-PURPOSE BUSINESS
APPLICATIONS AND FOR INTERACTIVE,
WEB-BASED INTERNET APPLICATIONS.
JAVA IS FREE TO ACCESS AND
CAN RUN ON ALL PLATFORMS.
?????
WHAT IS
JAVA
USED FOR
What is Java Used for?
BANKING:
TO DEAL WITH TRANSACTION MANAGEMENT.
RETAIL:
BILLING APPLICATIONS THAT YOU SEE IN A STORE/RESTAURANT
ARE COMPLETELY WRITTEN IN JAVA.
INFORMATION TECHNOLOGY:
JAVA IS DESIGNED TO SOLVE IMPLEMENTATION DEPENDENCIES.
What is Java Used for?
ANDROID:
APPLICATIONS ARE EITHER WRITTEN IN JAVA OR USE JAVA
API.
FINANCIAL SERVICES:
IT IS USED IN SERVER-SIDE APPLICATIONS.
STOCK MARKET:
TO WRITE ALGORITHMS AS TO WHICH COMPANY THEY
SHOULD INVEST IN.
What is Java Used for?
BIG DATA:
HADOOP MAPREDUCE FRAMEWORK IS WRITTEN USING JAVA.
SCIENTIFIC AND RESEARCH COMMUNITY:
TO DEAL WITH HUGE AMOUNT OF DATA.
2 Features of Java
FEATURES OF JAVA
SIMPLE
JAVA HAS MADE LIFE EASIER BY REMOVING ALL THE
COMPLEXITIES SUCH AS POINTERS, OPERATOR
OVERLOADING AS YOU SEE IN C++ OR ANY OTHER
PROGRAMMING LANGUAGE.
FEATURES OF JAVA
PORTABLE
JAVA IS PLATFORM INDEPENDENT WHICH MEANS
THAT ANY APPLICATION WRITTEN ON ONE
PLATFORM CAN BE EASILY PORTED TO ANOTHER
PLATFORM.
FEATURES OF JAVA
OBJECT-ORIENTED
EVERYTHING IS CONSIDERED TO BE AN “OBJECT”
WHICH POSSESS SOME STATE, BEHAVIOR AND ALL
THE OPERATIONS ARE PERFORMED USING THESE
OBJECTS.
FEATURES OF JAVA
SECURED
ALL THE CODE IS CONVERTED IN BYTECODE AFTER
COMPILATION, WHICH IS NOT READABLE BY A HUMAN.
AND JAVA DOES NOT USE AN EXPLICIT POINTER AND RUN
THE PROGRAMS INSIDE THE SANDBOX TO PREVENT ANY
ACTIVITIES FROM UNTRUSTED SOURCES.
IT ENABLES TO DEVELOP VIRUS-FREE, TAMPER-
FREE SYSTEMS/APPLICATIONS.
FEATURES OF JAVA
DYNAMIC
DYNAMIC: IT HAS THE ABILITY TO ADAPT TO
AN EVOLVING ENVIRONMENT WHICH
SUPPORTS DYNAMIC MEMORY ALLOCATION
DUE TO WHICH MEMORY WASTAGE IS
REDUCED AND PERFORMANCE OF THE
APPLICATION IS INCREASED.
FEATURES OF JAVA
DISTRIBUTED
JAVA PROVIDES A FEATURE WHICH HELPS TO
CREATE DISTRIBUTED APPLICATIONS. USING
REMOTE METHOD INVOCATION (RMI), A PROGRAM
CAN INVOKE A METHOD OF ANOTHER PROGRAM
ACROSS A NETWORK AND GET THE OUTPUT.
FEATURES OF JAVA
ROBUST
ROBUST: JAVA HAS A STRONG MEMORY
MANAGEMENT SYSTEM. IT HELPS IN ELIMINATING
ERROR AS IT CHECKS THE CODE DURING COMPILE
AND RUNTIME.
FEATURES OF JAVA
HIGH PERFORMANCE
JAVA ACHIEVES HIGH PERFORMANCE THROUGH
THE USE OF BYTECODE WHICH CAN BE EASILY
TRANSLATED INTO NATIVE MACHINE CODE. WITH
THE USE OF JIT (JUST-IN-TIME) COMPILERS, JAVA
ENABLES HIGH PERFORMANCE.
FEATURES OF JAVA
INTERPRETED
INTERPRETED: JAVA IS COMPILED TO BYTECODES,
WHICH ARE INTERPRETED BY A JAVA RUN-TIME
ENVIRONMENT.
FEATURES OF JAVA
MULTITHREADED
JAVA SUPPORTS MULTIPLE THREADS OF
EXECUTION (A.K.A., LIGHTWEIGHT PROCESSES),
INCLUDING A SET OF SYNCHRONIZATION
PRIMITIVES. THIS MAKES PROGRAMMING WITH
THREADS MUCH EASIER.
Structure of a Java
3 Program
Basic Structure of JA
CLASS DEFINITION
Class name
class body
CLASS
IS A KEYWORD THAT INFORMS THE COMPILER
THAT YOU ARE DEFINING A CLASS. REFERS TO THE
ENTIRE PROGRAM.
METHOD DEFINITION
method header
method
body
method modifier
Method Name
Method
Argument List
String – refers to a data type.
args – identifier to any string character.
“Hello World Program”
Example 1: (Printing a simple text)
“Hello World Program”
Welcome to Java Programming
Example 2: : (Multiple line of text)
\
• CALLED AS ESCAPE CHARACTER
• WHICH INDICATES THAT A SPECIAL
CHARACTER IS TO BE OUTPUT.
ESCAPE SEQUENCE
\n • newline
\t • horizontal tab
\\ • backslash
\” • double quote
COMMENTS
/* */ - Multiple-line comment
COMMENTS
⊳ https://www.edureka.co/blog/what-is-java/
⊳ http://ecomputernotes.com/java/what-is-java-
language/types-of-java-programs
OUR LADY OF FATIMA UNIVERSITY
COLLEGE OF COMPUTER STUDIES