Pytania otagowane jako jvm

Java Virtual Machine (JVM) umożliwia zestawowi programów komputerowych i struktur danych wykorzystanie modelu maszyny wirtualnej do wykonywania innych programów komputerowych i skryptów. Użyj tego tagu w przypadku pytań dotyczących narzędzi udostępnianych przez maszynę JVM lub tego, jak to działa w określonym scenariuszu.



6
Dlaczego 4 miliardy iteracji pętli Java zajmuje tylko 2 ms?
Używam następującego kodu Java na laptopie z procesorem Intel Core i7 2,7 GHz. Zamierzałem pozwolić mu zmierzyć, ile czasu zajmie zakończenie pętli z 2 ^ 32 iteracjami, które, jak spodziewałem się, trwały około 1,48 sekundy (4 / 2,7 = 1,48). Ale tak naprawdę zajmuje to tylko 2 milisekundy zamiast 1,48 …
113 java  for-loop  jvm 

7
Dlaczego ta metoda wypisuje 4?
Zastanawiałem się, co się stanie, gdy spróbujesz złapać StackOverflowError i wymyśliłem następującą metodę: class RandomNumberGenerator { static int cnt = 0; public static void main(String[] args) { try { main(args); } catch (StackOverflowError ignore) { System.out.println(cnt++); } } } Teraz moje pytanie: Dlaczego ta metoda drukuje „4”? Pomyślałem, że może …
111 java  jvm  stack-overflow 

5
Dlaczego JVM nie buforuje skompilowanego kodu JIT?
Implementacja kanonicznej maszyny JVM firmy Sun stosuje dość wyrafinowaną optymalizację kodu bajtowego, aby uzyskać prawie natywne prędkości wykonywania po kilkukrotnym uruchomieniu kodu. Pytanie brzmi, dlaczego ten skompilowany kod nie jest zapisywany w pamięci podręcznej na dysku w celu użycia podczas kolejnych zastosowań tej samej funkcji / klasy? W obecnej formie, …
107 java  caching  jvm  compilation  jit 

17
Maksymalny rozmiar sterty Java 32-bitowej maszyny JVM w 64-bitowym systemie operacyjnym
Pytanie nie dotyczy maksymalnego rozmiaru sterty w 32-bitowym systemie operacyjnym, biorąc pod uwagę, że 32-bitowe systemy operacyjne mają maksymalny rozmiar adresowalnej pamięci wynoszący 4 GB, a maksymalny rozmiar sterty maszyny JVM zależy od tego, ile ciągłej wolnej pamięci można zarezerwować. Bardziej interesuje mnie znajomość maksymalnego (zarówno teoretycznego, jak i praktycznie …
107 java  jvm 

1
CATALINA_OPTS vs JAVA_OPTS - Jaka jest różnica?
Próbowałem znaleźć różnicę między zmiennymi Apache Tomcat - CATALINA_OPTSa także JAVA_OPTSw SO i byłem zaskoczony, widząc, że nie ma tu jeszcze żadnego pytania / odpowiedzi. Pomyślałem więc o udostępnieniu go tutaj (z odpowiedzią) po odkryciu różnicy. Sprawdź odpowiedź / różnicę poniżej. UWAGA: w momencie publikowania tego postu używamy Apache Tomcat …
105 java  tomcat  jvm  tomcat6 

6
Gdzie znajduje się pula stałych String Java - sterta czy stos?
Znam koncepcję puli stałych i puli stałych String używanej przez maszyny JVM do obsługi literałów String. Ale nie wiem, jaki typ pamięci jest używany przez maszynę JVM do przechowywania literałów stałych typu String. Stos czy sterta? Ponieważ jest to literał, który nie jest powiązany z żadną instancją, zakładam, że będzie …
104 java  string  jvm 

5
Czy JVM zapobiega optymalizacji wywołań końcowych?
Widziałem ten cytat dotyczący pytania: Jaki jest dobry język funkcjonalny, na którym można zbudować usługę internetową? W szczególności Scala nie obsługuje eliminacji wywołań ogonowych, z wyjątkiem funkcji samorekursywnych, co ogranicza rodzaje kompozycji, które możesz wykonać (jest to fundamentalne ograniczenie JVM). Czy to prawda? Jeśli tak, co jest takiego w JVM, …

3
Dlaczego JVM jest oparty na stosie i w rejestrze maszyn wirtualnych Dalvik?
Jestem ciekawy, dlaczego firma Sun zdecydowała się na wykorzystanie stosu JVM, a Google zdecydował się na utworzenie rejestru DalvikVM? Przypuszczam, że JVM nie może tak naprawdę zakładać, że pewna liczba rejestrów jest dostępna na platformie docelowej, ponieważ ma być niezależna od platformy. Dlatego po prostu odkłada alokację rejestru itp. Do …

9
Jak zablokować skompilowane klasy Java, aby zapobiec dekompilacji?
Jak zablokować skompilowane klasy Java, aby zapobiec dekompilacji? Wiem, że to musi być bardzo dobrze omawiany temat w Internecie, ale nie mogłem dojść do żadnego wniosku po ich skierowaniu. Wiele osób sugeruje obfuscator, ale po prostu zmieniają nazwy klas, metod i pól za pomocą trudnych do zapamiętania sekwencji znaków, ale …
98 java  jvm  decompiling 

5
Debuguj aplikację Java bez uruchamiania maszyny JVM z argumentami debugowania
Zwykle, aby dołączyć debuger do działającego jvm, musisz uruchomić jvm z argumentami takimi jak: > java -Xdebug -Xrunjdwp:transport=dt_socket,address=1000,server=y,suspend=n Co mogę teraz zrobić, jeśli chcę debugować proces, który nie został uruchomiony w trybie debugowania? Taka sytuacja ma miejsce, gdy system produkcyjny (tj. Uruchomiony bez argumentów debugowania) wykazuje „losowy” (używam tego terminu …


5
Jak przekazać argumenty JVM do programu VisualVM?
Używam VisualVM z JDK 1.6.0_26 do profilowania aplikacji internetowej Java działającej pod Tomcat, ale VisualVM często mówi mi, że nie ma wystarczającej ilości pamięci, aby zrobić migawkę i aby użyć przełącznika -Xmx, aby zapewnić więcej pamięci dla Netbeans . Problem polega na tym, że używam VisualVM poza Netbeans, więc jak …
97 java  windows  jvm  visualvm 

2
Drukuj wszystkie flagi JVM
Znalazłem interesującą flagę JVM: java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version Drukuje setki różnych opcji, o których nigdy wcześniej nie słyszałem. Drukuje również wartości domyślne, które pomagają lepiej zdiagnozować zachowanie maszyny JVM. Kolejną interesującą flagą jest: -XX:+UnlockExperimentalVMOptions Czy ktoś zna jakąś dokumentację, która wyjaśnia każdy z nich?

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.