Pengenalan JAVA PDF

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

Pemrograman Jaringan:

Pengenalan Java
ARMIN LAWI
PROGRAM PASCASARAJAN UNHAS

Pengenalan java
2

Menerapkan compiler dan interpreter


program.java

javac program.java

public class myCetak {


public static void main(String args[])
{
System.out.println(Hello World!);
}
}

compiler

11010101

java program

interprete
r

program.class
-------------------------------------------------------------------------------------------------------------------------------------------------------

bytecode

Karakteristik Multi-platform
3

program.java

program.class

public class myCetak {


public static void main(String args[])
{
System.out.println(Hello World!);
}
}

-------------------------------------------------------------------------------------------------------------------------------------------------------

interpreter

compiler

interpreter

interpreter

interpreter

JVM

Windows

Linux

Solaris

MacOS

Software yang dibutuhkan


4

Java Standrd Edition (SE) Development Kit (JDK)


Dapat didownload gratis di
http://developers.sun.com/downloads/
JDK yang digunakan pada MK ini adalah versi terbaru
saat ini: JDK1.6.0 update 10
Text Editor: Notepad, Edit, dll

Java IDE:
Jcreator, Eclipse, NetBeans, dll

OOP dan Java


5

Java adalah bahasa pemrograman murni berbasis

object-oriented (OO)
OOP: Program bekerja atas interaksi atau

komunikasi antar obyek (object interprocess)


OO-program dapat dipandang sebagai sistem

tersebar (distributed system)

Apa itu obyek?


6

Segala sesuatu dapat dipandang sbg obyek


Karateristik obyek
Memiliki atribut sebagai status (state/variable)
Memiliki tingkah laku (behavior) atau method

variabel/
state

method/
behavior

Object model

Bagaimana membuat obyek


7

Obyek dikonstruksi/dirancang dari prototipe atau

blueprint yang telah ditetapkan (class)


Contoh:
resep class
kue obyek
Resep

Kue 1

Bahan:
1 kg gula
2 sdk mentega
dan sterusnya.
Cara Membuat:
Campur semua lalu
panaskan dan seterusnya

Kue 2

Contoh oop dalam java


8
class mhs {
private String nama;
private String nim;
private String ttl;
private String agama;
public mhs(String nama, String nim, String m, String agama) {
this.nama = nama;
this.nim = nim;
this.ttl = ttl;
this.agama = agama;
}
public String getNama() {
return this.nama;
}
public String getNim() {
return nim;
}
public static void main(String args[]) {
mhs m = new mhs(Armin, 132133693, 19, Islam);
System.out.println(Nama = + m.getNama());
}

variabel/
state
konstruktor

method/
behavior

obyek m

Ciri-ciri oop
9

Abstraksi (abstraction)
Pengabstrakan atau penyembunyian kerumitan dari suatu proses
Pembungkusan (encapsulation)
Abstraksi dilakukan dengan cara pembungkusan (kapsulasi) semua
kode dan data kedalam satu entitas tunggal (obyek)
Pewarisan (inheritance)
Implementasi khusus dalam OOP yang dapat menurunkan prilaku ke
sub-class atau menerima prilaku dari super-class

Kebanyak-rupaan (polymorphism)
Kemampuan obyek mengungkap banyak hal melalui suatu cara yang
sama. Obyek dapat menjalankan prilaku-prilaku atau metode-metode
yang diturunkan dari beberapa superclassnya

Important Java Packages


java.net TCP/IP networking
java.io

I/O streams & utilities

java.rmi Remote Method Invocation

java.security Security policies


java.lang

10

Threading classes

Netprog 2000 - Java Network


Programming

Java Sockets Programming


Java uses BSD-style sockets to interface with TCP/IP

services (java.net package)


Java distinguishes between UDP, TCP server & TCP
client sockets
Behind-the-scenes classes do the actual work & can
be updated or swapped out transparently

11

Netprog 2000 - Java Network


Programming

IP Addresses & Hostnames


java.net.InetAddress class

Represents a single IP address


Factory class no public constructor
Performs transparent DNS lookups or reverse

lookups
java.net.UnkownHostException thrown if
DNS system cant find IP address for specific host

12

Netprog 2000 - Java Network


Programming

TCP Server Sockets


java.net.ServerSocket class

Binds to a local port to listen for initial connections


Can be bound to a local IP for multi-homed

machines
accept() method returns a java.net.Socket,
not an integer descriptor

13

Netprog 2000 - Java Network


Programming

TCP Client Sockets


java.net.Socket class

Combines socket with socket options (timeout,

linger, keep alive, no delay, etc)


Encapsulates a java.io.InputStream and a
java.io.OutputStream can be retrieved for
use in a layered I/O system

14

Netprog 2000 - Java Network


Programming

UDP Sockets
java.net.DatagramSocket class

Java makes no distinction between client/server for

UDP sockets
Connected mode UDP supported in Java 2
Can be bound to both a local port & a local IP
address multi-homed support
Supports some socket options (timeout, buffer size)

15

Netprog 2000 - Java Network


Programming

UDP Datagrams
java.net.DatagramPacket class

Expects a byte array of data


Address optional for connected-mode UDP
This class is final cant be extended!
java.net.DatagramSocket instances can only

send instances of java.net.DatagramPacket

16

Netprog 2000 - Java Network


Programming

Threading
Java doesnt support the notion of forking

processes; how do we support concurrency?

Java was designed to support multithreading!


In server environments we can spawn new
threads to handle each client
Thread groups allow for collective control
of many threads
17

Netprog 2000 - Java Network


Programming

Java Servlets
Servlets are the Java analog to CGI

Advantages of servlets: full access to other Java APIs,

persistence between invocations, guaranteed


portability
Servlets can be generic services or specific to HTTP

18

Netprog 2000 - Java Network


Programming

HTTP Servlets
javax.servlet.http.HttpServlet class
Uses HTTP to receive requests and generate

responses
Full support for all HTTP methods, cookies, sessions,
persistent connections
Servlets can be chained example: de-blink servlet

19

Netprog 2000 - Java Network


Programming

Java Applets
Client-side Java programs that run in a browser

Applets have special security restrictions called the

applet sandbox
Only applets loaded over the network are subject to
the applet sandbox
The applet sandbox is controlled by a
java.lang.SecurityManager

20

Netprog 2000 - Java Network


Programming

Applet Sandbox
Cant load libraries or define native methods
Cant access local host filesystem

Cant open sockets to hosts other than

originating host
Cant use Runtime.exec()
Applet windows have a unique appearance
Restricted access to certain system properties

21

Netprog 2000 - Java Network


Programming

Escaping the Applet Sandbox


Browsers can define their own security policy via a

new security manager


Applets can be signed and executed as trusted
content
Security policies may vary from browser to browser,
even for signed applets

22

Netprog 2000 - Java Network


Programming

Remote Method Invocation (RMI)


RMI is the Java analog to RPC

RMI servers use a naming service (rmiregistry) to

register remote objects


RMI servers use a special security policy
implemented by RMISecurityManager
The default RMI transport mechanism is via TCP
sockets this is transparent to RMI code!
Any object transferred in an RMI call must
implement the Serializable interface

23

Netprog 2000 - Java Network


Programming

Java Naming & Directory Interface (JNDI)


JNDI provides a generic API that can be used to

interface with any naming system


JNDI uses SPIs (service provider interfaces) to
access many different types of naming & directory
services from the JNDI API
Sun supplies JNDI SPIs for LDAP, NIS, COS
(CORBA naming), RMI registry & local filesystem

24

Netprog 2000 - Java Network


Programming

You might also like