Pytania otagowane jako java

Java jest popularnym językiem programowania wysokiego poziomu. Użyj tego tagu, jeśli masz problemy z używaniem lub rozumieniem samego języka. Ten znacznik jest rzadko używany samodzielnie i jest najczęściej używany w połączeniu z [spring], [spring-boot], [jakarta-ee], [android], [javafx], [gradle] i [maven].

1
Czy inicjalizacje obiektów w Javie „Foo f = new Foo ()” są zasadniczo takie same jak przy użyciu malloc jako wskaźnika w C?
Próbuję zrozumieć rzeczywisty proces tworzenia obiektów w Javie - i przypuszczam, że inne języki programowania. Czy błędem byłoby założenie, że inicjalizacja obiektu w Javie jest taka sama, jak w przypadku użycia malloc dla struktury w C? Przykład: Foo f = new Foo(10); typedef struct foo Foo; Foo *f = malloc(sizeof(Foo)); …

3
Jak skopiować duże pliki danych linia po linii?
Mam CSVplik 35 GB . Chcę przeczytać każdą linię i napisać linię do nowego pliku CSV, jeśli pasuje do określonego warunku. try (BufferedWriter writer = Files.newBufferedWriter(Paths.get("source.csv"))) { try (BufferedReader br = Files.newBufferedReader(Paths.get("target.csv"))) { br.lines().parallel() .filter(line -> StringUtils.isNotBlank(line)) //bit more complex in real world .forEach(line -> { writer.write(line + "\n"); }); …

2
Wydajność FactoryFinder / złe buforowanie
Mam dość dużą aplikację Java ee z ogromną ścieżką klasy, która wykonuje wiele przetwarzania XML. Obecnie próbuję przyspieszyć niektóre z moich funkcji i zlokalizować wolne ścieżki kodu za pomocą profilerów próbkujących. Zauważyłem, że szczególnie części naszego kodu, w których mamy wywołania, TransformerFactory.newInstance(...)są desperacko wolne. Śledziłem to FactoryFindermetodą, która findServiceProviderzawsze tworzy …

3
przekazywanie zmiennych między plikami groovy
Zarządzam wieloma zadaniami w Jenkins przez wtyczkę DSL. Ta wtyczka używa definicji .groovy, więc myślę, że nawet jeśli ktoś nie używa Jenkinsa, ale używa groovy, może ci pomóc. Zasadniczo chcę utworzyć dodatkowy plik, którym może być plik groovy, JSON lub YAML, cokolwiek. Ważna jest możliwość połączenia tego pliku z moim …
9 java  jenkins  groovy  dsl 


3
Zwracanie domyślnej listy, jeśli lista jest pusta przy użyciu strumieni Java 8?
Czy jest jakiś sposób, aby poniższe czynności można było wykonać jako jeden zestaw operacji strumieniowych, zamiast jawnie sprawdzać, czy zalecane Produkty są puste, a następnie zwracać domyślną listę, inaczej zwracać filtrowaną listę ? public List<Product> getRecommendedProducts() { List<Product> recommendedProducts = this.newProducts .stream() .filter(isAvailable) .collect(Collectors.toList()); if (recommendedProducts.isEmpty()) { return DEFAULT_PRODUCTS; } …

2
Kiedy w Javie powinniśmy korzystać z metod instancji prywatnych w interfejsach?
Począwszy od Java 9, metody w interfejsie mogą być prywatne. Metodą prywatną może być metoda statyczna lub instancja. Ponieważ prywatnych metod można używać tylko w metodach samego interfejsu, ich użycie jest ograniczone do metod pomocniczych dla innych metod interfejsu. Cay S. Horstmann, Core Java Tom I - Podstawy Rozumiem, że …
9 java  oop 

2
przekazując strumień Akka do usługi upstream w celu wypełnienia
Muszę zadzwonić do usługi nadrzędnej (Azure Blob Service), aby przekazać dane do OutputStream, który następnie muszę zawrócić i odesłać z powrotem do klienta, poprzez akka. Bez akka (i tylko kodu serwletu) po prostu wziąłbym ServletOutputStream i przekazałem go do metody usługi lazurowej. Najbliższe, na jakie mogę się natknąć, i oczywiście …

4
Skuteczny sposób na iterację i kopiowanie wartości HashMap
Chcę przekonwertować: Map<String, Map<String, List<Map<String, String>>>> inputMap do: Map<String, Map<String, CustomObject>> customMap inputMapjest podany w konfiguracji i jest gotowy, ale muszę customMapsformatować. CustomObject zostanie wyprowadzony z List<Map<String, String>>użycia kilku wierszy kodu w funkcji. Próbowałem normalnego sposobu iteracji mapy wejściowej i kopiowania kluczowych wartości w customMap. Czy jest jakiś skuteczny sposób, …

2
Jak mogę bezpiecznie kopiować kolekcje?
W przeszłości mówiłem, aby bezpiecznie skopiować kolekcję i zrobić coś takiego: public static void doThing(List<String> strs) { List<String> newStrs = new ArrayList<>(strs); lub public static void doThing(NavigableSet<String> strs) { NavigableSet<String> newStrs = new TreeSet<>(strs); Ale czy te konstruktory „kopiujące”, podobne metody i strumienie tworzenia statycznego są naprawdę bezpieczne i gdzie …

2
OutOfMemoryException pomimo użycia WeakHashMap
Jeśli nie zadzwonisz System.gc(), system zgłosi wyjątek OutOfMemoryException. Nie wiem, dlaczego muszę dzwonić System.gc()wprost; JVM powinien się nazywać gc(), prawda? Proszę doradź. Oto mój kod testowy: public static void main(String[] args) throws InterruptedException { WeakHashMap<String, int[]> hm = new WeakHashMap<>(); int i = 0; while(true) { Thread.sleep(1000); i++; String key …

2
Jak uniknąć powielania kodu dotyczącego typów pierwotnych?
tło Bitowy strumień wejściowy jest wspierany przez tablicę bajtów. Istnieje kilka metod, które odczytują z tej tablicy bajtów na różne wymuszone pierwotne tablice. Problem Istnieje zduplikowany kod. W Javie brakuje generycznych typów pierwotnych, więc być może powtórzenie jest nieuniknione. Kod Powtarzalny kod jest widoczny w następujących metodach: @Override public long …

3
Wywołanie nasłuchiwania komunikatów JMS nie powiodło się, Przyczyna: Identyfikator zawiera niepoprawny znak identyfikatora JMS „-”: „x-request-id”
Pracuję z JMS i kolejkami (kolejki Azure) po raz pierwszy. Muszę utworzyć kolejkę, w której serwer Rubi zapisałby niektóre dane, a Java odczytałaby je z kolejki i wykonałaby dalsze operacje. Ten proces działa poprawnie lokalnie na moim komputerze. Utworzyłem punkt końcowy REST, który zapisuje dane w kolejce, a gdy dane …

1
Problem ViewPager2 / Tabs ze stanem ViewModel
Podążam za wzorcem MVVM - co oznacza, że ​​mam ViewModel dla każdego fragmentu. Dodałem dwie zakładki za pomocą ViewPager2. Mój adapter wygląda następująco: @Override public Fragment createFragment(int position) { switch (position) { case 0: return new MergedItemsFragment(); case 1: return new ValidatedMergedItemsFragment(); } return new MergedItemsFragment(); } Karty działają. Zauważyłem …
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.