This document provides an introduction to the Java programming language created by Sun Microsystems. It discusses that Java is a platform-independent, object-oriented programming language. It also covers key Java concepts like the Java Virtual Machine, bytecode, packages, classes and objects, inheritance, abstract classes, exceptions, threads, and access modifiers. The document provides examples to illustrate Java features and how to write simple Java programs.
Core Java introduction | Basics | free course Kernel Training
http://kerneltraining.com/core-java/
Learn the basics of Java and gain practical experience that is required to begin your career in java programming. Kernel Training has designed classroom and online course to upgrade your knowledge and skills in core Java.
Course Curriculum:
Introduction to Java
JDK and practical applications
Java Basic Data Types and Operators
Programming Constructs, Classes and Methods, constructor and Finalizer
Polymorphism
Inheritance
Method overriding and abstract classes
Packages and Interfaces
Strings and Arrays
Enums
java tutorial for beginner - Free DownloadTIB Academy
TIB Academy offering Java tutorial with fundamental for beginner This Java Tutorial going to explain about the fundamentals of Core Java Concepts, you can download Java tutorial as PPT for free of cost
Core Java introduction | Basics | free course Kernel Training
http://kerneltraining.com/core-java/
Learn the basics of Java and gain practical experience that is required to begin your career in java programming. Kernel Training has designed classroom and online course to upgrade your knowledge and skills in core Java.
Course Curriculum:
Introduction to Java
JDK and practical applications
Java Basic Data Types and Operators
Programming Constructs, Classes and Methods, constructor and Finalizer
Polymorphism
Inheritance
Method overriding and abstract classes
Packages and Interfaces
Strings and Arrays
Enums
java tutorial for beginner - Free DownloadTIB Academy
TIB Academy offering Java tutorial with fundamental for beginner This Java Tutorial going to explain about the fundamentals of Core Java Concepts, you can download Java tutorial as PPT for free of cost
www.denizoguz.com-For an in company JDK 7 orientation I have prepared a presentation which summaries new features of JDK 7. I would like to make it public for everyone who needs it.
that's introduced for Students at Al-Azhar university Faculty of Engineering .
it talk about :
- what is programming .
- Java ?
- Data types .
- Operations .
- if condition
- loops
for any inquiries don't be hesitate to Contact me.
This presentation covers all the basics of Java language. It is very helpful for the beginners. It includes a presentation on Java overview and its edition, where Java is used, an overview of class and object, A simple Java program and its execution, Java vs C++.
Core Java Online training is Offering at Glory IT Technologies Pvt. Ltd. which is an object oriented programming language is classified into three basic level of programming viz. core java programming, specialized java programming & advanced Java programming. Among these first basic level is called basic or core Java programming language & is the first step of mastering Java language.
What Is Java | Java Tutorial | Java Programming | Learn Java | EdurekaEdureka!
This Edureka "What Is Java" tutorial will help you in understanding the various fundamentals of Java in detail with examples. Below are the topics covered in this tutorial:
1) What is Java?
2) Where is Java used?
3) Features of Java
4) Java Environment
5) How does Java work?
6) Data Types in Java
7) Operators in Java
8) Functions in Java
9) Object Oriented Concepts in Java
Java Programming | Java Tutorial For Beginners | Java Training | EdurekaEdureka!
This Edureka Java Programming tutorial will help you in understanding the various programming fundamentals of Java in detail with examples. Below are the topics covered in this tutorial:
1) Variables
2) Data Types in Java
3) Operators in Java
4) Conditional Statements in Java
5) Loops
6) Arrays and Strings
7) Functions in Java
8) Classes and Objects in Java
Goal of the session is to show ways of identifying badly written code in long term perspective. As an example a OSS e-commerce platform was examined and the results will be discussed during session. I will also show waht we, as developers, should pay attention while doing out daily programming routines. Both programmers and other team members will be able to identify committed code crimes :)
www.denizoguz.com-For an in company JDK 7 orientation I have prepared a presentation which summaries new features of JDK 7. I would like to make it public for everyone who needs it.
that's introduced for Students at Al-Azhar university Faculty of Engineering .
it talk about :
- what is programming .
- Java ?
- Data types .
- Operations .
- if condition
- loops
for any inquiries don't be hesitate to Contact me.
This presentation covers all the basics of Java language. It is very helpful for the beginners. It includes a presentation on Java overview and its edition, where Java is used, an overview of class and object, A simple Java program and its execution, Java vs C++.
Core Java Online training is Offering at Glory IT Technologies Pvt. Ltd. which is an object oriented programming language is classified into three basic level of programming viz. core java programming, specialized java programming & advanced Java programming. Among these first basic level is called basic or core Java programming language & is the first step of mastering Java language.
What Is Java | Java Tutorial | Java Programming | Learn Java | EdurekaEdureka!
This Edureka "What Is Java" tutorial will help you in understanding the various fundamentals of Java in detail with examples. Below are the topics covered in this tutorial:
1) What is Java?
2) Where is Java used?
3) Features of Java
4) Java Environment
5) How does Java work?
6) Data Types in Java
7) Operators in Java
8) Functions in Java
9) Object Oriented Concepts in Java
Java Programming | Java Tutorial For Beginners | Java Training | EdurekaEdureka!
This Edureka Java Programming tutorial will help you in understanding the various programming fundamentals of Java in detail with examples. Below are the topics covered in this tutorial:
1) Variables
2) Data Types in Java
3) Operators in Java
4) Conditional Statements in Java
5) Loops
6) Arrays and Strings
7) Functions in Java
8) Classes and Objects in Java
Goal of the session is to show ways of identifying badly written code in long term perspective. As an example a OSS e-commerce platform was examined and the results will be discussed during session. I will also show waht we, as developers, should pay attention while doing out daily programming routines. Both programmers and other team members will be able to identify committed code crimes :)
VIEW26 - for software quality professionalsAjay Emmanuel
View26™ is a powerful analytics solution designed for the software quality assurance professionals. View26™ brings to you features like instant dashboards, end-to-end integration to popular testing tools, built-in capability to merge and correlate multiple testing tools or data sources, complete mobility and many more. Eliminate non-value adding tasks, gain more testing time and implement data driven risk based testing strategy.
Blue-Green Deployment é uma técnica robusta e segura, que consiste em manter dois ambientes de produção identicos rodando em paralelo (blue e green), alternando o tráfego entre eles, conforme a necessidade. Esta abordagem permite uma redução no downtime durante o deploy, com a segurança de rollback no caso de falhas, mas exige mais máquinas e um complexo sistema de orquestração. Nesta palestra, é demonstrado como realizar deploys sem downtime através do Docker, que torna o processo incrivelmente fácil e simplificado.
Main goal of this session is to explain in details core aspects of SOLID principles. Code samples are in C# , but SOLID principles are language agnostic and should be applied by any software engineer regardless used programming language.
The goal of the session is to show the history, theory and practice of the SOLID principles in business and technical context of created software system.
Examples will be presented in C# language, but SOLID principles can and should be applied by every software engineer regardless of the used programming language
Apresentação sobre qualidade de software, mostrando alguns dos fatores que a influenciam, tipos de testes, além de abordagens para torná-la uma das prioridades da equipe.
Existem diversos aspectos que devem ser priorizados ao se escrever uma API. Bom entendimento do domínio, arquitetura ideal, boa estratégia de testes, etc. Esses são alguns dos problemas reais e prioritários existentes. JSON API é uma ótima solução para evitar a perda de tempo tentando reinventar a roda durante a definição do design das respostas de sua aplicação. Nesta apresentação, alguns exemplos de uso, considerações/vantagens e dicas de como tornar a sua aplicação compatível sem (muita) dor.
As predicted by Gartner, the demands for API testing and virtualization services are expected to rise exponentially because of the increasing intricacies in business logics and quickly changing IT environments. Independent software testing companies take a clue and explore this avenue.
Read More at: http://softwaretestingsolution.com/blog/api-testing-keeping-check-agile-software-development/
This lecture is about the detail definition of software quality and quality assurance. Provide details about software tesing and its types. Clear the basic concepts of software quality and software testing.
What is Java Technology (An introduction with comparision of .net coding)Shaharyar khan
A introductory slides for those who want to learn and know some basics of Java.Also for those persons who want to compare coding difference between Java and .net
3. 3
It was meant to!!
A programming language for appliances!
4. 4
Java Virtual Machine
Must Run on Any Architecture
Program
in Java
Java
Compiler
Java
Bytecode
Java Virtual Machine
“WRITE ONCE, RUN ANYWHERE!”
debug
pretty portable
6. 6
So What’s Java Good For?
Web applications!
Java Applet
Server
Java Applet
7. 7
Java on the Web: Java Applets
Clients download applets via Web browser
Browser runs applet in a Java Virtual Machine
(JVM)
Interactive web, security, and client consistency
Slow to download, inconsistent VMs (besides,
flash won this war)
Applet
Client
Server
8. 8
Java on the Web: J2EE
Thin clients (minimize download)
Java all “server side”
THIS IS WHAT YOU’LL BE DOING!!
Client
Server
JSPs
Servlets
EJB
JDBC
9. 9
The Java programming environment
Compared to C++:
no header files, macros, pointers and references, unions,
operator overloading, templates, etc.
Object-orientation: Classes + Inheritance
Distributed: RMI, Servlet, Distributed object programming.
Robust: Strong typing + no pointer + garbage collection
Secure: Type-safety + access control
Architecture neutral: architecture neutral representation
Portable
Interpreted
High performance through Just in time compilation
(compiler converts byte code to native code) + runtime
modification of code
Multi-threaded
10. 10
Java Features
Well defined primitive data types: int, float, double, char, etc.
int 4 bytes [–2,147,648, 2,147,483,647]
Control statements similar to C++: if-then-else, switch, while, for
Interfaces
Exceptions
Concurrency (Multi-Threading)
Packages
Reflection (makes it possible to inspect classes, interfaces, fields
and methods at runtime, without knowing the names of the
classes, methods etc. at compile time. It is also possible to
instantiate new objects, invoke methods and get/set field values
using reflection. )
Applet model
11. 11
The Java programming environment
Java programming language specification
Syntax of Java programs
Defines different constructs
Java byte code: Intermediate representation for Java
programs
Java compiler: Program that Transform Java programs
into Java byte code
Java interpreter: Read programs written in Java byte code
and execute them (converts byte into native code. i.e
Codes other than java).
Java virtual machine: The whole technology is based on
the concept of JVM. Translator of byte code into platform
specific machine language. It is the Runtime system that
provides various services to running programs (Logical
representation of JRE)
14. 14
JVM
JVM stands for Java Virtual Machine. It’s an abstract
computer or virtual computer which runs the compiled
java programs. Actually JVM is a software implementation
which stands on the top of the real hardware platform and
operating system. It provides abstraction between the
compiled java program and the hardware and operating
system.
JIT: This Compiler converts byte code to native code.
Old Interpreter was replaced with JIT to increase the
performance of java applications.
When JVM compiles the class file it does not compile the
full class file in one shot. Compilation is done on function
basis or file basis. Depending on need basis the
compilation is done. This type of compilation is termed as
JIT or Just-in- Time compilation.
15. 15
General ( java1.5 –Tiger & java1.6 – Mustang (wild horse))
can run your compiled code on any operating system
without recompiling your source code
JVM and Java Application Programming Interface (API) that
are kinds of readymade software components
Java programming environment: Set of libraries that
provide services such as GUI, data structures,etc.
Java enabled browsers: Browsers that include a JVM +
ability to load programs from remote hosts
Platform Dependent – JVM, Java Compiler, Java Interpreter,
C program, JDK.
Platform Independent – Java program.
JDK (Java Development Kit) – Collection of various tools,
required to develop and run program
Tools ( JRE, Java Compiler, Java Interpreter)
16. 16
Path & classpath
To run the program , Set the properties, then only MS-DOS
knows about java commands. (Temporary)
set path=%path%; (jdk - bin) (Binary files will be accessible
in all the folders & driver of OS)
set classpath=%classpath%.; (jdk - lib) (The class will be
available in all the folder of OS)
The other way of setting up the path
My Computer – Advanced – Environment variables –
proceed. (Permanent)
JAVA_HOME – jdk
Importance of path: Binary will be accessible in all the
folders and driver of O.S
Importance of classpath: .class files will be available in all
the folders of O.S
17. 17
OOPs Concepts- PIE
Abstraction: Providing essential properties and
operation of an object by hiding internal things.
Encapsulation: Placing all the properties and
operations of an object in one place.
The place is called as class, Properties are called
as variables, Operations are called as methods.
Polymorphism : Remote control application -
one button is used for switch on/ off.
18. 18
Java: A tiny intro
How are Java programs written?
How are variables declared?
How are expressions specified?
How are control structures defined?
How to define simple methods?
What are classes and objects?
What about exceptions?
19. 19
How are Java programs written?
Define a class HelloWorld and store it into a file:
HelloWorld.java:
public class HelloWorld {
public static void main (String[] args) {
System.out.println(“Hello, World”);
}
}
Compile HelloWorld.java
javac HelloWorld.java
Output: HelloWorld.class
Run
java HelloWorld
Output: Hello, World
20. 20
How are variables declared?
Fibonacci:
class Fibonacci {
public static void main(String[] arg) {
int lo = 1;
int hi = 1;
System.out.println(lo);
while (hi < 50) {
System.out.println(hi);
hi = hi + lo;
lo = hi – lo;
}
}
}
21. 21
How to define expressions?
Arithmetic: +, -, *,/, %, =
8 + 3 * 2 /4
Use standard precedence and associativity rules
Predicates: ==, !=, >, <, >=, <=
public class Demo {
public static void main (String[] argv) {
boolean b;
b = (2 + 2 == 4);
System.out.println(b);
}
}
22. 22
How are simple methods defined?
Every method is defined inside a Java class definition
public class Movie {
public static int movieRating(int s, int a, int d) {
return s+a+d;
}
}
public class Demo {
public static void main (String argv[]) {
int script = 6, acting = 9, directing = 8;
displayRating(script, acting, directing);
}
public static void displayRating(int s, int a, int d){
System.out.print(“The rating of this movie is”);
System.out.println(Movie.movieRating(s, a, d));
}
}
23. 23
How are control structures specified?
Typical flow of control statements: if-then-else, while, switch,
do-while, and blocks
class ImprovedFibo {
static final int MAX_INDEX = 10;
public static void main (String[] args) {
int lo = 1;
int hi = 1;
String mark = null;
for (int i = 2; i < MAX_INDEX; i++) {
if ((i % 2) == 0)
mark = " *";
else mark = "";
System.out.println(i+ ": " + hi + mark);
hi = lo + hi;
lo = hi - lo;
}}}
24. 24
What are classes and objects?
Classes: templates for constructing instances
Fields
Instance variables
Static variables
Methods
Instance
Static
class Point {
public double x, y;
}
Point lowerleft = new Point();
Point upperRight = new Point();
Point middlePoint = new Point();
lowerLeft.x = 0.0; lowerLeft.y = 0.0;
upperRight.x = 1280.0; upperRight.y = 1024.0
middlePoint.x = 640.0; middlePoint.y = 512.0
25. 25
How are instance methods defined?
Instance methods take an implicit parameter:
instance on which method is invoked
public class Movie {
public int script, acting, directing;
public int rating() {
return script + acting + directing;
}
}
public class Demo {
public static void main (String argv[]) {
Movie m = new Movie();
m.script = 6; m.acting = 9; m.directing = 8;
System.out.print(“The rating of this movie is”);
System.out.println(m.rating());
}
}
26. 26
How to extend classes?
Inheritance: mechanism for extending behavior
of classes; leads to construction of hierarchy of
classes [Note: no multiple inheritance]
What happens when class C extends class D:
Inherits instance variables
Inherits static variables
Inherits instance methods
Inherits static methods
C can:
Add new instance variables
Add new methods (static and dynamic)
Modify methods (only implementation)
Cannot delete anything
27. 27
How to extend classes?
public class Attraction {
public int minutes;
public Attraction() {minutes = 75;}
public int getMinutes() {return minutes;}
public void setMinutes(int d) {minutes = d;}
}
public class Movie extends Attraction {
public int script, acting, directing;
public Movie() {script = 5; acting = 5; directing = 5;}
public Movie(int s, int a, int d) {
script = s; acting = a; directing = d;
}
public int rating() {return script + acting + directing;}
}
public class Symphony extends Attraction {
public int playing, music, conducting;
public Symphony() {playing = music = conducting = 5;}
public Symphony(int p, int m, int c) {
playing = p; music = m; conducting = c;
}
public int rating() {return playing + music + conducting;}
}
28. 28
What are abstract classes?
Abstract class: Merely a place holder for class
definitions; cannot be used to create instances.;
public abstract class Attraction {
public int minutes;
public Attraction() {minutes = 75;}
public int getMinutes() {return minutes;}
public void setMinutes(int d) {minutes = d;}
public abstract void m();
}
Following is an error:
Attraction x;
x = new Attraction();
Following is not an error:
public class Movie extends Attraction { … }
public class Symphony extends Attraction { … }
Attraction x;
x = new Movie ();
x = new Symphony();
29. 29
Packages
Object
Attraction Auxiliaries Demonstration
Movie Symphony
extends
extends
• How do we organize above classes into a single unit? Put them in file?
However, only one public class per file (whose name is same as file’s)
• Solution: Place several files (compilation units) into a package
30. 30
Packages – cont’d.
units of organizing related Classes, Interfaces,
Sub packages
Why?
Reduce name clashing
Limit visibility of names
Java programs typically organized in terms of
packages and subpackages
Each package may then be divided into several
packages, subpackages, and classes
Each class can then be stored in a separate file
Each source file starts with something like:
package mypackage;
Code in source file is now part of mypackage
31. 31
Packages – cont’d.
package onto.java.entertainment;
public class Movie extends class Attraction {…}
package onto.java.entertainment;
import java.io.*;
import java.util.*;
public class Auxiliaries { … }
package onto.java.entertainment;
public abstract class Attraction { … }
•Where to store packages?
•How does Java find packages?
•Export and Import
•Access control
32. 32
Exceptions
public class A {
public void foo() throws MyException {
if(aBadThingHappened()) {
throw new MyException();
}
}
public void bar() {
try {
this.foo();
} catch (MyException e) {
e.printStackTrace();
}
}
}
public class MyException extends Exception {
public MyException() {}
public MyException(String message) {
super(String message);
}
}
33. 33
Finally
public class A {
public void foo() throws MyException {
throw new MyException();
}
}
public void bar() {
try {
this.foo();
} catch (MyException e) {
e.printStackTrace();
} catch (YourException e) {
e.printStackTrace();
} finally {
... // always executed before leaving the try/catch
}
}
}
34. 34
Resources
http://java.sun.com/
Java[tm] 2 Platform, Standard Edition v1.4.1
java, javac, jar, jre, etc.
Any platform... FREE!
Online documentation and tutorials
http://www.eclipse.org/
Integrated development environment (IDE) for nothing in
particular
Java[tm] development tools (JDT) (comes with Eclips)
Project management
Editor
Incremental compiler
CVS support
C/C++ extension in progress
AspectJ support
Windows, Linux, and Mac.... FREE!
35. 35
Qualifiers
public – any class* may access
(no qualifier) “package protected” – only the
class* and classes* in the same package may
access
protected – only the class* and decendent
classes* may access
private – only the class* may access
The class or instances of the class (an object of the
class)
36. 36
Package Protected
package edu.ucdavis;
public class A {
int x;
}
package edu.ucdavis;
public class B {
void foo(A a) { a.x; } // OK, same package
}
package edu.ucdavis.cs;
public class B {
void foo(A a) { a.x; } // Not OK, different package
}
package edu;
public class B {
void foo(A a) { a.x; } // Not OK, different package
}
package edu.ucdavis.cs;
public class B {
void foo(A a) { a.x; } // Not OK, different package
}
package org.omg;
public class B {
void foo(A a) { a.x; } // Not OK, different package
}
37. 37
Protected
public class A {
protected int x;
}
public class B extends A {
void foo(A a) { this.x; a.x; } // OK, B is a decendent of A
}
public class C extends B {
void foo(A a) { this.x; a.x; } // OK, C is a decendent of A through
B
}package edu; // Uh oh!
public class D extends C {
void foo(A a) { this.x; a.x; } // OK, D is a decendent of A
}
public class E {
void foo(A a) { this.x; a.x; } // NOT OK, E is NOT a decendent of A
}
38. 38
Threads
Multiple “threads” of execution within the same
program, share the same memory space ->
“lightweight”.
Perform multiple tasks at the same time.
Work on the same task in parallel.
Heavily used in user interfaces.
Web browsers: load web pages while the user can still
scroll, go back, open a new window, etc.
Web servers: serve multiple requests in parallel.
Can take advantage of multiple processors.
Threads in Java
Java manages and schedules threads
Java provides “synchronize” to help coordinate multiple
threads
39. 39
Creating a Thread in Java
public class MyThread extends Thread {
public MyThread(String threadName) {
super(threadName);
}
public void run() {
for(int i = 0; i < 10; i++) {
System.out.println(i + “ “ + getName());
try {
sleep((long)(Math.random() * 1000));
} catch(InterruptedException e) {}
}
}
}
40. 40
Creating a Thread in Java
public class ThreadTest {
public static void main(String[] args) {
for(int i = 0; i < args.length; i++) {
MyThread t = new MyThread(args[i]);
t.start();
}
}
}
> java ThreadTest Bob Frank
0 Bob
0 Frank
1 Bob
2 Bob
1 Frank
3 Bob
2 Frank
3 Frank
4 Frank
...
41. 41
Creating a Thread in Java via Interface
public class MyRunnable implements Runnable {
String name;
public MyRunnable(String name) {
this.name = name;
}
public void run() {
for(int i; i < 10; i++) {
System.out.println(i + “ “ + name());
try {
sleep((long)(Math.random() * 1000));
} catch(InterruptedException e) {}
}
}
}
public class ThreadTest {
public static void main(String[] args) {
for(int i = 0; i < args.length; i++) {
Thread t = new Thread(new MyRunnable(args[i]), args[i]);
t.start();
}
}
}
42. 42
Producer Consumer Problem
public class Producer
extends Thread {
private Share shared;
public Producer(Share s) {
shared = s;
}
public void run() {
for(int i = 0; i < 10; i++){
shared.put(i);
}
}
}
shared.put(0)
shared.get() // 0 gotten
shared.get() // 0 gotten again!!
shared.put(0)
shared.put(1)
shared.get() // 0 never gotten!!
public class Consumer
extends Thread {
private Share shared;
public Consumer(Share s) {
shared = s;
}
public void run() {
int value;
for(int i = 0; i < 10; i++) {
value = shared.get();
}
}
}
// what about simultaneous
// access?!
shared.put(0) shared.get()
RACE CONDITIONS!
43. 43
public class Share {
private int s;
public synchronized int get() { ... }
public synchronized void put(int s) { ... }
}
Synchronized
Synchronized provides mutual exclusion on an
object
For any object, only one thread may execute
inside any of that object’s synchronized
methods
Share s1 = new Share();
Share s2 = new Share();
Thread t1 = ...;
Thread t2 = ...;
t1 -> s1.get() // gets in
t2 -> s1.put(32) // blocks
t1 -> s1.get() // gets in
t2 -> s2.put(4) // gets in
44. 44
public class Share {
private int s;
private boolean empty = true;
public synchronized int get() {
while (empty == true) {
try {
wait(); // nothing to get, wait
} catch (InterruptedException e) {}
}
empty = true;
notifyAll(); // wakeup waiting Consumers/Producers
return s;
}
public synchronized void put(int s) {
while (empty == false) {
try {
wait(); // no room
} catch (InterruptedException e) {}
}
this.s = s;
empty = false;
notifyAll(); // wakeup waiting Consumers/Producers
}
}
Producer Consumer Coordination