Java: Różnice pomiędzy wersjami

 
(Nie pokazano 31 wersji utworzonych przez 5 użytkowników)
Linia 1: Linia 1:
{{Stub}}
+
Na serwerach ''MyDevil'' Java jest dostępna w wersjach OpenJDK: 11 (domyślnej), 1.8 (8), 17, 18, 19, 20, 21 oraz 22.
Na serwerach ''MyDevil'' Java jest dostępna w wersjach 1.8 (domyślna) oraz 1.7.
 
  
=== Zmiana wersji Javy ===
+
=== Zmiana wersji Java ===
  
Aby zmienić wersję Javy na 1.7 należy zmienić zmienną <code>export JAVA_VERSION="1.7"</code>. Można skorzystać z własnej wersji Java (również z wersji 32 bitowej) ściągniętej bezpośrednio z repozytoriów FreeBSD i uruchomionej na swoim koncie.
+
Aby zmienić wersję Java z domyślnej 11 pod poleceniem java należy ustawić zmienną odpowiadającej danej wersji:
 +
<code>export JAVA_VERSION="8"</code>
 +
<code>export JAVA_VERSION="11"</code>
 +
<code>export JAVA_VERSION="17"</code>
 +
<code>export JAVA_VERSION="18"</code>
 +
<code>export JAVA_VERSION="19"</code>
 +
<code>export JAVA_VERSION="20"</code>
 +
<code>export JAVA_VERSION="21"</code>
 +
<code>export JAVA_VERSION="22"</code>
  
=== Serwer Tomcat ===
+
Dostępne są również polecenia: java8, java11, java15, java16, java17, java18, java19, java20, java21 oraz java22.
  
Należy [[Rezerwacja portów|zarezerwować]] 2 porty TCP. Następnie trzeba utworzyć katalogi serwera oraz skopiować pliki konfiguracyjne w zależności od wybranej wersji serwera (dostępne wersje: 6.0, 7.0, 8.0)
+
Można skorzystać również z innych wersji Java (w tym 32 bitowej) ściągniętej bezpośrednio z repozytoriów FreeBSD i uruchomionej na swoim koncie.
mkdir -p /usr/home/''login''/tomcat/{conf,logs,temp}
 
cp -r /usr/local/apache-tomcat-8.0/conf/* /usr/home/''login''/tomcat/conf/
 
Później w pliku konfiguracyjnym serwera Tomcat <code class="directory">/usr/home/''login''/tomcat/conf/server.xml</code> należy przestawić pogrubione fragmenty ustawiając numery zarezerwowanych portów. Dwa pierwsze numery mają być takie same.
 
<Connector port="'''8080'''" protocol="HTTP/1.1"
 
  
<Connector executor="tomcatThreadPool"
+
==== Pamięć RAM ====
port="'''8080'''" protocol="HTTP/1.1"
 
  
<Server port="'''8005'''" shutdown="SHUTDOWN">
+
Aby ograniczyć pamięć RAM dostępną procesowi java należy go uruchomić z opcją <code>-Xms<pamięć> -Xmx<pamięć></code>, gdzie ''<pamięć>'' to ilość pamięci, na przykład 1g, 128m, 1024k.
Resztę konfiguracji serwera Tomcat należy ustawić samodzielnie. Po zmianie niezbędnych ustawień pozostaje tylko wyeksportować zmienne środowiskowe <code>export CATALINA_BASE="/home/login/tomcat/"</code>. Serwer Tomcat  zależności od wybranej wersji należy uruchomić poleceniem <code>/usr/local/apache-tomcat-8.0/bin/startup.sh</code>. Aby serwer był dostępny na porcie 80 należy [[WWW|przekierować]] domenę na localhost i ustawić stronę typu proxy na <code>Connector port</code>.
 
  
=== Serwer GlassFish  ===
+
Dodatkowo można użyć <code>-XX:PermSize <pamięc> -XX:MaxPermSize <pamięć></code> aby ustawić ''Permanent Generation'' - miejsce, gdzie są przetrzymywane pliki klas, które są wynikiem skompilowanych klas i stron jsp. W momencie osiągnięcia maksimum miejsca wirtualna maszyna java uruchamia ''Full Garbage Collection''. Gdy ''Full Garbage Collection'' po wyczyszczeniu starych klas bez referencji nadal nie będzie miejsca na nowo wygenerowane wtedy maszyna wirtualna javy wyłączy się z błędem ''Out-of-Memory Error (OOME)''. Parametr <code>-XX:MaxPermSize <pamięć></code> nie jest już dostępny w Javie w wersji 1.8.
  
Należy [[Rezerwacja portów|zarezerwować]] 6 portów TCP.  Następnie trzeba skopiować bazowy katalog serwera GlassFish <code>cp -r /usr/local/glassfish-4.1 /usr/home/''login''/</code> W pliku konfiguracyjnym domeny GlassFish <code>/usr/home/''login''/glassfish-4.1/glassfish/domains/domain1/config/domain.xml</code> przestaw pogrubione fragmenty ustawiając numery zarezerwowanych portów.
+
Istnieje również możliwość skorzystania z parametru <code>-Xss <pamięć></code> w celu ustawienia rozmiaru stosu dla każdego wątku javy. W takim stosie są trzymane adresy do pamięci zwracanych przez funkcję obiektów, argumenty do funkcji itp.
<network-listener port="'''8080'''" protocol="http-listener-1" transport="tcp" name="http-listener-1" thread-pool="http-thread-pool"></network-listener>
 
  
<network-listener port="'''8181'''" protocol="http-listener-2" transport="tcp" name="http-listener-2" thread-pool="http-thread-pool"></network-listener>
+
=== Patrz też ===
 +
*[[GlassFish]]
 +
*[[Tomcat]]
 +
*[[WildFly]]
  
<network-listener port="'''4848'''" protocol="admin-listener" transport="tcp" name="admin-listener" thread-pool="admin-thread-pool"></network-listener>
 
  
<system-property name="JMS_PROVIDER_PORT" value="'''27676'''" description="Port Number that JMS Service will listen for remote clients connection." />
+
[[Category:Java]]
 
 
<iiop-listener port="'''3700'''" id="orb-listener-1" address="0.0.0.0" lazy-init="true"></iiop-listener>
 
 
 
<jmx-connector port="'''8686'''" address="0.0.0.0" security-enabled="false" auth-realm-name="admin-realm" name="system"></jmx-connector>
 
 
 
Resztę konfiguracji domeny GlassFish należy ustawić samodzielnie. Serwer GlassFish należy uruchomić poleceniem
 
<code>/usr/home/''login''/glassfish-4.1/bin/asadmin start-domain</code>. Aby serwer był dostępny na porcie 80 należy [[WWW|przekierować]] domenę na localhost i ustawić stronę typu proxy na <code>http-listener-1</code>(domyślnie 8080).
 
 
 
[[Category:WWW]]
 

Aktualna wersja na dzień 11:00, 24 lip 2024

Na serwerach MyDevil Java jest dostępna w wersjach OpenJDK: 11 (domyślnej), 1.8 (8), 17, 18, 19, 20, 21 oraz 22.

Zmiana wersji Java

Aby zmienić wersję Java z domyślnej 11 pod poleceniem java należy ustawić zmienną odpowiadającej danej wersji:

export JAVA_VERSION="8"
export JAVA_VERSION="11"
export JAVA_VERSION="17"
export JAVA_VERSION="18"
export JAVA_VERSION="19"
export JAVA_VERSION="20"
export JAVA_VERSION="21"
export JAVA_VERSION="22"

Dostępne są również polecenia: java8, java11, java15, java16, java17, java18, java19, java20, java21 oraz java22.

Można skorzystać również z innych wersji Java (w tym 32 bitowej) ściągniętej bezpośrednio z repozytoriów FreeBSD i uruchomionej na swoim koncie.

Pamięć RAM

Aby ograniczyć pamięć RAM dostępną procesowi java należy go uruchomić z opcją -Xms<pamięć> -Xmx<pamięć>, gdzie <pamięć> to ilość pamięci, na przykład 1g, 128m, 1024k.

Dodatkowo można użyć -XX:PermSize <pamięc> -XX:MaxPermSize <pamięć> aby ustawić Permanent Generation - miejsce, gdzie są przetrzymywane pliki klas, które są wynikiem skompilowanych klas i stron jsp. W momencie osiągnięcia maksimum miejsca wirtualna maszyna java uruchamia Full Garbage Collection. Gdy Full Garbage Collection po wyczyszczeniu starych klas bez referencji nadal nie będzie miejsca na nowo wygenerowane wtedy maszyna wirtualna javy wyłączy się z błędem Out-of-Memory Error (OOME). Parametr -XX:MaxPermSize <pamięć> nie jest już dostępny w Javie w wersji 1.8.

Istnieje również możliwość skorzystania z parametru -Xss <pamięć> w celu ustawienia rozmiaru stosu dla każdego wątku javy. W takim stosie są trzymane adresy do pamięci zwracanych przez funkcję obiektów, argumenty do funkcji itp.

Patrz też