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

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

5
อะไรคือกฎสำหรับลำดับการประเมินใน Java?
ฉันกำลังอ่านข้อความ Java และได้รับรหัสต่อไปนี้: int[] a = {4,4}; int b = 1; a[b] = b = 0; ในข้อความผู้เขียนไม่ได้ให้คำอธิบายที่ชัดเจนและผลของบรรทัดสุดท้ายคือ: a[1] = 0; ฉันไม่แน่ใจว่าฉันเข้าใจแล้ว: การประเมินเกิดขึ้นได้อย่างไร?

5
ฉันจะเรียกใช้ IDEA IntelliJ บน Mac OS X ด้วย JDK 7 ได้อย่างไร
ฉันใช้ Mac OS X 10.8.2 และใช้ JDK 7 ตอนนี้ฉันดาวน์โหลด IDEA IntelliJ เวอร์ชันล่าสุด 11 แล้ว แต่ดูเหมือนจะไม่เริ่มต้นหากไม่มี JDK 6 มีวิธีแก้ปัญหาหรือไม่? ฉันจะเรียกใช้ IDEA IntelliJ บน Mac OS X ด้วย JDK 7 ได้อย่างไร

26
การรับพาวเวอร์เซตของชุดใน Java
ชุดอำนาจของ{1, 2, 3}คือ: {{}, {2}, {3}, {2, 3}, {1, 2}, {1, 3}, {1, 2, 3}, {1}} สมมติว่าฉันมีSetใน Java: Set<Integer> mySet = new HashSet<Integer>(); mySet.add(1); mySet.add(2); mySet.add(3); Set<Set<Integer>> powerSet = getPowerset(mySet); ฉันจะเขียนฟังก์ชัน getPowerset ด้วยลำดับความซับซ้อนที่ดีที่สุดได้อย่างไร (ฉันคิดว่ามันอาจจะเป็น O (2 ^ n))
86 java  algorithm  set  powerset 

5
ฝรั่ง: ทำไมไม่มีฟังก์ชัน Lists.filter ()
มีเหตุผลหรือไม่ Lists.transform() แต่ไม่มี Lists.filter() เหรอ? ฉันจะกรองรายการให้ถูกต้องได้อย่างไร? ฉันสามารถใช้ new ArrayList(Collection2.filter()) แน่นอน แต่วิธีนี้ไม่รับประกันว่าการสั่งซื้อของฉันจะยังคงเหมือนเดิมถ้าฉันเข้าใจถูกต้อง
86 java  list  filter  guava 

5
ความแตกต่างอย่างมากในความเร็วของวิธีการคงที่และไม่คงที่เท่ากัน
ในรหัสนี้เมื่อฉันสร้าง Object ในmainเมธอดแล้วเรียกว่า object method: ff.twentyDivCount(i)(ทำงานใน 16010 ms) มันทำงานได้เร็วกว่าการเรียกโดยใช้คำอธิบายประกอบนี้: twentyDivCount(i)(ทำงานใน 59516 ms) แน่นอนเมื่อฉันเรียกใช้โดยไม่สร้างวัตถุฉันทำให้เมธอดคงที่ดังนั้นจึงสามารถเรียกใช้ใน main ได้ public class ProblemFive { // Counts the number of numbers that the entry is evenly divisible by, as max is 20 int twentyDivCount(int a) { // Change to static int.... when using it directly int …

4
มีอะไรใหม่ใน Hibernate 4
ฉันเพิ่งเห็นว่ามีการเปิดตัวเบต้าของ Hibernate 4 มีอะไรใหม่ใน 4 เทียบกับ 3 (.6) ฉันไม่พบข้อมูลนี้ในการประกาศเบต้าหรือเมื่อ Googling ชื่อคำถามนี้

17
Checkstyle เทียบกับ PMD
เรากำลังนำเสนอเครื่องมือวิเคราะห์แบบคงที่ในระบบบิลด์สำหรับผลิตภัณฑ์ Java ของเรา เราใช้ Maven2 ดังนั้นการผสานรวมCheckstyleและPMDจึงฟรี อย่างไรก็ตามดูเหมือนว่ามีการทำงานที่ทับซ้อนกันระหว่างเครื่องมือทั้งสองนี้ในแง่ของการบังคับใช้กฎสไตล์พื้นฐาน มีประโยชน์จากการใช้ทั้งสองอย่างนี้หรือไม่? ฉันไม่ต้องการบำรุงรักษาเครื่องมือ 2 ชิ้นหากจะใช้งานได้ ถ้าเราจะเลือกเราควรใช้อันไหนและทำไม? เรากำลังวางแผนที่จะใช้ FindBugs มีเครื่องมือวิเคราะห์แบบคงที่อื่น ๆ ที่เราควรดูหรือไม่? อัปเดต:ฉันทามติดูเหมือนว่า PMD เป็นที่ต้องการมากกว่า CheckStyle ฉันไม่เห็นเหตุผลที่ชัดเจนที่จะใช้ทั้งสองอย่างและฉันไม่ต้องการรักษาไฟล์กฎ 2 ชุดดังนั้นเราอาจตั้งเป้าไปที่ PMD โดยเฉพาะ เราจะนำ FindBugs เข้ามาด้วยและในที่สุด Macker ก็บังคับใช้กฎสถาปัตยกรรม

15
การใช้ขั้นสุดท้ายสำหรับตัวแปรใน Java ช่วยปรับปรุงการรวบรวมขยะหรือไม่
วันนี้เพื่อนร่วมงานของฉันและฉันมีการอภิปรายเกี่ยวกับการใช้finalคำหลักใน Java เพื่อปรับปรุงการรวบรวมขยะ ตัวอย่างเช่นหากคุณเขียนวิธีการเช่น: public Double doCalc(final Double value) { final Double maxWeight = 1000.0; final Double totalWeight = maxWeight * value; return totalWeight; } การประกาศตัวแปรในเมธอดfinalจะช่วยให้การรวบรวมขยะล้างหน่วยความจำจากตัวแปรที่ไม่ได้ใช้ในเมธอดหลังจากที่เมธอดออกไป นี่คือเรื่องจริง?

6
การสืบทอดและการเรียกซ้ำ
สมมติว่าเรามีคลาสต่อไปนี้: class A { void recursive(int i) { System.out.println("A.recursive(" + i + ")"); if (i > 0) { recursive(i - 1); } } } class B extends A { void recursive(int i) { System.out.println("B.recursive(" + i + ")"); super.recursive(i + 1); } } ตอนนี้ให้โทรrecursiveในคลาส A: public class Demo { public …

13
เขียนโปรแกรมที่จะเข้าสู่ภาวะชะงักงัน [ปิด] อย่างแน่นอน
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันเพิ่งได้รับคำถามนี้ในการสัมภาษณ์ ฉันตอบว่าการหยุดชะงักเกิดขึ้นหากการสอดประสานผิดพลาด แต่ผู้สัมภาษณ์ยืนยันว่าโปรแกรมที่จะเข้าสู่ภาวะชะงักงันโดยไม่คำนึงถึงการแทรกสอดสามารถเขียนได้ เราเขียนโปรแกรมดังกล่าวได้หรือไม่? ช่วยชี้ตัวอย่างโปรแกรมแบบนั้นให้หน่อยได้ไหม

10
เหตุใดข้อยกเว้น“ java.net.ConnectException: การเชื่อมต่อหมดเวลา” จึงเกิดขึ้นเมื่อ URL ขึ้น
ฉันได้รับConnectException: Connection timed outความถี่บางส่วนจากรหัสของฉัน URL ที่ฉันพยายามจะกดขึ้น รหัสเดียวกันใช้ได้กับผู้ใช้บางคน แต่ใช้ไม่ได้ ดูเหมือนว่าเมื่อผู้ใช้รายหนึ่งเริ่มได้รับข้อยกเว้นนี้พวกเขายังคงได้รับข้อยกเว้น นี่คือการติดตามสแต็ก: java.net.ConnectException: Connection timed out Caused by: java.net.ConnectException: Connection timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.Socket.connect(Socket.java:516) at java.net.Socket.connect(Socket.java:466) at sun.net.NetworkClient.doConnect(NetworkClient.java:157) at sun.net.www.http.HttpClient.openServer(HttpClient.java:365) at sun.net.www.http.HttpClient.openServer(HttpClient.java:477) at sun.net.www.http.HttpClient.<init>(HttpClient.java:214) at sun.net.www.http.HttpClient.New(HttpClient.java:287) at sun.net.www.http.HttpClient.New(HttpClient.java:299) at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:796) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:748) at …

3
ทำไมสตรีมแบบขนานกับแลมบ์ดาในตัวเริ่มต้นแบบคงที่ทำให้เกิดการชะงักงัน
ฉันเจอสถานการณ์แปลก ๆ ที่การใช้สตรีมคู่ขนานกับแลมบ์ดาในตัวเริ่มต้นแบบคงที่ดูเหมือนตลอดไปโดยไม่มีการใช้งาน CPU นี่คือรหัส: class Deadlock { static { IntStream.range(0, 10000).parallel().map(i -> i).count(); System.out.println("done"); } public static void main(final String[] args) {} } นี่ดูเหมือนจะเป็นกรณีทดสอบขั้นต่ำสำหรับการจำลองพฤติกรรมนี้ ถ้าฉัน: วางบล็อกในวิธีการหลักแทนที่จะเป็นตัวเริ่มต้นแบบคงที่ ลบการขนานหรือ ถอดแลมด้า รหัสจะเสร็จสมบูรณ์ทันที ใครสามารถอธิบายพฤติกรรมนี้? มันเป็นจุดบกพร่องหรือตั้งใจ? ฉันใช้ OpenJDK เวอร์ชัน 1.8.0_66-internal

2
Regex: InCombiningDiacriticalMarks คืออะไร?
รหัสต่อไปนี้เป็นที่รู้จักกันดีในการแปลงอักขระเน้นเสียงเป็นข้อความธรรมดา: Normalizer.normalize(text, Normalizer.Form.NFD).replaceAll("\\p{InCombiningDiacriticalMarks}+", ""); ฉันแทนที่วิธี "ทำด้วยมือ" ด้วยวิธีนี้ แต่ฉันต้องเข้าใจส่วน "regex" ของการแทนที่ทั้งหมด 1) "InCombiningDiacriticalMarks" คืออะไร? 2) เอกสารอยู่ที่ไหน? (และคนอื่น ๆ ?) ขอบคุณ.
86 java  regex  unicode 

8
หยุดการกดแป้น Spacebar ไม่ให้ทริกเกอร์การเติมข้อความอัตโนมัติใน Eclipse
อัปเดต นี้ได้รับการแก้ไขใน Eclipse 2018-12 ลักษณะการทำงานนี้ยังคงเป็นค่าเริ่มต้น แต่สามารถกำหนดค่าปิดได้ - ดูคำตอบที่ยอมรับสำหรับวิธีการ ฉันจะทิ้งคำถามไว้เหมือนเดิมสำหรับคนรุ่นหลังและสำหรับคำถามใน Eclipse เวอร์ชันก่อนหน้า ใน Eclipse ฉันได้เปิดใช้งานคำแนะนำสไตล์ Intellisense สำหรับ Java โดยไปที่ Window -> Preferences -> Java/Editor/Content Assist และการตั้งค่าต่อไปนี้ Auto activation delay (ms) -> 0 Auto activation triggers for Java -> .(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ แหล่ง = Eclipse Intellisense? วิธีนี้ใช้งานได้ดีนอกเหนือจากปัญหาที่น่ารำคาญอย่างหนึ่ง เมื่อฉันกดspacebarโทเค็นที่กำลังพิมพ์จะถูกเติมอัตโนมัติด้วยสิ่งที่อยู่ด้านบนของรายการคำแนะนำ พอใช้ยกเว้นว่าบางครั้งฉันจะพิมพ์ชื่อคลาส / ตัวแปรที่ตรงกันตามกฎหมาย แต่จะไม่ปรากฏเป็นคำแนะนำอันดับต้น ๆ ดังนั้นเมื่อฉันตีspacebarEclipse …
86 java  eclipse 

6
ความแตกต่างระหว่าง Class Path และ Build Path คืออะไร
ฉันสับสนกับสองคำนี้ ฉันควรทำอย่างไรเพื่อสร้างไฟล์ภายใต้โฟลเดอร์ src ของ Spring MVC Project เมื่อฉันสร้างโดยใช้วัตถุไฟล์มันจะสร้างไฟล์ภายใน C: \ SpringSourceTool ... ฉันเดาว่านี่คือ ClassPath ใช่ไหม ฉันจะรับapplicationcontextโฟลเดอร์หรือรูทของแอปพลิเคชันได้อย่างไร?

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