Als «java» getaggte Fragen

Java ist eine beliebte Programmiersprache auf hoher Ebene. Verwenden Sie dieses Tag, wenn Sie Probleme haben, die Sprache selbst zu verwenden oder zu verstehen. Dieses Tag wird selten alleine verwendet und wird am häufigsten in Verbindung mit [spring], [spring-boot], [jakarta-ee], [android], [javafx], [gradle] und [maven] verwendet.


4
Was ist der Unterschied zwischen <? erweitert Base> und <T erweitert Base>?
In diesem Beispiel: import java.util.*; public class Example { static void doesntCompile(Map&lt;Integer, List&lt;? extends Number&gt;&gt; map) {} static &lt;T extends Number&gt; void compiles(Map&lt;Integer, List&lt;T&gt;&gt; map) {} static void function(List&lt;? extends Number&gt; outer) { doesntCompile(new HashMap&lt;Integer, List&lt;Integer&gt;&gt;()); compiles(new HashMap&lt;Integer, List&lt;Integer&gt;&gt;()); } } doesntCompile() Kompiliert nicht mit: Example.java:9: error: incompatible types: HashMap&lt;Integer,List&lt;Integer&gt;&gt; …

1
Unerwartete Laufzeiten für HashSet-Code
Also hatte ich ursprünglich diesen Code: import java.util.*; public class sandbox { public static void main(String[] args) { HashSet&lt;Integer&gt; hashSet = new HashSet&lt;&gt;(); for (int i = 0; i &lt; 100_000; i++) { hashSet.add(i); } long start = System.currentTimeMillis(); for (int i = 0; i &lt; 100_000; i++) { for …

5
Wie kann ich vermeiden, dass Code wiederholt wird, der eine Hashmap von Hashmap initialisiert?
Jeder Kunde hat eine ID und viele Rechnungen mit Datumsangaben, die als Hashmap von Kunden nach ID gespeichert sind, sowie eine Hashmap von Rechnungen nach Datum: HashMap&lt;LocalDateTime, Invoice&gt; allInvoices = allInvoicesAllClients.get(id); if(allInvoices!=null){ allInvoices.put(date, invoice); //&lt;---REPEATED CODE }else{ allInvoices = new HashMap&lt;&gt;(); allInvoices.put(date, invoice); //&lt;---REPEATED CODE allInvoicesAllClients.put(id, allInvoices); } Java-Lösung scheint …
27 java  java-8  hashmap 

1
Keine statische Methode metafactory
Ich habe ein Problem mit meiner App, dass die App beim Anmelden abstürzt und die folgende Fehlermeldung angezeigt wird: java.lang.NoSuchMethodError: No static method metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; in class Ljava/lang/invoke/LambdaMetafactory; or its super classes (declaration of 'java.lang.invoke.LambdaMetafactory' appears in /apex/com.android.runtime/javalib/core-oj.jar) at okhttp3.internal.Util.&lt;clinit&gt;(Util.java:87) at okhttp3.internal.Util.skipLeadingAsciiWhitespace(Util.java:321) at okhttp3.HttpUrl$Builder.parse(HttpUrl.java:1313) at okhttp3.HttpUrl.get(HttpUrl.java:917) at retrofit2.Retrofit$Builder.baseUrl(Retrofit.java:492) at com.example.usub.Remote.RetrofitClient.getClient(RetrofitClient.java:14) at …
26 java  android 

4
Auto-Unboxing benötigt ternäres if-else
Dieser Code funktioniert gut: - Integer nullInt = null; if (1 &lt;= 3) { Integer secondNull = nullInt; } else { Integer secondNull = -1; } System.out.println("done"); Dies löst jedoch eine Nullzeigerausnahme aus, während Eclipse warnt, dass ein automatisches Entpacken erforderlich ist: - Integer nullInt = null; Integer secondNull = …

5
Langsame Anwendung, häufige JVM hängt mit Einzel-CPU-Setups und Java 12+
Wir haben eine Client-Anwendung (mit mehr als 10 Jahren Entwicklungszeit). Das JDK wurde kürzlich von OpenJDK 11 auf OpenJDK 14 aktualisiert. Bei Windows 10-Setups mit einer CPU (Hyper-Threading deaktiviert) (und in VirtualBox-Computern mit nur einer verfügbaren CPU) wird die Anwendung im Vergleich zu Java 11 recht langsam gestartet. Außerdem wird …
23 java  hang  java-14 

1
Warum werden beim Entfernen aus einem TreeSet mit einem benutzerdefinierten Komparator keine größeren Elemente entfernt?
Beachten Sie bei Verwendung von Java 8 und Java 11 Folgendes TreeSetmit einem String::compareToIgnoreCaseKomparator: final Set&lt;String&gt; languages = new TreeSet&lt;&gt;(String::compareToIgnoreCase); languages.add("java"); languages.add("c++"); languages.add("python"); System.out.println(languages); // [c++, java, python] Wenn ich versuche, die genauen Elemente in zu entfernen TreeSet, funktioniert dies: Alle angegebenen Elemente werden entfernt: languages.removeAll(Arrays.asList("PYTHON", "C++")); System.out.println(languages); // [java] …

3
Wofür ist die Option java.security.egd vorgesehen?
In einem Projekt, an dem ich arbeite, wird die Anwendung mit einem ähnlichen Befehl gestartet: java -Djava.security.egd=file:/dev/urandom -jar app.jar Ich habe die java.security.egdOption noch nie gesehen . Wenn Sie ein wenig suchen, wird es anscheinend verwendet, um die Zufallszahlengenerierung in einer Java-Anwendung zu konfigurieren. Ist es richtig? Wann soll angewendet …
22 java  jvm 

7
Wie erstelle ich einen blockierenden Hintergrundlader in Java 8?
Frage Wie erstellt man in Java 8 einen richtigen Hintergrundlader? Die Bedingungen: Daten sollten im Hintergrund geladen werden Nach dem Laden sollten die Daten angezeigt werden Während Daten geladen werden, sollten keine weiteren Anforderungen akzeptiert werden Wenn während des Ladens der Daten Anforderungen aufgetreten sind, sollte nach einer bestimmten Zeitüberschreitung …

1
Was ist ein Proxy mit Gültigkeitsbereich im Frühjahr?
Wie wir wissen, verwendet Spring Proxys, um Funktionen hinzuzufügen ( @Transactionalund @Scheduledzum Beispiel). Es gibt zwei Möglichkeiten: Verwenden eines dynamischen JDK-Proxys (die Klasse muss nicht leere Schnittstellen implementieren) oder Generieren einer untergeordneten Klasse mithilfe des CGLIB-Codegenerators. Ich habe immer gedacht, dass ich mit proxyMode zwischen einem dynamischen JDK-Proxy und CGLIB …

2
Android AsyncTask API in Android 11 veraltet. Welche Alternativen gibt es?
EDIT : Diese Frage ist kein Duplikat als Vor ein paar Tagen wurde ein AOSP-Commit für die Abschreibung durchgeführt. Die andere Frage betrifft die Verwendung von AsyncTaskLoader über AsyncTask. Google lehnt die Android AsyncTask-API in Android 11 ab und schlägt vor, sie java.util.concurrentstattdessen zu verwenden . Sie können das Commit …
21 java  android 

2
Definieren Sie den Standardkonstruktor für den Datensatz
Ich habe einen Datensatz und möchte ihm einen Standardkonstruktor hinzufügen. public record Record(int recordId) { public Record{ } } Es wurde jedoch ein Konstruktor mit int param erstellt. public final class Record extends java.lang.Record{ private final int recordId; public Record(int); //other method } Wie können wir einem Datensatz einen Standardkonstruktor …


1
Paths.get vs Path.of
Soweit ich das beurteilen kann Paths.getund Path.ofgenau dasselbe zu tun scheine, verwandle ich eine oder mehrere Saiten in ein PathObjekt; die Dokumentation https://docs.oracle.com/javase/8/docs/api/java/nio/file/Paths.html#get-java.lang.String-java.lang.String...- und https: //docs.oracle.com/de/java/javase/13/docs/api/java.base/java/nio/file/Path.html#of(java.lang.String,java.lang.String ... ) Verwenden Sie den gleichen Wortlaut. Sind sie tatsächlich identisch? Path.ofwurde später eingeführt. Vermutung: Es wurde aus Gründen eines einheitlichen Foo.ofStils eingeführt. In …
20 java  java-11 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.