[MWy] Prvni cviceni streda 11.3. 15:40 SU1 (pristi tyden!)
Tomas Bures
bures at dsrg.mff.cuni.cz
Mon Mar 23 12:15:46 CET 2009
Dobry den,
rozdil mezi zdedeni od UnicastRemoteObject a pouziti exportObject neni.
Konstruktor tridy UnicastRemoteObject proste jen zavola exportObject.
Rozdil mezi predavanim hodnotou a referenci je nasledujici:
- Pokud je objekt exportovan (pomoci exportObject nebo zdedenim od
UnicastRemoteObject), tak se pri predavani predava odkazem. To znamena,
ze skutecna implementace zije v address spacu, kde byl objekt vytvoren a
vsechny volani na tento objekt jdou pres sit.
- Pokud objekt neni exportovan, pak se pouziva serializace.
Serializovatelny objekt je typicky oznacen pomoci interface
Serializable. Pri predavani pres RMI se data zkopiruji a na druhe strane
se vytvori totozny objekt se stejnymi daty. To znamena, ze volani jsou
vzdy lokalni a zmeny dat se nepropaguji zpet.
Co se tyce rozsireneho zadani, tak pokud nevidite rozdil pri nastavovani
hloubky tranzitivity, nejspise to bude tim, ze tranzitivni searcher v
podobe jak jste ho dostali je pouze kostra. Pokud se na nej podivate
pozorneji, zjistite, ze informaci o tranzitivite z objektu ziskava, ale
nepouziva ji. Rikal jsem to na cviceni.
S pozdravem,
Tomas Bures
Martin Suchan wrote:
> Zdravim,
> mel bych dotaz trochu obecny - jaky je rozdil mezi pouzitim dědění z
> třídy java.rmi.server.UnicastRemoteObject a ručním exportem statickou
> metodou UnicastRemoteObject.exportObject(obj) ? V examplu se pouziva
> jen prvni varianta.
>
> Dale mi neni jasne v rozsirenem zadani: Vysledky mereni zakladni ulohy
> pomahaji rozpoznat situace, kdy je rychlejsi predavat dynamicke
> struktury hodnotou a kdy naopak odkazem.
> Ac jsem provedl mereni v zakladnim zadani a vysla mi cisla, kdy
> lokalni data a vzdaleny searcher byla podobne pomala, jako vzdalena
> data a lokalni searcher, neni mi jasne, kdy se pouziva predavani
> hodnotou a kdy odkazem. Puvodni zadani zadne odliseni techto zpusobu
> nezminuje. Zrejme to ma clovek vydedukovat ci docist se v dokumentaci,
> na webu predmetu jsem k tomuto tematu krome zadani 1. cviceni nic
> nenasel.
>
> Proto bych se chtel zeptat, zda by me nekdo neodkazal na zdroj, ktery
> by cloveku vysvetlil rozdil mezi "predavani dynamickych struktur
> hodnotou a odkazem" v pripade Java RMI. Je dost mozne, ze vysvetleni
> je celkem primitivni, jen mi to nedochazi. Rozsirene zadani asi uz
> nestihnu, ale rad bych vedel, co se tim myslelo.
>
> Diky
> s pozdravem Martin Suchan
>
>
>
> 2009/3/22 Štěpán Henek <Stepan.Henek at seznam.cz>:
>
>> Ahoj,
>>
>> resil podobny problem.
>> Data na clientovi Searcher na serveru mi jel OK.
>> Data na Serveru searcher na klientovi mi hazel zajimave veci.
>>
>> CS-CD = Search on client data on client
>> SS-CD = Search on server data on client
>> SC-DS = Search on client data on Server
>> SS-DS = Search on Server data on Server
>>
>> ========================================
>> Attempt Distance Time TTime
>> CS-CD 0 -1 81 544
>> SS-CD 0 -1 61693
>> 20347 CS-SD 0 -1
>> 492 1492 SS-SD 0 -1
>> 771 499
>> ----------------------------------
>> CS-CD 1 7 2572 75087
>> SS-CD 1 7 29928 105210
>> Standard and transitive algorithms
>> inconsistent (7 != -1) CS-SD 1 7
>> 197931 19639816 Standard and
>> transitive algorithms inconsistent (7 != -1)
>> SS-SD 1 7 103148 24542141
>> Pak mi ale docvaklo, ze pri porovnavani vzdalenych objektu s cimkoliv se
>> misto == asi bude hodit vic equals(..).
>> Nejspis protoze misto adresy remote objektu mam vlastne adresu te proxy.To
>> Serializable tam mam, protoze jinak se mi vypisovala vyjimka, ze to musi
>> dedit od Serializable...
>>
>> Ted uz mi to vypisuje neco smysluplnejsiho
>>
>> Attempt Distance Time TTime
>> CS-CD 0 5 979 54819
>> SS-CD 0 5
>> 52040 58615 CS-SD
>> 0 5 50264 244247
>> SS-SD 0 5 41841 164279
>> ----------------------------------
>> CS-CD 1
>> 3 119 344
>> SS-CD 1 3 30957 9168
>> CS-SD 1 3 3742
>> 16213 SS-SD 1
>> 3 3398 14849
>>
>> S.H.
>>
>>
>>> ------------ Původní zpráva ------------
>>> Od: Jirka Meluzín <jirka.meluzin at centrum.cz>
>>> Předmět: Re: [MWy] Prvni cviceni streda 11.3. 15:40 SU1 (pristi tyden!)
>>> Datum: 22.3.2009 16:27:14
>>> ----------------------------------------
>>> Zdravim,
>>>
>>> tak mam stejny problem s tim tranzitivnim algoritmem, taky mi funguje
>>> jenom lokalne, pri vzdalenem volani mi vraci jine vysledky nez netranzitivni
>>> verze.
>>>
>>> Jinak u NodeTuple jsem Serializable nepridaval.
>>>
>>> Jirka Meluzin
>>>
>>>
>>>> Pekny den,
>>>>
>>>> pokousim se tedka udelat tu rozsirenou ulohu a uplne nechapu jeji
>>>> zadani.
>>>>
>>>> Co presne mam srovnavat s body 2 a 3 zakladniho zadani. Variantu se
>>>> vzdalenym Searcherem i Nody a volani pomoci getTransitiveDistance, nebo
>>>> vsechny varianty? Asi spis jen tu varinantu se zdalenym Searcherem i
>>>> Nody, ale moc jistej si tim teda nejsem. Mam to srovnavat pri serveru na
>>>> jinem PC?
>>>>
>>>> Taky jsem zjistil, ze u NodeTuple musim dodat "extends Serializable",
>>>> aby to fungovalo. Je to spravne?
>>>>
>>>> Ted resim hlavne ten trazitivni algoritmus. Lokalne zda se funguje, ale
>>>> vzdalene mi hned dava jine vysledky, coz toda fakt netusim, cim je.
>>>>
>>>> Predem diky za zpresneni zadani a pripadne rady.
>>>> Zdenek Bouska
>>>>
>>>> Vlastimil Babka wrote:
>>>>
>>>>> Hezky den,
>>>>>
>>>>> prvni cviceni z predmetu Middleware (vyjimecne pro skupinu 'Streda sude
>>>>> tydny', viz rozpis na webu predmetu) se uskutecni v terminu uvedenem v
>>>>> predmetu tohoto emailu, tedy ve *stredu pristi tyden*.
>>>>> Tema bude Java RMI, takze Vam doporucujeme oprasit zejmena prakticke
>>>>> znalosti Javy (kompilace, spousteni, classpath...), abyste temito
>>>>> zaklady na cviceni neztraceli zbytecne cas. Ten se da take usetrit
>>>>> pouzitim editoru typu Eclipse, Netbeans apod.
>>>>>
>>>>> V souboru na adrese
>>>>> http://dsrg.mff.cuni.cz/~ceres/sch/mwy/download/as1.zip
>>>>> najdete:
>>>>>
>>>>> * V souboru Task.txt je text zadani.
>>>>>
>>>>> * V adresari Hello-World je "Hello World" priklad na RMI.
>>>>>
>>>>> * Konecne v adresari Input-Files je implementace lokalni varianty
>>>>> ulohy,
>>>>> jak o ni hovori prvni (nulty) bod zadani. Tuto implementaci muzete
>>>>> behem cviceni pouzit jako zaklad k implementaci dalsich variant.
>>>>>
>>>>> Co se tyce kapacit cviceni, vymena uceben SU1 a SU2 stredecnich cviceni
>>>>> v 15:40 s Uvodem do Unixu neni (z duvodu skutecneho poctu studentu)
>>>>> mozna. Pro presun cviceni na 17:20 se vyjadrilo prilis malo studentu,
>>>>> cviceni tedy zustavaji beze zmen. Pripominam, ze moznosti jak ziskat
>>>>> zapocet bez ucasti na cviceni, jsou samostatne ulohy, vypsane na webu
>>>>> predmetu.
>>>>>
>>>>> Vlastimil Babka
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> MWy mailing list
>>>>> MWy at dsrg.mff.cuni.cz
>>>>> https://dsrg.mff.cuni.cz/mailman/listinfo/mwy
>>>>>
>>>
>>> _______________________________________________
>>> MWy mailing list
>>> MWy at dsrg.mff.cuni.cz
>>> https://dsrg.mff.cuni.cz/mailman/listinfo/mwy
>>>
>>>
>>>
>>>
>> _______________________________________________
>> MWy mailing list
>> MWy at dsrg.mff.cuni.cz
>> https://dsrg.mff.cuni.cz/mailman/listinfo/mwy
>>
>>
>
> _______________________________________________
> MWy mailing list
> MWy at dsrg.mff.cuni.cz
> https://dsrg.mff.cuni.cz/mailman/listinfo/mwy
>
--
Tomas Bures, Ph.D.
Assistant Professor
Department of Software Engineering
Charles University
Malostranske nam.25
11800 Prague 1, Czech Republic
http://dsrg.mff.cuni.cz
Phone: (+420) 2 2191 4236
Fax: (+420) 2 2191 4323
More information about the NSWI080
mailing list