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

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

4
อะไรคือความแตกต่างระหว่าง JDK dynamic proxy และ CGLib?
ในกรณีของProxy Design Patternความแตกต่างระหว่างDynamic Proxy ของ JDK กับ API การสร้างรหัสแบบไดนามิกของบุคคลที่สามเช่นCGLibคืออะไร? อะไรคือความแตกต่างระหว่างการใช้ทั้งสองวิธีและเมื่อใดที่ควรจะใช้มากกว่ากัน?


12
Jackson - Deserialize โดยใช้คลาสทั่วไป
ฉันมีสตริง json ซึ่งฉันควร deSerialize ในชั้นเรียนต่อไปนี้ class Data <T> { int found; Class<T> hits } ฉันต้องทำอย่างไร? นี่เป็นวิธีปกติ mapper.readValue(jsonString, Data.class); แต่ฉันจะพูดถึงสิ่งที่ T หมายถึงได้อย่างไร
147 java  json  generics  jackson 

14
วิธีทดสอบโค้ดขึ้นอยู่กับตัวแปรสภาพแวดล้อมโดยใช้ JUnit
ฉันมีโค้ด Java ชิ้นหนึ่งซึ่งใช้ตัวแปรสภาพแวดล้อมและพฤติกรรมของโค้ดขึ้นอยู่กับค่าของตัวแปรนี้ ฉันต้องการทดสอบรหัสนี้ด้วยค่าตัวแปรสภาพแวดล้อมที่แตกต่างกัน ฉันจะทำสิ่งนี้ใน JUnit ได้อย่างไร? ฉันเคยเห็นวิธีตั้งค่าตัวแปรสภาพแวดล้อมใน Javaโดยทั่วไปแล้ว แต่ฉันสนใจด้านการทดสอบหน่วยมากกว่าโดยเฉพาะอย่างยิ่งเมื่อพิจารณาว่าการทดสอบไม่ควรรบกวนซึ่งกันและกัน

9
คุณสมบัติ Bytecode ไม่มีให้บริการในภาษา Java
ปัจจุบันมี (Java 6) สิ่งที่คุณสามารถทำได้ใน Java bytecode ที่คุณไม่สามารถทำได้จากในภาษา Java หรือไม่? ฉันรู้ว่าทั้งทัวริงสมบูรณ์ดังนั้นอ่าน "สามารถทำได้" ในฐานะ "สามารถทำได้เร็วกว่า / ดีกว่าหรือในวิธีที่ต่างออกไป" ฉันกำลังคิดว่าจะใช้โค้ดไบต์พิเศษinvokedynamicซึ่งไม่สามารถสร้างขึ้นได้โดยใช้ Java ยกเว้นว่าจะเป็นรุ่นเฉพาะสำหรับรุ่นในอนาคต
146 java  jvm  bytecode 


7
เหตุใดการเปลี่ยนแปลงตัวแปรที่ส่งคืนในบล็อกในที่สุดจึงไม่เปลี่ยนค่าส่งคืน
ฉันมีคลาส Java ง่ายๆดังที่แสดงด้านล่าง: public class Test { private String s; public String foo() { try { s = "dev"; return s; } finally { s = "override variable s"; System.out.println("Entry in finally Block"); } } public static void main(String[] xyz) { Test obj = new Test(); System.out.println(obj.foo()); } } และผลลัพธ์ของรหัสนี้คือ: …
146 java  try-finally 

10
อธิบายสถาปัตยกรรมที่คุณใช้สำหรับเว็บแอปพลิเคชัน Java หรือไม่ [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ มาแบ่งปันสถาปัตยกรรมแอปพลิเคชันบนเว็บของ Java กันเถอะ! มีสถาปัตยกรรมที่แตกต่างกันมากมายสำหรับเว็บแอปพลิเคชันซึ่งจะนำไปใช้งานโดยใช้ Java คำตอบสำหรับคำถามนี้อาจทำหน้าที่เป็นห้องสมุดของการออกแบบเว็บแอปพลิเคชันที่หลากหลายด้วยข้อดีข้อเสีย ในขณะที่ฉันรู้ว่าคำตอบจะเป็นอัตนัยลองเป็นเป้าหมายให้มากที่สุดเท่าที่จะทำได้และกระตุ้นให้เกิดข้อดีและข้อเสียที่เรามี ใช้ระดับรายละเอียดที่คุณต้องการสำหรับอธิบายสถาปัตยกรรมของคุณ เพื่อให้คำตอบของคุณมีค่าอย่างน้อยที่สุดคุณจะต้องอธิบายเทคโนโลยีและแนวคิดหลักที่ใช้ในสถาปัตยกรรมที่คุณอธิบาย และสุดท้าย แต่ไม่น้อยเมื่อเราควรใช้สถาปัตยกรรมของคุณหรือไม่ ฉันจะเริ่ม ... ภาพรวมของสถาปัตยกรรม เราใช้สถาปัตยกรรม 3 ชั้นตามมาตรฐานแบบเปิดจาก Sun เช่น Java EE, Java Persistence API, Servlet และ Java Server Pages วิริยะ ธุรกิจ การเสนอ การสื่อสารที่เป็นไปได้ระหว่างเลเยอร์ถูกแทนด้วย: Persistence <-> Business <-> Presentation ตัวอย่างเช่นหมายความว่าเลเยอร์การนำเสนอไม่เคยโทรหรือทำการดำเนินการติดตามันทำผ่านเลเยอร์ธุรกิจเสมอ สถาปัตยกรรมนี้มีขึ้นเพื่อตอบสนองความต้องการของเว็บแอพพลิเคชันที่มีความพร้อมใช้งานสูง วิริยะ ดำเนินการสร้างอ่านอ่านอัปเดตและลบ …

20
ฉันจะอ่านสตริงตัวเลขในเซลล์ Excel เป็นสตริงได้อย่างไร (ไม่ใช่ตัวเลข)
ฉันมีไฟล์ excel พร้อมเนื้อหาดังกล่าว: A1: SomeString A2: 2 ฟิลด์ทั้งหมดถูกตั้งค่าเป็นรูปแบบสตริง เมื่อฉันอ่านไฟล์ใน java โดยใช้ POI มันจะบอกว่า A2 อยู่ในรูปแบบเซลล์ตัวเลข ปัญหาคือค่าใน A2 สามารถเป็น 2 หรือ 2.0 (และฉันต้องการแยกแยะได้) ดังนั้นฉันจึงไม่สามารถใช้งาน.toString()ได้ ฉันจะทำอย่างไรเพื่ออ่านค่าเป็นสตริง
146 java  excel  apache-poi 

5
ทำไม Java ไม่อนุญาตให้มีคลาสย่อยทั่วไปของ Throwable
ตามการแยกภาษา Javaรุ่นที่ 3: มันเป็นข้อผิดพลาดเวลารวบรวมถ้าระดับทั่วไปเป็น subclass Throwableโดยตรงหรือโดยอ้อมของ ฉันต้องการเข้าใจว่าทำไมการตัดสินใจครั้งนี้จึงเกิดขึ้น เกิดอะไรขึ้นกับข้อยกเว้นทั่วไป (เท่าที่ฉันรู้ generics เป็นเพียงการรวบรวมเวลา syntactic น้ำตาลและพวกเขาจะถูกแปลเป็นObjectอย่างไรก็ตามใน.classไฟล์ดังนั้นการประกาศคลาสทั่วไปอย่างมีประสิทธิภาพราวกับว่าทุกอย่างในนั้นเป็นObjectโปรดแก้ไขให้ฉันถ้าฉันผิด .)

27
รับชื่อไฟล์จาก URL
ใน Java ให้java.net.URLหรือStringในรูปแบบhttp://www.example.com/some/path/to/a/file.xmlวิธีที่ง่ายที่สุดในการรับชื่อไฟล์คือลบส่วนขยาย? "file"ดังนั้นในตัวอย่างนี้ผมกำลังมองหาบางสิ่งบางอย่างที่ผลตอบแทน ฉันคิดหลายวิธีในการทำเช่นนี้ แต่ฉันกำลังมองหาสิ่งที่ง่ายต่อการอ่านและสั้น
146 java  file  parsing  url  filenames 

20
ทำให้จำนวนลบเป็นบวก
ฉันมีวิธีการจาวาที่ฉันรวมชุดของตัวเลข อย่างไรก็ตามฉันต้องการให้ตัวเลขเชิงลบใด ๆ ถูกถือว่าเป็นผลบวก ดังนั้น (1) + (2) + (1) + (- 1) ควรเท่ากับ 5 ฉันแน่ใจว่ามีวิธีง่าย ๆ ในการทำเช่นนี้ - ฉันไม่รู้

11
จะส่งพารามิเตอร์ไปยังคลาสที่ไม่ระบุชื่อได้อย่างไร
เป็นไปได้ไหมที่จะส่งผ่านพารามิเตอร์หรือเข้าถึงพารามิเตอร์ภายนอกไปยังคลาสที่ไม่ระบุชื่อ ตัวอย่างเช่น: int myVariable = 1; myButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // How would one access myVariable here? } }); มีวิธีใดบ้างสำหรับผู้ฟังที่เข้าถึง myVariable หรือผ่าน myVariable โดยไม่ต้องสร้าง listener เป็นคลาสที่มีชื่อจริง?

12
Java - สตริงการยกเว้นเพื่อป้องกันการฉีด SQL
ฉันพยายามใส่ anti sql injection ใน java และฉันพบว่ามันยากมากที่จะทำงานกับฟังก์ชั่นสตริง "replaceAll" ในที่สุดฉันต้องฟังก์ชั่นที่จะแปลงใด ๆ ที่มีอยู่\ในการ\\ใด ๆ"เพื่อ\"ใด ๆ'ไป\'และใด ๆ\nไป\\nเพื่อที่ว่าเมื่อสตริงจะถูกประเมินโดยการฉีด MySQL SQL จะถูกปิดกั้น ฉันได้เพิ่มโค้ดบางส่วนที่ฉันทำงานด้วยและ\\\\\\\\\\\ฟังก์ชั่นทั้งหมดทำให้ตาของฉันแย่ลง หากใครเกิดขึ้นมีตัวอย่างของเรื่องนี้ฉันจะขอบคุณมันมาก

7
มีวิธีใดบ้างที่จะเรียกใช้วิธีการส่วนตัว
ฉันมีคลาสที่ใช้ XML และการสะท้อนเพื่อส่งคืนObjects ไปยังคลาสอื่น โดยปกติวัตถุเหล่านี้เป็นฟิลด์ย่อยของวัตถุภายนอก แต่บางครั้งมันเป็นสิ่งที่ฉันต้องการสร้างได้ทันที ฉันลองอะไรแบบนี้ แต่ก็ไม่มีประโยชน์ ฉันเชื่อว่าเป็นเพราะ Java ไม่อนุญาตให้คุณเข้าถึงprivateวิธีการไตร่ตรอง Element node = outerNode.item(0); String methodName = node.getAttribute("method"); String objectName = node.getAttribute("object"); if ("SomeObject".equals(objectName)) object = someObject; else object = this; method = object.getClass().getMethod(methodName, (Class[]) null); หากวิธีการที่ให้มันล้มเหลวด้วยprivate NoSuchMethodExceptionฉันสามารถแก้มันได้โดยการทำวิธีpublicหรือทำให้คลาสอื่นได้มาจาก เรื่องสั้นสั้นฉันแค่สงสัยว่ามีวิธีการเข้าถึงprivateวิธีการสะท้อน
146 java  reflection  private 

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