Java was created in 1990 by James Gosling at Sun Microsystems to control microprocessors embedded in consumer devices. It was designed to be platform independent, reliable, and compact. Over time, Java expanded to support web and internet applications. Major versions included Java 1.0 in 1995, Java 1.1 in 1997, Java 1.2 in 1999, and Java 1.3 in 2002, each adding new packages, classes, and functionality. Key features of Java include being platform independent, object-oriented, having automatic memory management via garbage collection, and prioritizing security.
2. JAVA
Father of Java: James Gasoline
EXPANSIONS:
API-Application Programming Interface
SDK-Software Development Kit
JVM-Java virtual machine
3. History of Java
1990 oak : To control microprocessors
Embedded in customer item
Oak needed to be
Platform independent
Extremely reliable
Compact
1993: Java
Internet and web exploration
Internet application
1994: Hot Java Browser
1995: java1. 0
4. VERSIONS OF JAVA
1995 version 1.0:
The Java development kit was released for free by
the sun
8-packages 212-classes
Microsoft and other companies licensed Java
1997 version 1.1:
23 -packages 504-classes
Improvement include better event handling inner
classes , improved jvm
5. Microsoft developed its own 1.1 compatible Java
virtual machine for internet explorer
Many browsers in use are still compatible only
with 1.1
1999 version 1.2:
-It is also called as the Java 2 platform
-59 packages 1520 classes
-Code & tools distributed as the SDK
-A Java foundation class based on swings
for improved graphics and user interfaces
6. Collection API included list sets and hash map
2000 VERSION 1.3:
- 76 packages 1842 classes
- Java sound
2002 VERSION 1.4:
- 135 PACKAGES 2991 classes
- Improved I , xml support etc..,
2004 VERSION 5.0 (1.5):
- 165 packages over 3000 classes
- Faster startup metadata formatted
output
7. Generic to operate on objects of various types
2006 JAVA SE 6:
Scripting language support
2011 JAVA SE 7:
JVM support for dynamic language
String in switch
Allowing underscores in numeric literals
FUTURE RELEASES:
JAVA SE 8:
LAMBDA OPERATOR is expected in summer 2013
JAVA SE 9:
Under planning
9. FEAUTURES OF JAVA TECHNOLOGY
PLATFORM INDEPENDENT:
Write once run anywhere
OBECT ORIENTED:
No coding outside of class definitions including
main ()
An extensive class library available in the core
language packages
10. COMPILER AND INTERPRETER:
Code is compiled to byte codes that are
interpreted by a JVM
This provides portability to any machine for which
a virtual machine has been written
The two steps of compilation and interpretation
allow for extensive code checking and improved
security
ROBUST:
Exception handling built-in strong type checking
11. Several dangerous features of c & c++
No memory pointers
No pre processor
Garbage collector
AUTOMATIC MEMORY MANAGEMENT:
Automatic garbage collection memory
management handled by the JVM
SECURITY:
No memory pointers
Programs run inside the virtual machine sandbox
12. CODE PATHOLOGIES REDUCED BY:
Byte code verifier:
Checks classes after loading
Class loaders:
Confines object of unique namespace
Security manager:
Determines what resources a class can access
13. Java
Source
(. Java)
Java compiler
Java byte
code
(. Byte)
Java byte
code
move
locally or
through
the
network
Class loader
byte codes
Verifier
Java class
libraries
Java
interpreter
Just in
time
compiler
Run time system
Operating system
Hardware
14. Difference
c
Focus on logic
Procedure or structure
oriented
Top down approach
(Based on variable declaration)
c++
Focus on both logic and
data
Object oriented
programming language
Bottom top approach
(Variable declaration
15. C++
Partially object oriented
language
Pointers concept and
Preprocessor are available
Operator overloading is
available
Platform dependent
A destructor is used to free
the memory
The compiler is present
JAVA
Purely object oriented
language
Pointers concept and
Preprocessor is not
available
Operator overloading is not
available
Platform independent
Automatic garbage
collection
Both compiler and
interpreter is present
16. Markup language
HTML, XML
Design based language
Programming language
C, C++, JAVA etc..,
Logic based language
17. XML
User defined tags
Focused on data storage
Case sensitive
HTML
Predefined tags
Focused on design
Non case sensitive
18. Difference between function member
function and method
Function:
Independent calling (in c)
Member function:
Partially dependent on object (in c++)
(Members of class)
Methods:
Fully dependent on object (Java)
19. Version 1.7 (string in switch)
Import Java. Io. *;
Class strswitch
{
Public static void main(string g[])
{
String s=aaa;
Switch (s)
{
Case aaa:
system.out.println(from aaa);
Case bbb:
system.out.println(from bbb);
Default:
system.out.println(from default);
}}}
23. Special Keywords in Java
Static
Final
Volatile
Transient
Strictfp
Assert
Byte
Native
Boolean
24. Final:
Final is also like constant the give value can not
change throughout the program
Transient:
Used within a certain period of time So it's not used
more
Strictfp:
Display the exact result in a float
Assert:
Implementing our assumption
25. Native:
A program created in c can be accessed in Java
Byte:
Between range (-128 to 0 to 127)
Eg: byte b=123 is accepted
Byte b=129 is not accepted
Boolean:
Assigning true or false to a statement or block
27. Example for static and volatile
Eg Program:
Class samp
{
int a;
Static int b;
Volatile int c;
}
{
Samp s1.new samp;
Samp s2.new samp;
Samp s3.new samp;
}
28. Static memory allocation
a=1 ,b=2 ,c=3
s1 s2 s3
a
c
b (b is declared as static so it is
used in common)
1 0 0
3 3 3
2
30. Java literals
Integer literal:
Eg: int a=10;
int b=010;
In integer literal if the first value is 0 compiler
will take that as octal value.
Perform the operation and display the output
Output:
8
31. int a=1;
int b=2;
int c=0x10;
In integer literal if the first value is 0x compiler
will take that as hexadecimal value.
Perform the operation and display the output
Output:
16
34. String literals
string s=erode;
String s=erobde(o/p:erde(since /b is defined
as backspace))
Eg:
int a=10;
int b=20;
int c=30;
string s=hai;
s.o.p(a+b+c+s);
s.o.p(a+b+s+c);
s.o.p(a+s+b+s);