Różnica między Java System.getProperty a System.getenv?

Roznica Miedzy Java System Getproperty A System Getenv



System.getProperty() ” pobiera określone właściwości systemu odpowiadające środowisku wykonawczemu Java lub konfiguracji systemu. Oferuje informacje o środowisku Java i systemach operacyjnych dla systemu, na którym jest wykonywany. Z drugiej strony „ System.pobierzv() ” uzyskuje dostęp do określonych zmiennych środowiskowych zdefiniowanych w środowisku systemu operacyjnego. Zawiera dynamiczne informacje o systemie i bieżącej sesji użytkownika.

Ten blog wyjaśnia różnicę między metodami Java System.getProperty() i System.getenv().

Co to jest metoda System.getProperty() w Javie?

System.getProperty() ” zwraca wartość powiązaną z podaną właściwością systemową. Składa się z „ kluczowa wartość ” w formacie pair, tak jak są zdefiniowane przez administratora systemu lub w plikach konfiguracyjnych. Właściwość można ustawić za pomocą opcji „ -D ” lub jeśli właściwość nie zostanie znaleziona, „ zero ” zostanie zwrócony. Domyślne lub najczęściej używane właściwości systemu wraz z ich opisem są opisane w tym miejscu połączyć .







Niektóre właściwości systemu są wykorzystywane w poniższym fragmencie kodu:



Niektóre właściwości systemu są wykorzystywane w poniższym fragmencie kodu:



klasa rodzic {
//Inicjowanie metody sterownika
publiczny statyczny próżnia główny ( Strunowy [ ] argumenty ) {
Strunowy nazwa użytkownika = System. pobierzWłaściwość ( 'nazwa użytkownika' ) ;
System. na zewnątrz . println ( „Nazwa użytkownika przy użyciu właściwości systemowej:” + nazwa użytkownika ) ;

Strunowy klasaŚcieżka = System. pobierzWłaściwość ( 'Java.klasa.ścieżka' ) ;
System. na zewnątrz . println ( „Bieżąca ścieżka klasy z katalogu głównego:” + klasaŚcieżka ) ;

System. na zewnątrz . println ( „Użyto niewłaściwej właściwości:” + System. pobierzWłaściwość ( 'dom' ) ) ;

System. na zewnątrz . println ( „Informacje o wersji środowiska JRE:” + System. pobierzWłaściwość ( 'Java.runtime.version' ) ) ;
System. na zewnątrz . println ( „Architektura obecnego systemu operacyjnego:” + System. pobierzWłaściwość ( 'os.arch' ) ) ;
}
}

Opis powyższego kodu:





  • Po pierwsze, prawdziwy właściciel lub użytkownik systemu jest pobierany poprzez przekazanie „ nazwa użytkownika ” nieruchomość w „ System.getProperty() ' metoda.
  • Następnie obiekt „ java.klasa.ścieżka ” przechodzi do „ System.getProperty() ”, aby pobrać ścieżkę bieżącej klasy z katalogu głównego.
  • Następnie fałszywa własność „ dom ” przechodzi,
  • System.getProperty() ” wyświetli „ zero ” oznaczający, że właściwość nie istnieje.
  • W ten sam sposób wersja Java Runtime i architektura systemu są pobierane poprzez przekazanie „ java.runtime.version ' I ' os.arch ”, odpowiednio.

Dane wyjściowe pokazują, że wymagane wartości właściwości systemu zostały pobrane za pomocą metody „System.getProperty()”.



Co to jest metoda System.getenv() w Javie?

System.pobierzv() ” zwraca odpowiednią wartość dla określonej zmiennej środowiskowej. Zwracane wartości są dynamiczne i ustawiane przez system operacyjny lub przez użytkownika dla bieżącej sesji. Podobnie jak w przypadku metody „System.getProperty()”, jeśli zmienna nie zostanie znaleziona lub nie zawiera żadnej wartości, metoda „ zero ” zostanie zwrócony.

Na przykład odwiedź poniższy kod:

klasa Klasa główna {
//Inicjowanie metody sterownika
publiczny statyczny próżnia główny ( Strunowy [ ] argumenty ) {
System. na zewnątrz . println ( „Pobieranie wartości za pomocą metody System.getenv()” ) ;

Strunowy Ścieżka tymczasowa = System. dziesięć ( „TEMP” ) ;
System. na zewnątrz . println ( „Ścieżka do folderu plików tymczasowych to:” + Ścieżka tymczasowa ) ;

Strunowy system operacyjny = System. dziesięć ( „NUMBER_OF_PROCESORÓW” ) ;
System. na zewnątrz . println ( „System liczby procesorów zawiera:” + system operacyjny ) ;

Strunowy katalog Windows = System. dziesięć ( „wiatr” ) ;
System. na zewnątrz . println ( „Wyświetlanie ścieżki katalogu głównego systemu -” + katalog Windows ) ;
}
}

Wyjaśnienie powyższego bloku kodu:

  • Najpierw tworzona jest klasa o nazwie „ Klasa główna ” i „ System.pobierzv() ” służy do zwracania ścieżki do folderu tymczasowego poprzez przekazanie „ TEMP ” jako wartość.
  • Następnie pobierana jest liczba procesorów i katalog Windows dla systemu, przekazując „ NUMBER_OF_PROCESORÓW ' I ' wiatr ” odpowiednio do metody „System.getenv()”.

Po kompilacji:

Dane wyjściowe potwierdzają, że pobrane zostały wymagane wartości zmiennych środowiskowych.

Różnica między Java System.getProperty a System.getenv

Różnicę między metodami System.getProperty() i System.getenv() opisano poniżej w tabeli:

Termin System.getProperty() System.pobierzv()
Zamiar Służy do pobierania właściwości systemowych specyficznych dla JVM. Służy do pobierania zmiennych środowiskowych specyficznych dla środowiska systemu operacyjnego.
Źródło Właściwości systemowe są zwykle ustawiane jako argumenty wiersza poleceń. Zmienne środowiskowe są ustawiane w środowisku systemu operacyjnego.
Dostęp Może pobierać zarówno właściwości systemu, jak i zmienne środowiskowe. Może pobierać tylko zmienne środowiskowe i wymaga określonych kluczy dla zmiennej.
Stosowanie Jest powszechnie używany do pobierania informacji o JVM, takich jak wersja Java. Jest powszechnie używany do uzyskiwania dostępu do konfiguracji specyficznych dla środowiska lub poufnych informacji.
Ruchliwość Jest niezależny od platformy i można uzyskać do niego spójny dostęp w różnych systemach operacyjnych. Zmienne mogą się różnić w różnych systemach operacyjnych i mogą mieć różne zachowania.

Wniosek

System.getProperty() ” ma dostęp do właściwości specyficznych dla języka Java i konfiguracji systemu. „ System.pobierzv() ” uzyskuje dostęp do zmiennych środowiskowych zdefiniowanych w systemie operacyjnym. Jednak oba nadają się do zwracania informacji związanych z systemem. Ponadto mają podobne cele pozyskiwania informacji o środowisku systemowym, ale działają na różnych zbiorach danych.