[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