J2EE. Katalogtjenester, JNDI og Enterprise Beans

Størrelse: px
Begynne med side:

Download "J2EE. Katalogtjenester, JNDI og Enterprise Beans"

Transkript

1 J2EE Katalogtjenester, JNDI og Enterprise Beans

2 Navnetjeneste Rmiregistry er en navnetjeneste Mapper et navn til en objektreferanse MittObjekt obj = (MittObjekt)Naming.lookup( rmi://tjener.no/lotto ); Poenget med en navnetjeneste er altså at man kan finne et objekt med å bruke et navn. Rmiregistret har helt klare svakheter. Blant annet må objektet være opprettet (bind) på samme maskin som rmiregistret kjører på, dette er ugunstig. Det finnes andre navnetjenester som kan brukes i stedet.

3 Katalogtjeneste En katalogtjeneste kan sammenliknes med en navnetjeneste Forskjellen ligger i at objektene kan ha flere verdier knyttet mot seg. For eksempel bruker katalogtjeneste til å holde styr på ansatte. Bruker en LDAP-tjener Skal finne ansatte ved AITel som sitter i 3.etg. ldap://hist.no/enhet=aitel, etg=3 Her må det selvsagt være lagt inn felter med navn enhet og etg.

4 Distribuert navnetjeneste; DNS Domain Name System Eksempel på en distribuert og replikert navnetjeneste Distribuert => systemet er spredd over flere tjenere faktisk tjenere over hele verden viktig for skalerbarhet og lagringskapasitet endringer gjøres lokalt (for eksempel ved AITeL) Replikert Det finnes minst to like DNS-tjenere på hvert nivå. En kan feile uten at systemet bryter sammen.

5 root Lag 1 COM DNS ORG DNS 2 NO DNS andre domener Lag NTNU DNS 4 5 HIST DNS Lag 3 Nettleser 6 AITeL DNS Lag 4 7 AITEL's maskiner Web-tjener: /fag/index.php

6 Java Naming and Directory Interface Dette er et Java-bibliotek som kan brukes som grensesnitt mot ulike navne/katalogtjenester. Analogt med JDBC Drivere/Service Providers plugges i nederste lag Dns Active Directory Filsystemet NDS Osv. Se lenke leksjon 7 for hvor få tak i drivere JNDI

7 JNDI mot filsystemet. import javax.naming.*; import javax.naming.directory.*; import java.util.*; import java.io.*; public class LosnTestFilSystem{ public static void main(string args[]){ try{ Hashtable env = new Hashtable(); //vi bestemmer nå hvilken driver (service provider) som skal brukes //her bruker vi driveren for filsystemet env.put(context.initial_context_factory, "com.sun.jndi.fscontext.fscontextfactory"); //vi bestemmer oppstartspunktet for oppslag i katalogtjenesten //her blir det file:/ da det er filsystemet vi skal bruke. env.put(context.provider_url,"file:/"); Context context = new InitialContext(env); File fil = (File)context.lookup("c:/WINDOWS/"); catch(exception e){ System.out.println(e);

8 Databaser I J2EE bruker man DataSource-objekter til å ta kontakt med en database. DataSource-objekter inneholder flere databaseoppkoblinger. Oppkoblingene (Connection) deles mellom klientene! Lurt fordi å lage oppkoblinger er tidkrevende Mange DBMS har lisens pr. antall samtidige brukere. DataSource-objektet bindes i en katalogtjeneste slik at man kan finne tak i det. DataSource-objektet vet altså hvilken driver som må brukes mot databasen og oppretter et gitt antall oppkoblinger

9 Bruk av DataSource-objekter DataSource-objekt Connection-objekter Oppkoblinger... Database Klientkode: DataSource ds =...;//Bruk JNDI for å finne objektet Connection con = ds.getconnection();//låner et av Connection-objektene //Gjør databasekall... con.close(); //Gir Connection-objektet tilbake til DataSource-objektet

10 J2EE Java 2 Enterprise Edition tillegg til J2SE Inneholder biblioteker for hovedsakelig tjenerprogrammering. Mail API Det viktigste med J2EE er at også er et rammeverk for å lage komponenter Enterprise JavaBeans Hjelper utviklere når det er snakk om store og krevende applikasjoner (tjenerapplikasjoner)

11 Gjenbruk av kode og komponetbasert utvikling Problemer ved gjenbruk av kode (i ulike sammenhenger) Laget kode for et DB-system => vil nå bruke et annet DBsystem. Reglene for systemet endrer seg. I utgangspunktet skal Administrator kunne kalle metode A Vanlige bruker metode B Systemet skal nå brukes i en annen sammenheng der vanlige brukere også skal kalle metode A. Systemet ble laget for 100 brukere. Nå er det 200 og systemet har blitt tregt og ustabilt. Gjenbruk av kode er vanskelig uten et ordentlig rammeverk for hvordan det skal gjøres! Enterprise JavaBeans (EJB) er komponenter som utvikles i forhold til en gitt standard. EJB en skal løse et gitt delproblem Skal kunne smettes inn i et annet system Kjøp salg av ferdigtestede komponenter.

12 Applikasjonstjener/Container Tilbyr tjenester til komponentene Kommunikasjon mot database, skriver ingen databasekode selv Sjekker hvem brukeren er og hvilke rettigheter brukeren har. Klusterløsning med flere applikasjonstjenere. EJB en blir dermed spredd på flere maskiner => skalerbarhet. Hvordan kan Containeren vite hvilke brukere som skal ha rettigheter til metode A? Man lager en XML-fil, kalt deployment descriptor, som beskriver dette. Containeren sjekker i denne fila om brukeren har rettighet. Enkelt å endre rettigheter! Ingen endring i kode. Ansvar for en del oppgaver flyttes fra programmereren til Containeren/tjeneren! Komponentene EJB ene skal kunne legges i hvilken som helst applikasjonstjener.

13 RMI og interface... KlientImpl.java int tall = obj.henttall();... Tjener.java public interface Tjener{... public int tall() throws RemoteException;... Klientens "syn" TjenerImpl.java public int henttall() throws RemoteExcpetion { return 10;

14 Remote-interfacet til en EJB Lager interface på samme måte som for RMI (fjerninterface). Vi har altså en implementsjonsklasse og tilhørende interface La oss se på EJB en HelloWord Den skal ha en metode som returnerer en streng. Remote-interfacet blir slik: Remoteinterface import javax.ejb.*; import java.rmi.remoteexception; public interface HelloWorld extends EJBObject{ public String gethelloworldstring() throws RemoteException;

15 EJB-implementasjonsklasse import javax.ejb.*; public class HelloWorldBean implements SessionBean{ private String value="helloworldbean says hello"; public void ejbcreate(){ log("ejbactivate()"); Merk! Hiver ikke RemoteException public String gethelloworldstring(){ return value; public void ejbremove(){ log("ejbremove()"); /*************************************************************/ //brukes for å lette endring av utskriftsrutiner... private void log(string s){ System.out.println("HelloWorldBean: " + s);

16 EJB-koden forts. /* * metoder som ikke er av interesse foreløpig, men ligger i SessionBean-interfacet */ public void ejbactivate(){ log("ejbactivate()"); public void ejbpassivate(){ log("ejbpassivate()"); public void setsessioncontext(sessioncontext con){ log("setsessioncontext()"); Merk at metodene ikke er gjort synchronized. Det er containeren sin oppgave å sørge for at flerbrukerproblematikk ikke blir et problem.

17 Implementasjons-objekte HelloWorld Klient Container //bruk JNDI til å finne fjernobjekt //(se omtale home-objektet) //kaller en fjernmetode på EJB-objektet String str = hello.gethelloworldstring(); HelloWorldBean HelloWorldBean HelloWorldBean EJBObject (for HelloWorld) EJBObject (for HelloWorld)

18 EJB-objektet Ikke et objekt av implementasjonsklassen!!! Et objekt som applikasjonstjeneren lager på grunnlag av Remote-interfacet Fjernmetoden gethellowordstring() ligger altså i dette objektet. Alle kall til implementasjonsobjektet går via dette EJB-objektet!!! Implementasjonen av gethelloworldstring() ligger i implementasjonsobjektet, men dette er en lokal metode. EJB-objektet er en del av Containeren og det er her (sannsynligvis) at klientkontroll o.l skjer (på grunnlag av innholdet i XML-filen).

19 Opprettelsen av implementasjonsobjekter I RMI ville vi gjort HelloWorld hello = new HelloWorldBean();//oppretter tjenerobjektet Naming.rebind(hello, bønna );//objektet tilgjengelig via RMI-registret Klient gjør så lookup() Når vi bruker Tilstandsløse Session Beans (HelloWorld) så er det applikasjonstjeneren sin oppgave å tilby til klientene et passe antall objekter. Har en pool av objekter Ikke noe problem da alt de gjør er å returnere en streng. Klienten må imidlertid kunne gi beskjed om når det trenger en EJB å jobbe mot Containeren vil da returnere referansen til et eksiterende objekt eller opprette et nytt.

20 Home-interfacet til en EJB import javax.ejb.*; import java.rmi.remoteexception; public interface HelloWorldHome extends EJBHome{ public HelloWorld create() throws CreateException, RemoteException; Home-interfacet beskriver en/flere fjernmetoder som klienten skal kunne kalle. Klienten vil kalle create() og vil da få returnert en referanse til et EJB-objekt som man så kommuniserer med. Applikasjonstjeneren vil i det man legger ut en J2EE-applikasjon på tjeneren sørge for å opprette et Home-objekt for EJB en. Dette objektet får et JNDInavn som klienten kan bruke. Ved å kalle create() på home-objektet får man en referanse til et EJB-objekt.

21 Fullstendig skisse Klient Container //gjør JNDI-lookup for å finne home-objektet //dette må castes til riktig interface HelloWorld hello = home.create(); HelloWorldBean String str = hello.gethelloworldstring(); 5 HelloWorldHomeobjekt HelloWorldBean 6 4 EJBObject (for HelloWorld) HelloWorldBean EJBObject (for HelloWorld)

22 import javax.ejb.*; import javax.naming.*; public class HelloWorldClient{ public static void main(string args[]){ try{ //bruker default navnetjeneste = CORBA sin => brukes for j2ee Context context = new InitialContext(); //gjør lookup og finn home-objektet til EJB en Object objref = context.lookup("hello"); //caster til riktig interface altså vårt interface til home-objektet HelloWorldHome home = (HelloWorldHome) javax.rmi.portableremoteobject.narrow(objref, HelloWorldHome.class); //la oss finne et EJB-objekt HelloWorld hello = home.create(); String streng = hello.gethelloworldstring(); System.out.println(streng); catch(exception e){ System.out.println(e);

23 Samling av tråder En EJB består av implementasjonsklassen, Remote-interface, Home-interface og minst en XML-fil, også kalt deployment descriptor (dd). (Det kan også være andre (lokale) interface til en EJB (se kap. 3 i boka)). Disse delene hører sammen og pakkes i en Jar-fil (Vi skal bruke verktøyet deploytool for dette). For å lage en applikasjon bestående av flere EJB er og også nødvendige klienter lager vi en Ear-fil. Denne vil da inneholde en flere EJB Jar-filer m.m. Det vil også finnes en XML-fil (dd) som beskriver JNDI-navn til EJB ene osv. Ear-filen lages ved bruk av deploytool. Deploytool brukes også for å legge applikasjonen ut på applikasjonstjeneren. Vi skal bruke tjeneren j2ee.

24 Oppskrift for kjøring av app Start applikasjonstjeneren ved å skrive j2ee verbose Start deploytool ved å skrive deploytool Sett sammen applikasjonen eller åpne en eksisterende Ear-fil Trykk på deploy For å kjøre klienten skriv set APPCPATH=navnPåKlientJarFil.jar runclient -client navnpåearfil.ear name navnpåklientklassen -textauth runclient er en batch-fil som sørger for å kjøre klienten og å finne i nødvendige klasser som klienten trenger (j2ee.jar m.fl). Mulig å kjøre klienten direkte med java navnpåklient, men du må da sørge for at alle klasser er tilgjengelig. Se J2EE-leksjon 7 for hvordan klienten kan kjøres på en annen maskin enn tjeneren. Se J2EE-leksjon 8 kap. 3 for hvordan bruke deploytool

J2EE og distribuerte systemer Leksjon 8: Oppbygning av J2EE-applikasjoner

J2EE og distribuerte systemer Leksjon 8: Oppbygning av J2EE-applikasjoner J2EE og distribuerte systemer Leksjon 8: Oppbygning av J2EE-applikasjoner Leksjonen er forfatters eiendom. Som kursdeltaker kan du fritt bruke leksjonen til eget personlige bruk. Kursdeltakere som ønsker

Detaljer

J2EE og distribuerte systemer Leksjon 7: Installasjon av applikasjonstjener og JNDI

J2EE og distribuerte systemer Leksjon 7: Installasjon av applikasjonstjener og JNDI J2EE og distribuerte systemer Leksjon 7: Installasjon av applikasjonstjener og JNDI Leksjonen er forfatters eiendom. Som kursdeltaker kan du fritt bruke leksjonen til eget personlige bruk. Kursdeltakere

Detaljer

Repetisjon J2EE. Fullstendig skisse. JNDI og EJB. Session Beans Entity Beans (BMP)

Repetisjon J2EE. Fullstendig skisse. JNDI og EJB. Session Beans Entity Beans (BMP) J2EE Session Beans Entity Beans (BMP) Repetisjon TLSB (tilsandsløse Session Beans). Husk: Remote-interface => EJB-objekt gethelloworldstring() Home-interface => home-objekt create() Implementasjonsklasse

Detaljer

J2EE. CMP Entity Beans, Transaksjoner, JSP

J2EE. CMP Entity Beans, Transaksjoner, JSP J2EE CMP Entity Beans, Transaksjoner, JSP CMP Entity Beans Container Managed Persistence Container sin oppgave å lagre innholdet i EJB til varig lager (typisk DB). Implementasjonsklassen lages abstrakt.

Detaljer

J2EE og distribuerte systemer Leksjon 9: Session Beans

J2EE og distribuerte systemer Leksjon 9: Session Beans J2EE og distribuerte systemer Leksjon 9: Session Beans Leksjonen er forfatters eiendom. Som kursdeltaker kan du fritt bruke leksjonen til eget personlige bruk. Kursdeltakere som ønsker å bruke leksjonene

Detaljer

J2EE og distribuerte systemer Leksjon 10: Entity Beans (BMP)

J2EE og distribuerte systemer Leksjon 10: Entity Beans (BMP) J2EE og distribuerte systemer Leksjon 10: Entity Beans (BMP) Leksjonen er forfatters eiendom. Som kursdeltaker kan du fritt bruke leksjonen til eget personlige bruk. Kursdeltakere som ønsker å bruke leksjonene

Detaljer

Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004

Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004 Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004 Oppgave 1 RMI-tjenerobjekt (databasewrapper) A Sentral tjenermaskin med database, RMi-register og RMI-tjenerprogram vis kart gjør bestilling

Detaljer

J2EE og distribuerte systemer Leksjon 11: Entity Beans (CMP)

J2EE og distribuerte systemer Leksjon 11: Entity Beans (CMP) J2EE og distribuerte systemer Leksjon 11: Entity Beans (CMP) Leksjonen er forfatters eiendom. Som kursdeltaker kan du fritt bruke leksjonen til eget personlige bruk. Kursdeltakere som ønsker å bruke leksjonene

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 10.desember 2008 Varighet: 0900 1200 Fagnummer: Fagnavn: LO346D Java EE og distribuerte systemer Klasse(r): NETT

Detaljer

Java RMI (Remote Method Invocation) Gruppe 9: Ivar Steien Rasmussen Tom Anders Dalseng Andreas Petlund

Java RMI (Remote Method Invocation) Gruppe 9: Ivar Steien Rasmussen Tom Anders Dalseng Andreas Petlund Java RMI (Remote Method Invocation) Gruppe 9: Ivar Steien Rasmussen Tom Anders Dalseng Andreas Petlund Antagelser og forutsetninger Implementasjonseksemplet kompileres og kjøres på Java SDK 1.4.2 Dokumentasjon

Detaljer

Java RMI. Introduksjon. Markus Foss Hans-Gunnar Vold

Java RMI. Introduksjon. Markus Foss Hans-Gunnar Vold Java RMI Markus Foss Hans-Gunnar Vold Introduksjon Java Remote Method Invocation Tillater metodekall mellom Java virituelle maskiner Introdusert i Java 1.02 Javas svar på RPC, men er objekt orientert,

Detaljer

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy Kapittel 13 Advanced Hypertext Implementation Martin Lie Ole Kristian Heggøy 08.11.04 Forbedring av arkitektur Problem med alt i ett -løsning: Spredning av forretningslogikk. Avhengighet mellom presentasjonssider

Detaljer

Hentet fra Suns Totorial:

Hentet fra Suns Totorial: Sun s Hello-eksempel Hentet fra Suns Totorial: http://java.sun.com/j2se/1.4.2/docs/guide/idl/gshome.html Andre nyttige URIer: Java IDL documentation: http://java.sun.com/j2se/1.4.2/docs/guide/idl/index.html

Detaljer

CORBA Component Model (CCM)

CORBA Component Model (CCM) CORBA Component Model (CCM) INF5040 Høst 2005 Erlend Birkedal Jan Erik Johnsen Tore Ottersen Løkkeberg Denne presentasjonen CORBA Svakheter ved CORBA Object Model Komponenter CORBA Component Model Hva

Detaljer

Distributed Component Object Model. Utvikling av distribuerte applikasjoner. Utvidelse av COM for støtte av distribuerte objekter

Distributed Component Object Model. Utvikling av distribuerte applikasjoner. Utvidelse av COM for støtte av distribuerte objekter DCOM Distributed Component Object Model Almir Delkic og Frank Jensen Institutt for Informatikk, Universitetet i Oslo, oktober 2003 Introduksjon Utvikling av distribuerte applikasjoner Utvidelse av COM

Detaljer

Stein Gjessing. Institutt for informatikk. Universitetet i Oslo. Institutt for informatikk

Stein Gjessing. Institutt for informatikk. Universitetet i Oslo. Institutt for informatikk INF1010 11. mai 2017 Monitorer med kritiske regioner og passive venting innbygget i Java - Kommunikasjon mellom prosesser i Java (Ikke pensum i INF1010) Stein Gjessing Universitetet i Oslo 1 Repetisjon:

Detaljer

OOT Seminar H-97 CORBA. Praktisk del

OOT Seminar H-97 CORBA. Praktisk del OOT Seminar H-97 CORBA Praktisk del Valg av ORB implementasjon Har valgt å bruke Visigenic sin ORB implementsjon ORB en er 100% Java kodet Bygger på OMG sin IDL to Java language mapping fra Jun 97 Gratis

Detaljer

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider: Fra sist JSP - 2 Installasjon av Web-tjener Et enkelt JSP-script HTML statisk Forms Tags Ønsker dynamiske nettsider: Klientside-script/programmering Javascript, vbscript, applets Tjenerside-script/programmering

Detaljer

Implementering av caching ved hjelp av Spring. Christian Vestøl 27.04.06

Implementering av caching ved hjelp av Spring. Christian Vestøl 27.04.06 Implementering av caching ved hjelp av Spring Christian Vestøl 27.04.06 Agenda Kort introduksjon til Spring med Spring Praktiske eksempler Forskjellige rammeverk for caching April 2006 2 Kort om Spring

Detaljer

Løsningsforslag Test 2

Løsningsforslag Test 2 Løsningsforslag Test 2 Oppgave 1.1: Interface definerer et grensesnitt som kan implementeres av flere klasser. Dette gir en standardisert måte å kommunisere med objekter av en eller flere relaterte klasser.

Detaljer

Kapittel 9. Distribusjon. Fjernbruker. Tjenermaskin LAN WAN. Nærbruker. Figur 9-1: En enkel klient/tjener distribusjon

Kapittel 9. Distribusjon. Fjernbruker. Tjenermaskin LAN WAN. Nærbruker. Figur 9-1: En enkel klient/tjener distribusjon Kapittel 9 Distribusjon Tjenermaskin Fjernbruker LAN Nærbruker WAN Figur 9-1: En enkel klient/tjener distribusjon 195 Tjenermaskin Fjernbruker LAN Replikert tjener Nærbruker WAN Figur 9-2: Klient/tjener-konfigurasjon

Detaljer

Videregående programmering 6

Videregående programmering 6 Videregående programmering 6 1. Feilkontroll i klasser uten unntaksobjekter Klasser skal lages sikre. Argumentverdier skal kontrolleres, og eventuelle feil skal rapporteres til klienten. I praksis har

Detaljer

Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus

Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus // class Bygning Oppgave 1 System.out.println( Bolighus ); // class Bolighus Hva blir utskriften fra dette programmet? class Blokk extends Bolighus{ // class Blokk IN105subclassesII-1 Eksekveringsrekkefølgen

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider.

Detaljer

INF5120 Oblig 1c4 - Gruppe 19

INF5120 Oblig 1c4 - Gruppe 19 INF5120 Oblig 1c4 - Gruppe 19 Berge, Kristian, Trond og Fredrik Mapping av domenemodell mot EJB/WEB modell Teknologispesifikke valg PIM Class Model 1 PIM Service Model PIM class model PIM service model

Detaljer

INF1010, 15. januar 2014 2. time. Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

INF1010, 15. januar 2014 2. time. Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo INF1010, 15. januar 2014 2. time Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Repetisjon fra gamle dager: Metoder med parametre En metode uten parameter:

Detaljer

CORBA & Java RMI & J2EE & CORBA CCM OMG & CORBA

CORBA & Java RMI & J2EE & CORBA CCM OMG & CORBA CORBA & Java RMI & J2EE & CORBA CCM IN-ODP høst 2001 foreleser: Frank Eliassen Frank Eliassen, Simula RL &Ifi/UiO 1 OMG & CORBA Object Mangement Group (OMG): non-profit organisasjon med over 800 medlemsorganisasjoner

Detaljer

import java.io.*; import java.util.*; import javagently.text;

import java.io.*; import java.util.*; import javagently.text; //-------------------------------------------------------- // // Fil: Oppg1.java - // løser oppgave 1 i eksamensettet for in105 - v99 // //-------------------------------------------------------- import

Detaljer

Eksamen i Internetteknologi Fagkode: ITE1526

Eksamen i Internetteknologi Fagkode: ITE1526 Datateknikk Side 1 av 8 Eksamen i Internetteknologi Fagkode: ITE1526 Tid: Mandag, 23.05.05, 9:00-12:00 Tillatte hjelpemidler: Alle trykte og skrevne hjelpemidler tillatt. Eksamen består av 3 oppgaver og

Detaljer

TOD063 Datastrukturer og algoritmer

TOD063 Datastrukturer og algoritmer TOD063 Datastrukturer og algoritmer Øving : 3 Utlevert : Uke 7 Innleveringsfrist : 26. februar 2010 Klasse : 1 Data og 1 Informasjonsteknologi Gruppearbeid: 2-3 personer pr. gruppe. Oppgave 1 Vi skal lage

Detaljer

Installasjonsveiledning

Installasjonsveiledning Installasjonsveiledning Magne Rodem og Jan-Erik Strøm 18. juni 2006 Innhold 1 Installasjon av Web Service 3 1.1 Krav........................................... 3 1.2 Installasjon av Sun Java System Application

Detaljer

JavaServer Pages (JSP)

JavaServer Pages (JSP) JavaServer Pages (JSP) Forelesning 1 Klient/tjener-systemer, installasjon av tjener, og intro til JSP. Statisk Web = HTML Overskrift

Detaljer

1. NetBeans IDE: Lage en enkel mobilapplikasjon

1. NetBeans IDE: Lage en enkel mobilapplikasjon Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag NetBeans IDE: Lage en enkel mobilapplikasjon Mildrid Ljosland/Lene Hoff 09.09.2008 Lærestoffet er utviklet for faget SO350D J2ME for programmering

Detaljer

INF1010 våren 2018 tirsdag 23. januar

INF1010 våren 2018 tirsdag 23. januar INF1010 våren 2018 tirsdag 23. januar I/O og litt om bruk av unntak i Java Stein Gjessing Lesing fra terminal og fil navn: mininn Bruk Scanner: Scanner mininn = new Scanner(); Type: Scanner boolean

Detaljer

INF1010, 21. februar Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

INF1010, 21. februar Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo INF1010, 21. februar 2013 Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Ikke noe nytt her From the Java language specification (version 6): 14.14.2

Detaljer

Å lese tall fra en fil, klassen Scanner

Å lese tall fra en fil, klassen Scanner Å lese tall fra en fil, klassen Scanner 1. Et Scanner-objekt kan knyttes til et strømobjekt eller til en streng. 2. Kan skanne teksten etter data av ulike typer. 3. Kan kun skanne framover i teksten. Vis

Detaljer

Kapittel 9: Sortering og søking Kort versjon

Kapittel 9: Sortering og søking Kort versjon Kapittel 9: Sortering og søking Kort versjon Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Fredag 4. desember 2015 Tid for eksamen: 14.30 (4 timer)

Detaljer

2. Java-interface og RMI.

2. Java-interface og RMI. Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag 2. Java-interface og RMI. Else Lervik 17.09.2008 Lærestoffet er utviklet for faget LO346D Java EE og distribuerte systemer 2. Java-interface

Detaljer

Komponentarkitekturer

Komponentarkitekturer Komponentarkitekturer INF 5040 høst 2004 foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 En historie om mellomvare!første generasjons mellomvare " Utelukkende basert på klient-tjerner modellen

Detaljer

INF1010 våren 2019 Onsdag 30. januar. Mer om unntak i Java (med litt repetisjon av I/O først)

INF1010 våren 2019 Onsdag 30. januar. Mer om unntak i Java (med litt repetisjon av I/O først) INF1010 våren 2019 Onsdag 30. januar Mer om unntak i Java (med litt repetisjon av I/O først) Stein Gjessing Lesing fra terminal og fil navn: mininn Bruk Scanner: Scanner mininn = new Scanner(); Type:

Detaljer

INF 1010, vår 2005 Løsningsforslag uke 11

INF 1010, vår 2005 Løsningsforslag uke 11 INF 1010, vår 2005 uke 11 Anders Brunland 11. april 2005 Oppgave 1 Oppgave 1 i kapittel 19, Rett på Java Er følgende metoder lovlige? Hovorfor/hvorfor ikke? a) void koknverter ( int mnd ) { konverterdato

Detaljer

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; } Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; Hva skrives ut på skjermen når følgende kode utføres? int [] tallene =

Detaljer

INF1010. Grensesnittet Comparable<T>

INF1010. Grensesnittet Comparable<T> INF1010 21. februar 2013 Grensesnittet Comparable Stein Michael Storleer Institutt for Informatikk Universitetet i Oslo Interface med parametre interface Utkledd { // T er klassen jeg er utkledd

Detaljer

Hittil har programmene kommunisert med omverden via tastatur og skjerm Ønskelig at data kan leve fra en kjøring til neste

Hittil har programmene kommunisert med omverden via tastatur og skjerm Ønskelig at data kan leve fra en kjøring til neste Datafiler og serialisering Tekstfiler Scanner klassen Binær overføring av data Direkte tilgang til filinnholdet Serialisering LC191D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_lc191d.php

Detaljer

Array&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister

Array&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java

Detaljer

Komponentarkitekturer. En historie om mellomvare

Komponentarkitekturer. En historie om mellomvare Komponentarkitekturer INF 5040 høst 2003 foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 En historie om mellomvare Første generasjons mellomvare Utelukkende basert på klient-tjerner modellen

Detaljer

Tilstandsmaskiner med UML og Java

Tilstandsmaskiner med UML og Java Tilstandsmaskiner med UML og Java DAT2160 DAT2160 Høst Høst 2002 2002 Tilstandsmaskiner Tilstandsmaskiner med med UML UML og og Java Java Hva er en (endelig) tilstandsmaskin? En tilstandsmaskin kan sees

Detaljer

Repitisjonskurs. Arv, Subklasser og Grensesnitt

Repitisjonskurs. Arv, Subklasser og Grensesnitt Repitisjonskurs Arv, Subklasser og Grensesnitt Subklasser Klasser i OO-programmering representerer typer av objekter som deler et sett med egenskaper. En subklasse har egenskapene til en klasse + ett sett

Detaljer

INF Notater. Veronika Heimsbakk 10. juni 2012

INF Notater. Veronika Heimsbakk 10. juni 2012 INF1010 - Notater Veronika Heimsbakk veronahe@student.matnat.uio.no 10. juni 2012 1 Tilgangsnivåer 2 CompareTo Modifier Class Package Subclass World public Y Y Y Y protected Y Y Y N no modifier Y Y N N

Detaljer

INF1000 - Løsning på seminaropppgaver til uke 8

INF1000 - Løsning på seminaropppgaver til uke 8 INF1000 - Løsning på seminaropppgaver til uke 8 Oppgave 1 a) for(string nokkel : studenter.keyset){ System.out.println(nokkel); Studenten sitt navn blir skrevet ut. b) for(student dennestudenten : studenter.values()){

Detaljer

Eksamen Objektorientert Programmering 2012

Eksamen Objektorientert Programmering 2012 Eksamen Objektorientert Programmering 2012 Høgskolen i Østfold 2012-05-09 Emnekode Emne ITF10611 Dato 2012-05-09 Eksamenstid 09:00-13:00 Hjelpemidler Faglærer Objektorientert Programmering To A4-ark (fire

Detaljer

Distributed object architecture

Distributed object architecture Forelesning IMT2243 6. April 2010 Tema: forts. arkitektur og design av programvare Prosjektstatus Programvarearkitektur Oppsummering fra før påske Distribuerte objektarkitektur MDA - Model Driven Architecture

Detaljer

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert. Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen

Detaljer

Distribuerte objekter og objekt-basert mellomvare

Distribuerte objekter og objekt-basert mellomvare Distribuerte objekter og objekt-basert mellomvare INF 5040 H2006 foreleser: Frank Eliassen INF5040 Frank Eliassen 1 Hvorfor objekt-basert distribuert mellomvare? Innkapsling naturlig tilnærming til utvikling

Detaljer

INF1010 våren 2017 Onsdag 25. januar. Litt om unntak i Java

INF1010 våren 2017 Onsdag 25. januar. Litt om unntak i Java INF1010 våren 2017 Onsdag 25. januar Litt om unntak i Java Stein Gjessing Nytt tema: Feilhåndtering (IO: Innlesing/Utskrift) n En metode som kan komme til å gjøre en IO-feil på fil må enten behandle denne

Detaljer

NB!!! Veldig korte svar er gitt her. Disse burde det vært skrevet mer på ved en eksamen..

NB!!! Veldig korte svar er gitt her. Disse burde det vært skrevet mer på ved en eksamen.. Løsningsforslag Eksamen V2007 Oppgave 1 NB!!! Veldig korte svar er gitt her. Disse burde det vært skrevet mer på ved en eksamen.. Oppgave 1.1 Klasse som pakke rinne n primitiv datatype, slik at vi kan

Detaljer

INF2100. Oppgaver 9. oktober 2012 C 100 X 10

INF2100. Oppgaver 9. oktober 2012 C 100 X 10 INF2100 Oppgaver 9. oktober 2012 Oppgave 1 Vi skal se på et meget enkelt språk E som består av uttrykk med de fire vanligste regneartene +,, * og /; grammatikken 1 ser du i figur 1 på neste side. Tallkonstanter

Detaljer

Eksamen. Objektorientert Programmering IGR 1372

Eksamen. Objektorientert Programmering IGR 1372 + JVNROHQL1DUYLN $YGHOLQJIRU7HNQRORJL Eksamen i Objektorientert Programmering IGR 1372 7LG'HVHPEHU± 7LOODWWHKMHOSHPLGOHU 6NULYHVDNHU2UGE NHU -DYD6RIWZDUH6ROXWLRQV)RXQGDWLRQVRI3URJUDP 'HVLJQVNUHYHWDY/HZLV

Detaljer

1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5)

1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Dagens tema Litt mer om vanlige lister Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Nyttige varianter av lister: Stabler («stacks») (Big Java 15.5.1) Køer («queues») (Big Java 15.5.2)

Detaljer

Distribuerte objekter og objekt-basert mellomvare

Distribuerte objekter og objekt-basert mellomvare Distribuerte objekter og objekt-basert mellomvare INF5040 foreleser: Olav Lysne Frank Eliassen, SRL & Ifi/UiO 1 Hvorfor objekt-basert distribuert mellomvare? Innkapsling naturlig tilnærming til utvikling

Detaljer

INF2100. Oppgaver 6. og 11. oktober 2011 C 100 X 10

INF2100. Oppgaver 6. og 11. oktober 2011 C 100 X 10 INF2100 Oppgaver 6. og 11. oktober 2011 Oppgave 1 Vi skal se på et meget enkelt språk E som består av uttrykk med de fire vanligste regneartene +,, * og /; grammatikken 1 ser du i figur 1 på neste side.

Detaljer

Introduksjon til objektorientert programmering

Introduksjon til objektorientert programmering Introduksjon til objektorientert programmering Samt litt mer om strenger og variable INF1000, uke6 Ragnhild Kobro Runde Grunnkurs i objektorientert programmering Strategi: Splitt og hersk Metoder kan brukes

Detaljer

Kapittel 8: Programutvikling

Kapittel 8: Programutvikling Kapittel 8: Programutvikling Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk

Detaljer

1. Krav til klasseparametre 2. Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

1. Krav til klasseparametre 2. Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo INF1010, 26. februar 2014 1. Krav til klasseparametre 2. Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Vi tar utgangspunkt i dette programmet for

Detaljer

INF2100. Oppgaver 26. september til 1. oktober 2007

INF2100. Oppgaver 26. september til 1. oktober 2007 INF2100 Oppgaver 26. september til 1. oktober 2007 1 Språket Denne uken skal vi implementere en utvidelse av språket fra forrige ukes oppgave. Syntaksen er vist i figur 1 på neste side og betydning er

Detaljer

Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen

Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen Forkurs INF1010 Dag 1 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Tuva Kristine Thoresen (tuvakt@ifi.uio.no) Institutt for Informatikk, 6. januar 2014 Forkurs INF1010 - dag 1 Hello, World! Typer Input/output

Detaljer

INF2100. Oppgaver uke 40 og

INF2100. Oppgaver uke 40 og INF2100 Oppgaver uke 40 og 41 2014 For å få trening i å programmere en parser, skal vi aller først gjøre det for et veldig enkelt programmeringsspråk: E. Dette språket består av uttrykk med de fire vanligste

Detaljer

Distribuerte objekter og objekt-basert mellomvare

Distribuerte objekter og objekt-basert mellomvare Distribuerte objekter og objekt-basert mellomvare INF 5040 H2004 foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Hvorfor objekt-basert distribuert mellomvare?! Innkapsling " naturlig tilnærming

Detaljer

I et Java-program må programmøren lage og starte hver tråd som programmet bruker. Er dette korrekt? Velg ett alternativ

I et Java-program må programmøren lage og starte hver tråd som programmet bruker. Er dette korrekt? Velg ett alternativ INF2440-V18 Information INF2440 Vår 2018 eksamen Dato og tid: 11. juni 2018 09:00. Varighet: 4 timer Hjelpemidler: Alt skriftlig materiale er tillatt. Ingen elektroniske hjelpemidler er tillatt. Powerpoint

Detaljer

1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5)

1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Dagens tema Litt mer om vanlige lister Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Nyttige varianter av lister: Stabler («stacks») (Big Java 15.5.1) Køer («queues») (Big Java 15.5.2)

Detaljer

INF1000 - Uke 10. Ukesoppgaver 10 24. oktober 2012

INF1000 - Uke 10. Ukesoppgaver 10 24. oktober 2012 INF1000 - Uke 10 Ukesoppgaver 10 24. oktober 2012 Vanlige ukesoppgaver De første 4 oppgavene (Oppgave 1-4) handler om HashMap og bør absolutt gjøres før du starter på Oblig 4. Deretter er det en del repetisjonsoppgaver

Detaljer

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller. Dagens forelesning Java 13 Design av større programmer : fordeling av roller INF 101-13. mars 2003 Flere eksempler på bruk av objekter MVC-prinsippet MVC-prinsippet Flere eksempler på programmer med objekter

Detaljer

INF1010, 21. januar 2016. Klasser med parametre = Parametriserte klasser = Generiske klasser

INF1010, 21. januar 2016. Klasser med parametre = Parametriserte klasser = Generiske klasser INF1010, 21. januar 2016 Klasser med parametre = Parametriserte klasser = Generiske klasser Stein Gjessing Inst. for Informatikk Universitetet i Oslo Først litt repetisjon fra i går class LagBiler { public

Detaljer

Konstruktører. Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver. skjer følgende:

Konstruktører. Bruk av konstruktører når vi opererer med enkle klasser er ganske ukomplisert. Når vi skriver. skjer følgende: Konstruktører Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver Punkt p = new Punkt(3,4); class Punkt { skjer følgende: int x, y; 1. Det settes av plass i

Detaljer

Steg 1: Sette opp Java-prosjekt, og lage app-mappe og app-klasse

Steg 1: Sette opp Java-prosjekt, og lage app-mappe og app-klasse Hello world Skrevet av: Hallvard Trætteberg Kurs: Javafx Introduksjon Formålet til denne leksjonen er å lære hvordan man får satt opp et Java-prosjekt i Eclipse og kjørt et JavaFX-program. I tillegg skal

Detaljer

Mål med kurset. Java i INF 2400. Dagens tema. GUI med Swing. Dokumentasjon

Mål med kurset. Java i INF 2400. Dagens tema. GUI med Swing. Dokumentasjon Mål med kurset Java i INF 2400 Introduksjon til signalbehandling Lyd som anvendelse Få programmeringserfaring Dagens tema Utplukk av Java (GUI, kode-konvensjon, polymorfisme, classpath, javadoc) Java og

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Onsdag 4. juni 2014 Tid for eksamen: 9:00-15:00 Oppgavesettet er på

Detaljer

INF1010, 22. mai Prøveeksamen (Eksamen 12. juni 2012) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

INF1010, 22. mai Prøveeksamen (Eksamen 12. juni 2012) Stein Gjessing Inst. for Informatikk Universitetet i Oslo INF, 22. mai 23 Prøveeksamen 23 (Eksamen 2. juni 22) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Oppgave a Tegn klassehierarkiet for de 9 produkttypene som er beskrevet over. Inkluder også

Detaljer

Kapittel 7: Mer om arv

Kapittel 7: Mer om arv Kapittel 7: Mer om arv Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag,

Detaljer

Kalkulator-leksjonen (nesten ferdig)

Kalkulator-leksjonen (nesten ferdig) Kalkulator-leksjonen (nesten ferdig) Introduksjon I denne leksjonen vil du lære hvordan du kan koble FXML-koden til Java-koden og gjøre app-en levende (interaktiv)! Steg 1: Opprette app-pakke, app-klasse,

Detaljer

Leksjon 4. Metoder. Program, klasse og metode

Leksjon 4. Metoder. Program, klasse og metode 6108 Programmering i Java Leksjon 4 Metoder Roy M. Istad 2015 Program, klasse og metode public class Kode { main-metode Kode.java import static java.... // ulike klasser Våre program så langt Én fil Én

Detaljer

Web Services. Olav Lysne

Web Services. Olav Lysne Web Services Olav Lysne Til nå har dere hørt om Mellomvare for objektbasert kommunikasjon brukes vanligvis i anvendelser som er innen én organisasjon, eller innen et tett konsortium av samarbeidende organisasjoner

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider. Vedlegg:

Detaljer

6108 Programmering i Java. Leksjon 4. Metoder. Roy M. Istad 2015

6108 Programmering i Java. Leksjon 4. Metoder. Roy M. Istad 2015 6108 Programmering i Java Leksjon 4 Metoder Roy M. Istad 2015 Program, klasse og metode public class Kode { main-metode Kode.java import static java.... // ulike klasser Våre program så langt: Én fil Én

Detaljer

Array&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister Videre

Array&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister Videre Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java

Detaljer

Oblig 4Hybelhus litt mer tips enn i oppgaven

Oblig 4Hybelhus litt mer tips enn i oppgaven Oblig 4Hybelhus litt mer tips enn i oppgaven lørdag 19. okt 2013 Arne Maus Obligatorisk oppgave 4 Gulbrand Grås husleiesystem I denne oppgaven skal vi se på hans studenthus Utsyn. Utsyn består av 3 etasjer,

Detaljer

Kapittel 8: Sortering og søking INF100

Kapittel 8: Sortering og søking INF100 Forelesningsnotater for: Kapittel 8: Sortering og søking INF100 Java som første programmeringsspråk Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk, 2003. ISBN 82-02-23274-0 http://www.ii.uib.no/~khalid/jfps/

Detaljer

Naming og trading INF5040. Foreleser: Olav Lysne. Ifi/UiO 1

Naming og trading INF5040. Foreleser: Olav Lysne. Ifi/UiO 1 Naming og trading INF5040 Foreleser: Olav Lysne Ifi/UiO 1 To design spørsmål Navngiving ressursdeling krever globale lokasjonsuavhengige navn på ressurser og objekter hvordan konstruere navngivingsskjema

Detaljer

Kapittel 8: Sortering og søking INF100

Kapittel 8: Sortering og søking INF100 Forelesningsnotater for: Kapittel 8: Sortering og søking INF100 Java som første programmeringsspråk Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk, 2003. ISBN 82-02-23274-0 http://www.ii.uib.no/~khalid/jfps/

Detaljer

Å bruke Java API-et til å sortere tabeller/arraylister der elementene er (referanser til) objekter

Å bruke Java API-et til å sortere tabeller/arraylister der elementene er (referanser til) objekter Sortering og søking i Java-API-et Tabeller og Arraylister Comaparable Comparator equals() LC9D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_lc9d.php Høgskolen i Sør-Trøndelag,

Detaljer

Forklaring til programmet AbstraktKontoTest.java med tilhørende filer Konto.java, KredittKonto.java, SpareKonto.java

Forklaring til programmet AbstraktKontoTest.java med tilhørende filer Konto.java, KredittKonto.java, SpareKonto.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 Forklaring til programmet AbstraktKontoTest.java med tilhørende

Detaljer

Kapittel 9: Sortering og søking Kort versjon

Kapittel 9: Sortering og søking Kort versjon Kapittel 9: Sortering og søking Kort versjon Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen

Detaljer

Oppsummering. Kort gjennomgang av klasser etc ved å løse halvparten av eksamen Klasser. Datastrukturer. Interface Subklasser Klasseparametre

Oppsummering. Kort gjennomgang av klasser etc ved å løse halvparten av eksamen Klasser. Datastrukturer. Interface Subklasser Klasseparametre Oppsummering Kort gjennomgang av klasser etc ved å løse halvparten av eksamen 2012. Klasser Interface Subklasser Klasseparametre Datastrukturer Hva er problemet? Oppgaven Emballasjefabrikken Renpakk skal

Detaljer

Java WebStart er et verktøy for å distribuere Java-applikasjoner av ulik type. Forfatter: Else Lervik (else.lervik@hist.no) Dato: 2006-03-01

Java WebStart er et verktøy for å distribuere Java-applikasjoner av ulik type. Forfatter: Else Lervik (else.lervik@hist.no) Dato: 2006-03-01 Java WebStart Java WebStart er et verktøy for å distribuere Java-applikasjoner av ulik type. Forfatter: Else Lervik (else.lervik@hist.no) Dato: 2006-03-01 Innhold 1 Introduksjon... 1 2 Hva må utvikleren

Detaljer

Stikkord: Java EE, EJB, JSF, JPA, SWT, klient/tjener, Glassfish server, Application Client.

Stikkord: Java EE, EJB, JSF, JPA, SWT, klient/tjener, Glassfish server, Application Client. Stikkord: Java EE, EJB, JSF, JPA, SWT, klient/tjener, Glassfish server, Application Client. Studenter: Magnus Skomsøy Bae, Marius Eggen, Magnus Krane Klasse: 3ING, Systemutvikling Produserer redaksjonelle

Detaljer

INF2100. Oppgaver 23. og 24. september 2010

INF2100. Oppgaver 23. og 24. september 2010 INF2100 Oppgaver 23. og 24. september 2010 Oppgave 1 Vi skal se på et meget enkelt språk E som består av uttrykk med + og ; grammatikken ser du i figur 1 på neste side. Tallkonstanter består av bare ett

Detaljer

Logo med FXML. Introduksjon. Skrevet av: Hallvard Trætteberg

Logo med FXML. Introduksjon. Skrevet av: Hallvard Trætteberg Logo med FXML Skrevet av: Hallvard Trætteberg Kurs: Javafx Introduksjon En viktig del av det å lage app-er er å utforme skjerminnholdet, dvs. alt app-en inneholder av grafikk, knapper, lister, osv. Formålet

Detaljer

Gruppe 11. Frank Petter Larsen Vegard Dehlen

Gruppe 11. Frank Petter Larsen Vegard Dehlen qoskets Gruppe 11 Frank Petter Larsen Vegard Dehlen Problematikk Dagens mellomvare for objektbaserte distribuerte systemer har ikke innebygget støtte for å spesifisere, overvåke og kontrollere tjenestekvalitet

Detaljer

IN1010 våren 2018 Tirsdag 15. mai. Repetisjon av subklasser og tråder. Stein Gjessing Institutt for informatikk Universitetet i Oslo

IN1010 våren 2018 Tirsdag 15. mai. Repetisjon av subklasser og tråder. Stein Gjessing Institutt for informatikk Universitetet i Oslo IN1010 våren 2018 Tirsdag 15. mai Repetisjon av subklasser og tråder Stein Gjessing Institutt for informatikk Universitetet i Oslo 1 Klassehierarki: Personbil Bil Klasser - Subklasser class Bil {

Detaljer