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

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

10
การจัดการข้อยกเว้นบริการ Spring Boot REST
ฉันกำลังพยายามตั้งค่าเซิร์ฟเวอร์บริการ REST ขนาดใหญ่ เรากำลังใช้ Spring Boot 1.2.1 Spring 4.1.5 และ Java 8 ตัวควบคุมของเรากำลังใช้งาน @RestController และคำอธิบายประกอบ @RequestMapping มาตรฐาน ปัญหาของฉันที่ฤดูใบไม้ผลิ Boot /errorตั้งค่าการเปลี่ยนเส้นทางเริ่มต้นสำหรับข้อยกเว้นในการควบคุม จากเอกสาร: Spring Boot จัดให้มีการแมป / ข้อผิดพลาดตามค่าเริ่มต้นที่จัดการข้อผิดพลาดทั้งหมดอย่างสมเหตุสมผลและมีการลงทะเบียนเป็นหน้าข้อผิดพลาด 'สากล' ในคอนเทนเนอร์ servlet มาจากหลายปีที่เขียนแอปพลิเคชัน REST ด้วย Node.js นี่คือสิ่งที่สมเหตุสมผล ข้อยกเว้นใด ๆ ที่จุดปลายบริการสร้างขึ้นควรกลับมาในการตอบกลับ ฉันไม่สามารถเข้าใจได้ว่าทำไมคุณถึงส่งการเปลี่ยนเส้นทางไปยังผู้ใช้ Angular หรือ JQuery SPA ซึ่งน่าจะเป็นคำตอบเท่านั้นและไม่สามารถหรือไม่ดำเนินการใด ๆ ในการเปลี่ยนเส้นทาง สิ่งที่ฉันต้องการจะทำคือการตั้งค่าตัวจัดการข้อผิดพลาดทั่วโลกที่สามารถยกเว้น - อย่างใดอย่างหนึ่งโยนออกมาจากวิธีการทำแผนที่การร้องขอหรือสร้างขึ้นโดยอัตโนมัติโดยฤดูใบไม้ผลิ (404 ถ้าไม่พบวิธีจัดการสำหรับลายเซ็นเส้นทางขอ) …

19
ข้อความ SSL ที่ไม่รู้จักการเชื่อมต่อแบบธรรมดา? ข้อยกเว้น
ฉันมีแพคเกจที่รองรับจาวาเพื่อพูดคุยกับเซิร์ฟเวอร์ https บนเน็ต การเรียกใช้การรวบรวมมีข้อยกเว้นดังต่อไปนี้: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? at com.sun.net.ssl.internal.ssl.InputRecord.handleUnknownRecord(Unknown Source) at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source) at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source) ฉันคิดว่านี่เป็นเพราะการเชื่อมต่อที่สร้างขึ้นกับเครื่องไคลเอนต์ไม่ปลอดภัย มีวิธีการกำหนดค่าเครื่องหรือพอร์ตในท้องถิ่นเพื่อเชื่อมต่อกับเซิร์ฟเวอร์ https ระยะไกลหรือไม่?
172 java  https 

14
นี่เป็นอัลกอริทึมแบบสุ่ม "ดีพอ" หรือไม่ ทำไมจึงไม่ใช้ถ้ามันเร็วกว่า
ฉันสร้างคลาสQuickRandomขึ้นมาและงานของมันคือการสร้างตัวเลขสุ่มอย่างรวดเร็ว มันง่ายมาก: แค่เอาค่าเก่ามาคูณด้วย a doubleและหาส่วนทศนิยม นี่คือQuickRandomชั้นเรียนของฉันทั้งหมด: public class QuickRandom { private double prevNum; private double magicNumber; public QuickRandom(double seed1, double seed2) { if (seed1 >= 1 || seed1 < 0) throw new IllegalArgumentException("Seed 1 must be >= 0 and < 1, not " + seed1); prevNum = seed1; if (seed2 …

7
สร้างโปรเจ็กต์ลงใน JAR โดยอัตโนมัติใน Eclipse
ฉันมีโครงการ Eclipse ที่ฉันต้องการให้โครงการ Java ของฉันอยู่ใน JAR โดยอัตโนมัติ ฉันรู้ว่าฉันมีตัวเลือกในการส่งออกโครงการเป็น JAR; ถ้าฉันคลิกขวา; แต่สิ่งที่ฉันกำลังมองหาจริงๆก็คือว่า Eclipse จะสร้าง.classไฟล์ของโครงการโดยอัตโนมัติและวางไว้ในโฟลเดอร์เป้าหมาย มันควรสร้าง JAR โดยอัตโนมัติและคัดลอก JAR ล่าสุดในบางตำแหน่งหรือบางตำแหน่ง มีตัวเลือกในการกำหนดค่า Eclipse เพื่อสร้าง JARs โดยอัตโนมัติหรือไม่? เพียงเพื่อให้ชัดเจนสำหรับผู้ชายอดทนพอที่จะตอบคำถามของฉัน; ฉันไม่ได้มอง ANT ว่าเป็นทางออก ตามที่ฉันใช้อยู่แล้ว แต่สิ่งที่ฉันต้องการให้เป็นสิ่งที่ได้รับการเริ่มต้นโดยอัตโนมัติด้วยทริกเกอร์ตามเวลาหรืองานสร้างทันทีที่มีการเปลี่ยนแปลง
171 java  eclipse  jar 

6
ฉันควรใช้ string.isEmpty () หรือ“” .equals (string) หรือไม่
ชื่อโดยทั่วไปบอกว่ามันทั้งหมด ฉันมักจะทดสอบสิ่งนี้ควบคู่กับ a string == nullดังนั้นฉันจึงไม่กังวลเกี่ยวกับการทดสอบที่ปลอดภัย ฉันควรใช้แบบไหน String s = /* whatever */; ... if (s == null || "".equals(s)) { // handle some edge case here } หรือ if (s == null || s.isEmpty()) { // handle some edge case here } บนโน้ตนั้น - isEmpty()ทำอะไรอื่นนอกจากreturn this.equals("");หรือreturn this.length() == 0;?
171 java  string 

6
วิธีที่เร็วที่สุดในการแปลง XML เป็น JSON ใน Java [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ เครื่องมือที่ดีสำหรับการแปลง XML เป็น JSON ใน Java อย่างรวดเร็วและง่ายดายคืออะไร
171 java  xml  json 

2
ประเภทผลตอบแทนทั่วไปที่ถูกผูกไว้ด้านบน - ส่วนต่อประสานกับชั้นเรียน - รหัสที่ถูกต้องน่าแปลกใจ
นี่คือตัวอย่างในโลกแห่งความเป็นจริงจาก API ไลบรารีบุคคลที่ 3 แต่ง่ายขึ้น คอมไพล์ด้วย Oracle JDK 8u72 พิจารณาทั้งสองวิธี: <X extends CharSequence> X getCharSequence() { return (X) "hello"; } <X extends String> X getString() { return (X) "hello"; } ทั้งคู่รายงานคำเตือน "นักแสดงที่ไม่ได้ตรวจสอบ" - ฉันเข้าใจว่าทำไม สิ่งที่ทำให้ฉันงุนงงคือทำไมฉันถึงโทรได้ Integer x = getCharSequence(); และมันรวบรวม? คอมไพเลอร์ควรจะรู้ว่าไม่ใช้Integer CharSequenceการโทรไป Integer y = getString(); ให้ข้อผิดพลาด (ตามที่คาดไว้) incompatible types: …
171 java  generics  java-8 

22
ทำไมวิดีโอเกมที่เขียนด้วยภาษาจาวาเพียงไม่กี่เกม [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา เหตุใดจึงมีวิดีโอเกม 3 มิติเชิงพาณิชย์จำนวนมาก (ไม่ใช่ 2D แบบโอเพนซอร์ซแบบสุ่ม) ที่เขียนด้วย Java ในทางทฤษฎีแล้วมันสมเหตุสมผล: คุณได้รับการเพิ่มประสิทธิภาพการทำงานและแอพพลิเคชั่นข้ามแพลตฟอร์มเกือบฟรีเหนือสิ่งอื่นใดเช่นไลบรารี Java จำนวนมากและการรวบรวมขยะในตัว (แม้ว่าฉันจะยอมรับฉันก็ตาม) ฉันไม่แน่ใจว่าอันหลังเป็นสิ่งที่ดีหรือไม่) เหตุใดจึงไม่ค่อยใช้ ฉันนึกถึงเกมเชิงพาณิชย์ที่เป็นที่นิยมที่เขียนขึ้นสำหรับแพลตฟอร์ม Java เท่านั้น เป็นเพราะประสิทธิภาพหรือไม่ ถ้าอย่างนั้น GPU ส่วนใหญ่ก็ไม่สามารถทำได้เช่นกันใช่ไหม
171 java 

16
วิธีการจัดเรียงตามสองเขตข้อมูลใน Java?
ฉันมีวัตถุperson (int age; String name;)มากมาย ฉันจะเรียงลำดับอาร์เรย์ตามตัวอักษรตามชื่อแล้วตามอายุได้อย่างไร อัลกอริทึมใดที่คุณจะใช้สำหรับสิ่งนี้
171 java  sorting 

17
เครื่องมือบรรทัดคำสั่งเพื่อค้นหา Java Heap Size และหน่วยความจำที่ใช้ (Linux)?
มีเครื่องมือบรรทัดคำสั่ง (Linux) เพื่อตรวจสอบขนาดฮีป (และหน่วยความจำที่ใช้) ของ Java Application หรือไม่? ฉันลองผ่าน jmap แต่มันให้ข้อมูล เกี่ยวกับพื้นที่หน่วยความจำภายในเช่น Eden / PermGen เป็นต้นซึ่งไม่มีประโยชน์สำหรับฉัน ฉันกำลังมองหาบางสิ่งที่ชอบ: หน่วยความจำสูงสุด: 1GB หน่วยความจำขั้นต่ำ: 256 MB หน่วยความจำฮีป: 700 MB หน่วยความจำที่ใช้แล้ว: 460 MB นั่นคือทั้งหมดที่ ฉันรู้ว่าฉันเห็นสิ่งนี้ใน JConsole ฯลฯ แต่ฉันต้องการเครื่องมือบรรทัดคำสั่ง (ไม่สามารถเปิดใช้งาน JMX ฯลฯ ) คุณรู้จักเครื่องมือ / คำสั่งดังกล่าวหรือไม่?
171 java  linux  performance  memory  heap 

7
Java enum - ทำไมต้องใช้ toString แทนที่จะเป็นชื่อ
ถ้าคุณดูใน enum api ที่วิธีการname()มันบอกว่า: ส่งคืนชื่อของค่าคงที่ enum นี้ตรงตามที่ประกาศไว้ในการประกาศ enum โปรแกรมเมอร์ส่วนใหญ่ควรใช้เมธอด toString ในการตั้งค่านี้เนื่องจากเมธอด toString อาจส่งคืนชื่อที่เป็นมิตรต่อผู้ใช้มากขึ้น วิธีนี้ออกแบบมาสำหรับใช้ในสถานการณ์พิเศษที่ความถูกต้องขึ้นอยู่กับการได้รับชื่อที่แน่นอนซึ่งจะไม่แตกต่างจากรุ่นสู่รุ่น ทำไมจะดีกว่าการใช้งานtoString()? ฉันหมายถึง toString อาจถูกเขียนทับเมื่อชื่อ () สุดท้ายแล้ว ดังนั้นหากคุณใช้ toString และมีคนแทนที่มันเพื่อส่งคืนค่าฮาร์ดโค้ดที่แอปพลิเคชันทั้งหมดของคุณหยุดทำงาน ... นอกจากนี้หากคุณค้นหาแหล่งที่มาเมธอด toString () จะคืนค่าอย่างแน่นอนและเป็นเพียงชื่อ มันเป็นสิ่งเดียวกัน
171 java  enums 

15
เมื่อใดจึงควรใช้ขั้นสุดท้ายสำหรับพารามิเตอร์เมธอดและตัวแปรโลคัล?
ฉันได้พบการอ้างอิงสองสามข้อ ( เช่น ) ที่แนะนำให้ใช้finalมากที่สุดเท่าที่จะเป็นไปได้และฉันสงสัยว่ามันสำคัญแค่ไหน นี่คือส่วนใหญ่ในบริบทของพารามิเตอร์วิธีการและตัวแปรท้องถิ่นไม่ใช่วิธีการสุดท้ายหรือชั้นเรียน สำหรับค่าคงที่มันสมเหตุสมผลดี ในอีกด้านหนึ่งคอมไพเลอร์สามารถทำการเพิ่มประสิทธิภาพบางอย่างและทำให้เจตนาของโปรแกรมเมอร์ชัดเจนยิ่งขึ้น ในทางตรงกันข้ามมันเพิ่มความฟุ่มเฟื่อยและการเพิ่มประสิทธิภาพอาจเล็กน้อย เป็นสิ่งที่ฉันควรจะพยายามจดจำหรือไม่?
171 java  final 

7
Mockito.any () ผ่านส่วนต่อประสานกับ Generics
เป็นไปได้ที่จะผ่านประเภทของอินเตอร์เฟซที่มี generics หรือไม่? อินเทอร์เฟซ: public interface AsyncCallback<T> ในวิธีทดสอบของฉัน: Mockito.any(AsyncCallback.class) วาง<ResponseX>ไว้ด้านหลังหรือ.classไม่ทำงาน
171 java  generics  mockito 

8
ทำไม Java อนุญาตให้เรารวบรวมคลาสที่มีชื่อแตกต่างจากชื่อไฟล์
ฉันมีไฟล์Test.javaและรหัสต่อไปนี้อยู่ข้างใน public class Abcd { //some code here } ตอนนี้คลาสไม่ได้คอมไพล์ แต่เมื่อฉันลบโมดิpublicฟายเออร์มันก็คอมไพล์แล้ว อะไรคือเหตุผลที่อยู่เบื้องหลัง Java ทำให้เราสามารถรวบรวมชื่อคลาสที่แตกต่างจากชื่อไฟล์เมื่อไม่เป็นสาธารณะ ฉันรู้ว่ามันเป็นคำถามสำหรับมือใหม่ แต่ฉันไม่สามารถหาคำอธิบายที่ดีได้
170 java 

15
การรวบรวมข้อผิดพลาดร้ายแรง: การปล่อยเป้าหมายที่ไม่ถูกต้อง: 1.8 -> [ความช่วยเหลือ 1]
ปัญหาที่คล้ายกันเช่นปัญหาที่โพสต์ในการปล่อยเป้าหมายที่ไม่ถูกต้อง: 1.7แต่หลังจากติดตามบล็อกปัญหาของฉันยังคงไม่ได้รับการแก้ไข ล้มเหลวในการดำเนินการเป้าหมาย org.apache.maven.plugins: maven-compiler-plugin: 3.1: คอมไพล์ (คอมไพล์เริ่มต้น) ในโครงการ hm_app: การรวบรวมข้อผิดพลาดร้ายแรง: การปล่อยข้อผิดพลาดร้ายแรง: 1.8 -> [ช่วยเหลือ 1] ฉันกำลังติดตามการสอนเมื่อฉันประสบปัญหานี้ abt java & mvn C:\mvn>echo %JAVA_HOME% C:\mvn>echo %JRE_HOME% C:\mvn>echo %MAVEN_HOME% yields เอาท์พุท C:\Program Files\Java\jdk1.7.0_51 C:\Program Files\Java\jre7 C:\apache-maven-3.0.4
170 java  maven 

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