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

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

16
จะหาพอร์ตที่ใช้ได้อย่างไร
ฉันต้องการเริ่มต้นเซิร์ฟเวอร์ที่ฟังพอร์ต ฉันสามารถระบุพอร์ตได้อย่างชัดเจนและใช้งานได้ แต่ฉันต้องการค้นหาพอร์ตด้วยวิธีอัตโนมัติ ในส่วนนี้ฉันมีสองคำถาม ฉันควรค้นหาหมายเลขพอร์ตในช่วงใด (ฉันใช้พอร์ต 12345, 12346 และ 12347 และมันก็ใช้ได้) ฉันจะทราบได้อย่างไรว่าพอร์ตที่กำหนดไม่มีซอฟต์แวร์อื่นครอบครองอยู่?
195 java  networking  sockets  port 

4
ความแตกต่างระหว่าง getFields และ getDeclaredFields ใน Java reflection คืออะไร
ฉันสับสนเล็กน้อยเกี่ยวกับความแตกต่างระหว่างgetFieldsวิธีการและgetDeclaredFieldsวิธีการใช้การสะท้อน Java ฉันอ่านที่getDeclaredFieldsให้คุณเข้าถึงทุกฟิลด์ของคลาสและ getFieldsคืนค่าฟิลด์สาธารณะเท่านั้น หากเป็นกรณีนี้ทำไมจะไม่คุณก็มักจะใช้getDeclaredFields? ใครบางคนช่วยอธิบายรายละเอียดเกี่ยวกับเรื่องนี้และอธิบายความแตกต่างระหว่างสองวิธีนี้และเมื่อใด / ทำไมคุณต้องการใช้อีกวิธีหนึ่ง
195 java  reflection 

25
การใช้ตัวปรับแต่ง“ final” เมื่อใดก็ตามที่เกี่ยวข้องใน Java [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ใน Java มีการประกาศตัวแปรทุกตัว (ในตัวเครื่องหรือคลาส) พารามิเตอร์สุดท้ายถ้าเป็นจริง แม้ว่าจะทำให้รหัส verbose มากขึ้นนี้ช่วยในการอ่าน / จับรหัสได้ง่ายและยังป้องกันข้อผิดพลาดตามที่ตั้งใจไว้ชัดเจน คุณคิดอย่างไรกับเรื่องนี้และคุณติดตามอะไร
194 java  oop 


3
HTML Parser ใดที่ดีที่สุด [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันโค้ดตัวแยกวิเคราะห์จำนวนมาก จนถึงตอนนี้ฉันใช้ HtmlUnit เบราว์เซอร์ที่ไม่มีส่วนหัวสำหรับการแยกวิเคราะห์และการทำงานอัตโนมัติของเบราว์เซอร์ ตอนนี้ฉันต้องการแยกงานทั้งสองออก เนื่องจาก 80% ของงานของฉันเกี่ยวข้องกับการแยกวิเคราะห์ฉันต้องการใช้ตัวแยกวิเคราะห์ HTML แบบใช้แสงเนื่องจากใช้เวลานานใน HtmlUnit ในการโหลดหน้าเว็บครั้งแรกจากนั้นรับแหล่งที่มาและแยกวิเคราะห์ ฉันอยากรู้ว่าตัวแยกวิเคราะห์ HTML ตัวใดดีที่สุด ตัวแยกวิเคราะห์จะดีกว่าถ้าอยู่ใกล้กับตัวแยกวิเคราะห์ HtmlUnit แก้ไข: โดยที่ดีที่สุดฉันต้องการคุณสมบัติอย่างน้อยต่อไปนี้: ความเร็ว ความง่ายดายในการค้นหา HtmlElement ใด ๆ ด้วย "id" หรือ "name" หรือ "tag type" มันคงจะโอเคสำหรับฉันถ้ามันไม่ทำความสะอาดโค้ด HTML ที่สกปรก ฉันไม่จำเป็นต้องล้างซอร์ส HTML ใด ๆ ฉันต้องการวิธีที่ง่ายที่สุดในการเคลื่อนย้ายข้าม HtmlElements และเก็บเกี่ยวข้อมูลจากพวกเขา

20
การใช้ java.lang.String.intern () เป็นเรื่องที่ดีหรือไม่?
Javadoc เกี่ยวกับString.intern()ไม่ให้รายละเอียดมาก (โดยสรุป: มันจะส่งคืนการแทนค่าแบบบัญญัติของสตริงซึ่งอนุญาตให้เปรียบเทียบสตริงที่ใช้==) ฉันจะใช้ฟังก์ชันนี้เมื่อใด String.equals() ? มีผลข้างเคียงที่ไม่ได้กล่าวถึงใน Javadoc คือการเพิ่มประสิทธิภาพมากขึ้นหรือน้อยลงโดยคอมไพเลอร์ JIT หรือไม่? มีการใช้เพิ่มเติมString.intern()หรือไม่
194 java  string 


14
ผู้แทน Java
ภาษา Java มีคุณสมบัติของผู้ร่วมประชุมคล้ายกับที่ C # มีการสนับสนุนสำหรับผู้ได้รับมอบหมายหรือไม่?
194 java  delegates 

1
ผลลัพธ์ที่แตกต่างกับสรุปย่อของ Java เทียบกับโปรแกรมอรรถประโยชน์ภายนอก
ฉันได้เขียนคลาส Java อย่างง่ายเพื่อสร้างค่าแฮชของไฟล์ Windows Calculator Windows 7 Professional with SP1ฉันใช้ ฉันได้พยายามและJava 6.0.29 Java 7.0.03มีคนบอกฉันได้หรือไม่ว่าทำไมฉันถึงได้รับค่าแฮชที่แตกต่างจาก Java กับยูทิลิตี้ภายนอกและ / หรือเว็บไซต์มากมาย ทุกอย่างตรงกับภายนอกซึ่งมีเพียง Java เท่านั้นที่ให้ผลลัพธ์ที่แตกต่างกัน import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.LinkedHashMap; import java.util.Map; import java.util.Map.Entry; import java.util.zip.CRC32; import java.security.DigestInputStream; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class Checksum { private static int …
194 java  windows  md5  digest  wow64 

10
ความแตกต่างระหว่าง List, List <?>, List <T>, List <E> และ List <Object>
อะไรคือความแตกต่างระหว่างList, List&lt;?&gt;, List&lt;T&gt;, List&lt;E&gt;และList&lt;Object&gt;? 1. รายการ List: typesafeเป็นชนิดดิบดังนั้นจึงไม่ มันจะสร้างข้อผิดพลาดรันไทม์เฉพาะเมื่อแคสต์ไม่ดี เราต้องการข้อผิดพลาดในการรวบรวมเวลาเมื่อนักแสดงไม่ดี ไม่แนะนำให้ใช้ 2. รายการ &lt;?&gt; List&lt;?&gt;เป็นอักขระตัวแทนที่ไม่มีขีด จำกัด แต่ฉันไม่แน่ใจว่ามันมีไว้เพื่ออะไร? ฉันสามารถพิมพ์ได้List&lt;?&gt;โดยไม่มีปัญหา: public static void test(List&lt;?&gt; list){ System.out.println(list); // Works } ทำไมฉันไม่สามารถเพิ่มรายการลงใน a List&lt;?&gt;? public static void test(List&lt;?&gt; list){ list.add(new Long(2)); // Error list.add("2"); // Error System.out.println(list); } 3. รายการ &lt;T&gt; public static void …
194 java  generics 


14
วิธีสร้างสี N "ที่แตกต่าง" โดยอัตโนมัติอย่างไร
ฉันเขียนสองวิธีด้านล่างเพื่อเลือกสีที่แตกต่าง N โดยอัตโนมัติ มันทำงานได้โดยการกำหนดฟังก์ชั่นเชิงเส้นเป็นชิ้น ๆ บนลูกบาศก์ RGB ประโยชน์ของการทำเช่นนี้คือคุณสามารถได้รับสเกลที่ก้าวหน้าถ้านั่นคือสิ่งที่คุณต้องการ แต่เมื่อ N มีขนาดใหญ่ขึ้นสีก็จะเริ่มคล้ายกัน ฉันยังสามารถจินตนาการการแบ่งลูกบาศก์ RGB ให้เท่า ๆ กันเป็นสี่เหลี่ยมและจากนั้นจึงวาดจุด ไม่มีใครรู้วิธีการอื่น ๆ ? ฉันกำลังพิจารณากำหนดรายการแล้วก็ขี่จักรยานผ่านมัน ฉันควรจะบอกด้วยว่าฉันไม่สนใจว่าพวกเขาปะทะกันหรือดูไม่ดีพวกเขาแค่ต้องมองเห็นได้ชัดเจน public static List&lt;Color&gt; pick(int num) { List&lt;Color&gt; colors = new ArrayList&lt;Color&gt;(); if (num &lt; 2) return colors; float dx = 1.0f / (float) (num - 1); for (int i …


4
การใช้วิธีการทั่วไป "any ()" ของ Mockito
ฉันมีอินเตอร์เฟซที่มีวิธีการที่คาดว่าอาร์เรย์ของFoo: public interface IBar { void doStuff(Foo[] arr); } ฉันกำลังเยาะเย้ยอินเทอร์เฟซนี้โดยใช้ Mockito และฉันต้องการยืนยันที่doStuff()เรียกว่า แต่ฉันไม่ต้องการที่จะตรวจสอบข้อโต้แย้งที่ผ่าน - "ไม่สนใจ" ฉันจะเขียนรหัสต่อไปนี้โดยใช้any()วิธีการทั่วไปได้anyObject()อย่างไร IBar bar = mock(IBar.class); ... verify(bar).doStuff((Foo[]) anyObject());

7
Class.getResource () และ ClassLoader.getResource () แตกต่างกันอย่างไร?
ฉันสงสัยว่าความแตกต่างระหว่างClass.getResource()และเป็นClassLoader.getResource()อย่างไร แก้ไข: ฉันต้องการทราบเป็นพิเศษหากแคชใด ๆ ที่เกี่ยวข้องในระดับไฟล์ / ไดเรกทอรี เช่นเดียวกับใน "รายการไดเรกทอรีถูกแคชในรุ่น Class?" AFAIK ต่อไปนี้ควรทำเช่นเดียวกัน แต่ไม่: getClass().getResource() getClass().getClassLoader().getResource() ฉันค้นพบสิ่งนี้เมื่อเล่นซอกับรหัสการสร้างรายงานที่สร้างไฟล์ใหม่WEB-INF/classes/จากไฟล์ที่มีอยู่ในไดเรกทอรีนั้น เมื่อใช้วิธีการจากชั้นเรียนฉันสามารถค้นหาไฟล์ที่มีเมื่อใช้งานโดยใช้getClass().getResource()แต่เมื่อพยายามดึงไฟล์ที่สร้างขึ้นใหม่ฉันได้รับวัตถุที่ไม่มีค่า การเรียกดูไดเรกทอรีอย่างชัดเจนแสดงว่ามีไฟล์ใหม่ ชื่อไฟล์ถูกต่อท้ายด้วยเครื่องหมายสแลชเช่นเดียวกับใน "/myFile.txt" ในทางกลับกันClassLoaderเวอร์ชั่นของเวอร์ชั่นgetResource()ก็พบไฟล์ที่สร้างขึ้น จากประสบการณ์นี้ดูเหมือนว่าจะมีการแคชรายการไดเรกทอรีที่เกิดขึ้น ฉันถูกและถ้าเป็นเช่นนั้นเอกสารนี้อยู่ที่ไหน? จากAPI เอกสารบนClass.getResource() ค้นหาทรัพยากรที่มีชื่อที่กำหนด กฎสำหรับการค้นหาทรัพยากรที่เกี่ยวข้องกับคลาสที่กำหนดถูกนำไปใช้โดยการกำหนดคลาสโหลดเดอร์ของคลาส วิธีนี้มอบให้กับ class loader ของวัตถุนี้ หากวัตถุนี้ถูกโหลดโดยตัวโหลดคลาส bootstrap วิธีจะมอบหมายให้ ClassLoader.getSystemResource (java.lang.String) สำหรับฉันการอ่านนี้ "Class.getResource เรียกชื่อ getResource () ของ classloader ของมันเอง" getClass().getClassLoader().getResource()ซึ่งก็จะเป็นเช่นเดียวกับการทำ แต่เห็นได้ชัดว่าไม่ใช่ มีใครช่วยเล่าเรื่องนี้ให้ฉันฟังหน่อยได้ไหม?

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