คำถามติดแท็ก java

Java เป็นภาษาการเขียนโปรแกรมระดับสูงที่เป็นที่นิยม ใช้แท็กนี้เมื่อคุณมีปัญหาในการใช้หรือทำความเข้าใจภาษานั้น ๆ แท็กนี้ไม่ค่อยได้ใช้คนเดียวและมักใช้ร่วมกับ [สปริง], [สปริงบูต], [jakarta-ee], [android], [javafx], [gradle] และ [maven]

4
MacOS Catalina (v 10.15.3): ข้อผิดพลาด:“ Chromedriver” ไม่สามารถเปิดได้เนื่องจากผู้พัฒนาไม่สามารถตรวจสอบได้ ไม่สามารถเปิดเบราว์เซอร์ chrome
ฉันเพิ่งอัพเกรดเครื่อง Mac เป็น OS Catalina (v 10.15.3) หลังจากการอัปเกรดนี้ฉันไม่สามารถเปิดใช้งานไดรเวอร์ Chrome ได้โดยใช้ซีลีเนียม ฉันพบข้อผิดพลาดด้านล่างเมื่อฉันเรียกใช้รหัสซีลีเนียมเพื่อเปิดเบราว์เซอร์ chrome "" Chromedriver "ไม่สามารถเปิดได้เนื่องจากผู้พัฒนาไม่สามารถยืนยันได้" "macOS ไม่สามารถตรวจสอบได้ว่าแอพนี้ปลอดจากมัลแวร์" โปรดช่วยฉันด้วย!
13 java  macos  selenium 

2
วิธีอุ่นเครื่องคลาส Java เพื่อหลีกเลี่ยงการโทรช้าครั้งแรก?
ฉันกำลังทำโปรเจ็กต์ที่ฉันต้องการให้การเรียกใช้ API ทั้งหมดใช้เวลาน้อยกว่า 1 วินาที แต่ฉันกำลังประสบปัญหากับการโทรครั้งแรกไปยังแต่ละเส้นทางที่ช้ากว่าครั้งต่อไปนี้ ขณะนี้การโทร / ล็อกอินครั้งแรกใช้เวลา 3.6 วินาทีและโทรถัดไปใช้เวลา 170ms และเหมือนกันสำหรับเส้นทางอื่น ๆ ทั้งหมด ฉันค้นพบการใช้-XX:+TraceClassLoadingสิ่งนั้นในการโทรครั้งแรกชั้นเรียนถูกโหลดในหน่วยความจำและทำให้เกิดปัญหาประสิทธิภาพ อย่างไรก็ตามฉันไม่พบวิธีที่ง่ายในการโหลดคลาสทั้งหมดเมื่อเริ่มต้นและสำหรับแต่ละบริการใหม่ฉันต้องเพิ่มการเรียกวอร์มอัพใน ApplicationRunner ใครบ้างมีวิธีแก้ปัญหาในการโหลดคลาสของแอพพลิเคชั่น SpringBoot หรืออุ่นเครื่องเส้นทางทั้งหมด?

4
วิธีการปิดการส่งออกจาก hooks ปิดในการทดสอบการไล่ระดับบูต?
คุณสามารถสร้างโครงการจาก start.spring.io ถึงปัญหานี้ได้จากhttps://start.spring.io/starter.zip?type=gradle-project&language=java&bootVersion=2.2.5.RELEASE&baseDir=demo&groupId=com.example&artifactId=demo = สาธิตและคำอธิบาย = สาธิต% 20project% 20for% 20Spring% 20Boot & packageName = com.example.demo และบรรจุภัณฑ์ขวด = & javaVersion = 1.8 และอ้างอิง = H2, ข้อมูล JPA เว็บ ฉันมีแอพพลิเคชั่น springBoot หลายโมดูลที่สร้างขึ้นด้วย gradle มีการทดสอบการรวม SpringBoot มากมาย เมื่อฉันสร้างฉันจบลงด้วยการส่งออกบางส่วนจากการปิด SpringBoot ไปยังคอนโซลที่แสดงด้านล่าง ฉันจะปิดเอาต์พุตนี้ได้อย่างไร ± |master ↑1 {1} S:3 U:10 ✗| → ./gradlew build > Task …

1
Android Q: ฐานข้อมูล SQLite ในที่จัดเก็บข้อมูลที่กำหนดขอบเขต
ใน Android Q แนะนำคุณสมบัติการจัดเก็บ Scopedใหม่ซึ่งกล่าวว่า: แอปที่กำหนดเป้าหมายเป็น Android 10 (API ระดับ 29) และสูงกว่าจะได้รับการกำหนดขอบเขตการเข้าถึงที่จัดเก็บข้อมูลภายนอกหรือที่เก็บข้อมูลที่กำหนดขอบเขตโดยค่าเริ่มต้น แอพดังกล่าวมีการเข้าถึงเฉพาะไดเรกทอรีเฉพาะแอปบนที่จัดเก็บข้อมูลภายนอกรวมถึงสื่อประเภทเฉพาะที่แอปสร้างขึ้น ฉันมีแอพของฉันที่สร้างฐานข้อมูล SQLite บนที่จัดเก็บข้อมูลภายนอกเช่นเมื่อแอปถอนการติดตั้งฐานข้อมูลยังมีชีวิตอยู่และสามารถใช้ในภายหลังเป็นการกู้คืนหรือใช้นอกอุปกรณ์ Android (สมมติว่าในพีซี) ฉันจะบรรลุผลเช่นเดียวกันกับ Android Q ได้อย่างไร แม่นยำยิ่งขึ้นถ้าฐานข้อมูลที่จัดเก็บในไดเรกทอรีสาธารณะภายนอกฉันจะอ่านฐานข้อมูลนี้โดยใช้มาตรฐานได้SQLiteOpenHelperอย่างไร

5
วิธีสร้างแผนที่ด้วยค่าที่แตกต่างจากแผนที่ (และใช้ปุ่มขวาโดยใช้ BinaryOperator)
ฉันมีแผนที่Map<K, V>และเป้าหมายของฉันคือการลบค่าที่ซ้ำกันและเอาท์พุทโครงสร้างเดียวกันMap<K, V>อีกครั้ง ในกรณีที่พบค่าที่ซ้ำกันจะต้องมีการเลือกหนึ่งคีย์ ( k) จากสองคีย์ ( k1และk1) ที่เก็บค่าเหล่านี้ด้วยเหตุผลนี้ให้ถือว่ามีการBinaryOperator<K>ให้kจากk1และk2พร้อมใช้งาน ตัวอย่างอินพุตและเอาต์พุต: // Input Map<Integer, String> map = new HashMap<>(); map.put(1, "apple"); map.put(5, "apple"); map.put(4, "orange"); map.put(3, "apple"); map.put(2, "orange"); // Output: {5=apple, 4=orange} // the key is the largest possible ความพยายามของฉันใช้Stream::collect(Supplier, BiConsumer, BiConsumer)เป็นบิตเงอะงะมากและมีการดำเนินงานที่ไม่แน่นอนเช่นMap::putและMap::removeที่ฉันต้องการจะหลีกเลี่ยง: // // the key is the largest …

2
Java 8: Class.getName () ทำให้การเชื่อมโยงสตริงช้าลง
เมื่อเร็ว ๆ นี้ฉันพบปัญหาเกี่ยวกับการต่อข้อมูลสตริง เกณฑ์มาตรฐานนี้สรุป: @OutputTimeUnit(TimeUnit.NANOSECONDS) public class BrokenConcatenationBenchmark { @Benchmark public String slow(Data data) { final Class<? extends Data> clazz = data.clazz; return "class " + clazz.getName(); } @Benchmark public String fast(Data data) { final Class<? extends Data> clazz = data.clazz; final String clazzName = clazz.getName(); return "class " + …

2
Java: ลูปที่ไม่ได้ควบคุมด้วยตนเองยังคงเร็วกว่าลูปดั้งเดิม ทำไม?
ลองพิจารณาตัวอย่างของโค้ดสองชุดต่อไปนี้ในอาร์เรย์ที่มีความยาว 2: boolean isOK(int i) { for (int j = 0; j < filters.length; ++j) { if (!filters[j].isOK(i)) { return false; } } return true; } และ boolean isOK(int i) { return filters[0].isOK(i) && filters[1].isOK(i); } ฉันคิดว่าประสิทธิภาพของสองชิ้นนี้ควรจะคล้ายกันหลังจากการวอร์มอัพเพียงพอ ฉันได้ตรวจสอบสิ่งนี้โดยใช้กรอบการเปรียบเทียบไมโคร JMH ตามที่อธิบายไว้เช่นที่นี่และที่นี่และสังเกตว่าตัวอย่างที่สองนั้นเร็วกว่า 10% คำถาม: ทำไม Java ถึงไม่ปรับข้อมูลโค้ดแรกของฉันให้ดีขึ้นโดยใช้เทคนิคการปลดลูปพื้นฐาน โดยเฉพาะฉันต้องการทำความเข้าใจสิ่งต่อไปนี้: ฉันสามารถผลิตรหัสที่เป็นที่เหมาะสมสำหรับกรณีของ 2 ตัวกรองและยังคงสามารถทำงานในกรณีของหมายเลขอื่นของตัวกรอง (จินตนาการสร้างง่าย) …

3
JDK 11+ และ Javadoc
Exit code: 1 - javadoc: error - The code being documented uses packages in the unnamed module, but the packages defined in https://docs.oracle.com/en/java/javase/11/docs/api/ are in named modules. มีใครสามารถทำให้ javadoc ทำงานได้โดยไม่ต้องเปลี่ยนเวอร์ชั่นต้นฉบับเป็น 1.8 (ตามที่แนะนำในฟอรัมอื่น) ฉันใช้ JDK v11.0.5 และยังมีปัญหาอยู่ (เช่นเดียวกับ JDK 12+) แก้ไข: ข้อผิดพลาดนี้เกิดจาก maven และโยนโดย maven-javadoc-plugin ฉันไม่สามารถใช้งานกับ JDK 11+ ได้แม้ว่าจะมีการ<source>8</source>กำหนดค่าก็ตาม

3
Open จดจำใบหน้า CV ไม่ถูกต้อง
ในแอพของฉันฉันกำลังพยายามจดจำใบหน้าในภาพที่ระบุโดยใช้ Open CV นี่เป็นครั้งแรกที่ฉันทำการฝึกอบรมหนึ่งภาพแล้วหลังจากการฝึกอบรมภาพนั้นถ้าฉันเรียกใช้การจดจำใบหน้าในภาพนั้นจะจดจำใบหน้านั้นได้สำเร็จ อย่างไรก็ตามเมื่อฉันหันไปใช้รูปภาพอื่นของการจดจำบุคคลเดียวกันไม่ทำงาน มันใช้งานได้กับภาพลักษณ์ที่ผ่านการฝึกอบรมดังนั้นคำถามของฉันคือฉันจะแก้ไขได้อย่างไร? อัปเดต: สิ่งที่ฉันต้องการทำคือผู้ใช้ควรเลือกภาพของบุคคลจากที่เก็บข้อมูลและหลังจากการฝึกอบรมแล้วภาพที่เลือกฉันต้องการดึงภาพทั้งหมดจากที่เก็บซึ่งตรงกับรูปหน้าของภาพที่ฉันฝึก นี่คือคลาสกิจกรรมของฉัน: public class MainActivity extends AppCompatActivity { private Mat rgba,gray; private CascadeClassifier classifier; private MatOfRect faces; private ArrayList<Mat> images; private ArrayList<String> imagesLabels; private Storage local; ImageView mimage; Button prev,next; ArrayList<Integer> imgs; private int label[] = new int[1]; private double predict[] = new …

1
Jasper Report Components แสดงผลไม่ถูกต้องใน JavaFX Swing Node
สำหรับการสร้างรายงาน Jasper ใน JavaFX 11 ฉันใช้รายงานแบบไดนามิก ฉันกำลังโหลดรายงานภายใน Swing Node แต่รายงาน Jasper จะปรากฏขึ้นก็ต่อเมื่อฉันจะคลิกที่พื้นที่สแต็กบานหน้าต่างและส่วนประกอบอื่น ๆ ทั้งหมดจะปรากฏให้เห็นเฉพาะเมื่อฉันวางเมาส์บนส่วนประกอบเหล่านั้นทั้งหมด ส่วนประกอบและเนื้อหารายงานไม่โหลดขึ้นมาทันทีแทนที่จะแสดงบนเมาส์โฉบและรายงานจะแสดงเมื่อเลื่อนไปที่ Stack Pane เช่นนี้เป็นข้อผิดพลาดใน Java 8 และดูเหมือนว่าจะได้รับการแก้ไข แต่ใน Java 11 เกินไปฉันได้รับปัญหาเดียวกัน ปรับปรุง เนื่องจากฉันไม่ได้รับการตอบสนองใด ๆ และตามที่ kleopatra แนะนำฉันได้สร้างรหัสที่ทำซ้ำได้น้อยที่สุด โปรดดูสิ่งนี้ JavaFxJasperReportsDemo.java package demo; import java.util.ArrayList; import java.util.List; import javax.swing.SwingUtilities; import javafx.application.Application; import javafx.application.Platform; import javafx.embed.swing.SwingNode; import javafx.event.ActionEvent; import …

7
วิธีแก้ไขข้อผิดพลาดขณะติดตั้ง NetBeans
ฉันติดตั้ง Java แล้วและพยายามติดตั้ง NetBeans 11.3 บน Windows 10 ของฉัน แต่หลังจากฉันรัน exe ตัวติดตั้งเกิดข้อผิดพลาดโผล่ขึ้นมา: มีข้อยกเว้นที่ไม่คาดคิดเกิดขึ้นในเธรด main java.lang.NoClassDefFoundError java / util / jar / Pack200
13 java  netbeans 

1
ผู้ประกอบการ '+' ไม่สามารถนำไปใช้กับวัตถุและสตริง
รหัสต่อไปนี้: void someMethod(Object value) { String suffix = getSuffix(); if (suffix != null) value += suffix; [...] } รวบรวมโดยไม่มีข้อผิดพลาดใน JDK 8 (ใช้ -source 1.6) แต่ล้มเหลวใน JDK 6 พร้อมข้อความแสดงข้อผิดพลาด: Operator '+' cannot be applied to java.lang.Object and java.lang.String ในขณะที่ฉันเข้าใจว่าข้อผิดพลาดเกี่ยวกับอะไรทำไมถึงต้องคอมไพล์ด้วย JDK 8? เอกสารนี้มีอยู่ทุกที่หรือไม่?
12 java  java-8  javac  java-6 

4
JPA inheritance @EntityGraph มีการเชื่อมโยงทางเลือกของคลาสย่อย
ด้วยรูปแบบโดเมนต่อไปนี้ฉันต้องการโหลดAnswers ทั้งหมดรวมถึงValues และ sub-children ที่เกี่ยวข้องและวางลงในAnswerDTOเพื่อแปลงเป็น JSON ฉันมีวิธีการแก้ปัญหาการทำงาน แต่มันทนทุกข์ทรมานจากปัญหา N + 1 @EntityGraphที่ฉันต้องการที่จะกำจัดโดยใช้เฉพาะกิจ LAZYสมาคมทั้งหมดมีการกำหนดค่า @Query("SELECT a FROM Answer a") @EntityGraph(attributePaths = {"value"}) public List<Answer> findAll(); ใช้ ad-hoc @EntityGraphบนRepositoryวิธีการที่ฉันสามารถมั่นใจได้ว่าค่าถูกดึงมาล่วงหน้าเพื่อป้องกัน N + 1 ในการAnswer->Valueเชื่อมโยง ในขณะที่ผลลัพธ์ของฉันดีมีปัญหาอีก N + 1 เพราะขี้เกียจโหลดความselectedสัมพันธ์ของMCValues ใช้สิ่งนี้ @EntityGraph(attributePaths = {"value.selected"}) ล้มเหลวเนื่องจากselectedฟิลด์เป็นส่วนหนึ่งของValueเอนทิตีบางส่วนเท่านั้น: Unable to locate Attribute with the the given name …

1
วิธีเอกสารพารามิเตอร์ Java Record?
เป็นวิธีการอย่างใดอย่างหนึ่งควรเอกสารพารามิเตอร์Java Record ? ฉันหมายถึงพารามิเตอร์ที่ลงท้ายด้วยการเป็นพารามิเตอร์ตัวสร้างฟิลด์คลาส ฉันเหนื่อย: /** * @param name the name of the animal * @param age the age of the animal */ public record Animal(String name, int age) { } แต่ IntelliJ IDEA ตั้งค่าสถานะ@params เป็นข้อผิดพลาด ฉันไม่พบตัวอย่างออนไลน์เกี่ยวกับวิธีการทำงานของสิ่งนี้ ที่อยู่ใกล้ผมพบว่าการอภิปรายเป็นhttps://bugs.openjdk.java.net/browse/JDK-8225055 ฉันพบการทดสอบหน่วย บางอย่างใน JDK ที่ดูเหมือนจะบอกเป็นนัยว่าสิ่งนี้ควรใช้งานได้ บางทีนี่อาจเป็นข้อผิดพลาดของ IDE? ฉันใช้ OpenJDK 14 + 36-1461, IDEA …

3
ผู้ประกอบการที่เหลืออยู่ใน int ทำให้ java.util.Objects.requireNonNull?
ฉันพยายามทำให้ได้ประสิทธิภาพมากที่สุดเท่าที่จะเป็นไปได้จากวิธีการภายในบางอย่าง รหัส Java คือ: List<DirectoryTaxonomyWriter> writers = Lists.newArrayList(); private final int taxos = 4; [...] @Override public int getParent(final int globalOrdinal) throws IOException { final int bin = globalOrdinal % this.taxos; final int ordinalInBin = globalOrdinal / this.taxos; return this.writers.get(bin).getParent(ordinalInBin) * this.taxos + bin; //global parent } ในผู้สร้างโปรไฟล์ของฉันฉันเห็นว่ามีการใช้ CPU 1% …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.