Java kompilowana do kodu maszynowego...

0

Zaczynam naukę Javy i mam pytania odnosnie kompilowania do kodu maszynowego.

  1. Czy najnowsze wersje (aktualnie 6) mozna kompilowac do kodu maszynowego, jesli nie, to które można?

  2. Czym kompilować Javę do kodu maszynowego?

  3. Czy Java skompilowana do kodu maszynowego jest szybsza niż zwykła?

  4. Czy są jakieś mankamenty kompilowania do kodu maszynowego?

  5. a tak przy okazji, czy kod Javy skompilowany do kodu posredniego da się przerobić na zwykły kod, z którego ktoś mógłby skorzystać - jesli tak, to jak się przed tym bronić?

0

od dziwnych kwesti zaczynasz naukę javy :)

0

Trzeba mysleć przyszłościowo. Więc kto odpowie na moje pytania?

0

1-4: Java z zalozenia jest przenaszalna, wiec wszelkie przerabianie do kodu maszynowego to zwykla nakladka zawierajaca zazwyczaj kod posredni i jvm. Nakladki tylko third-party, o ile wiem.
5. Kod posredni mozna zdekompilowac, reszta odpowiedzi powyzej :)

0
  1. Czy przy po dekompilacji można odzyskać nazwy zmiennych?
  2. Czy jak użyje ten nakładki, to też można to zdekompilować? Czy jak użyje tej nakładki to apliakcja dlaej działą na wszystkich systemach?
0
  1. O ile pamietam to tak, ale tak naprawde to nie ma znaczenia, czy nazwy zmiennych sa czy nie.
  2. Czy zdekompilowac to nie wiem i nie, nie dziala na wszystkich systemach bo jak niby?
0
  1. Czemu nie ma znaczenia... Przecież jak będą pozmieniane nazwy to wtedy będzie trudniej zrozumieć kod...
  2. Sa jakieś zaciemniacze, aby kod trochę kokomplikować?
  3. Jak tu pisać w Javie, jak programy stają się Open Source :(
0

Są zaciemniacze kodu (np. w Wireless Toolkit jest to po prostu jedna z opcji budowania projektu) ale jeśli Twoje programy są tak genialne, że obawiasz się dekompilacji to najlepiej ich w ogóle nie udostępniać.

Co do kodu maszynowego to odpowiedzią na większość Twoich pytań jest hasło HotSpot, ewentualnie kompilacja just-in-time.

0

A te zaciemniacze są na tyle dobre, żeby nie można się było później połapać w zdekompilowanym kodzie? A kompilacja just-in-time jest standardowo uzywana przy wszystkich programach w Javie?

0

Nie ma znaczenia, bo co Ci szkodzi pozamieniac hurtem nazwy na cos normalnego? Np. widzisz nazwe f3jk5h6kj3h67kj76 i zamieniasz wszystkie wystapienia zwyklym edytorem na zmienna1. Ktos bedzie sprytniejszy to sobie napisze maly programik do tego i po sprawie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1