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

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

8
การแทนที่สตริงใน java คล้ายกับเทมเพลตความเร็ว
มีStringกลไกการแทนที่ใน Java หรือไม่ที่ฉันสามารถส่งผ่านวัตถุด้วยข้อความและแทนที่สตริงเมื่อมันเกิดขึ้น ตัวอย่างเช่นข้อความคือ: Hello ${user.name}, Welcome to ${site.name}. วัตถุที่ฉันมีอยู่และ"user" "site"ฉันต้องการแทนที่สตริงที่ระบุภายใน${}ด้วยค่าที่เทียบเท่าจากอ็อบเจ็กต์ สิ่งนี้เหมือนกับที่เราแทนที่วัตถุในเทมเพลตความเร็ว

2
การใช้ PreparedStatement ซ้ำหลาย ๆ ครั้ง
ในกรณีของการใช้ PreparedStatement กับการเชื่อมต่อทั่วไปเพียงครั้งเดียวโดยไม่มีพูลใด ๆ ฉันสามารถสร้างอินสแตนซ์ใหม่สำหรับการดำเนินการ dml / sql ทุกครั้งที่มีอำนาจของคำสั่งที่เตรียมไว้ได้หรือไม่ ฉันหมายถึง: for (int i=0; i<1000; i++) { PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setObject(1, someValue); preparedStatement.executeQuery(); preparedStatement.close(); } แทน: PreparedStatement preparedStatement = connection.prepareStatement(sql); for (int i=0; i<1000; i++) { preparedStatement.clearParameters(); preparedStatement.setObject(1, someValue); preparedStatement.executeQuery(); } preparedStatement.close(); คำถามของฉันเกิดจากการที่ฉันต้องการใส่รหัสนี้ในสภาพแวดล้อมแบบมัลติเธรดคุณสามารถให้คำแนะนำได้หรือไม่? ขอบคุณ


2
พิมพ์ธง JVM ทั้งหมด
พบ JVM Flag ที่น่าสนใจ: java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version มันพิมพ์ตัวเลือกต่างๆมากมายหลายร้อยแบบฉันไม่เคยได้ยินมาก่อน นอกจากนี้ยังพิมพ์ค่าเริ่มต้นซึ่งช่วยในการวินิจฉัยพฤติกรรมของ JVM ได้ดีขึ้น ธงที่น่าสนใจอีกประการหนึ่งคือ: -XX:+UnlockExperimentalVMOptions มีใครรู้เอกสารที่อธิบายแต่ละคนบ้างไหม

3
JsonParseException: อักขระที่ไม่ได้ใส่เครื่องหมายที่ผิดกฎหมาย ((CTRL-CHAR รหัส 10)
ฉันกำลังพยายามใช้org.apache.httpcomponentsRest API ซึ่งจะโพสต์ข้อมูลรูปแบบ JSON ไปยัง API ฉันได้รับข้อยกเว้นนี้: เกิดจาก: com.fasterxml.jackson.core.JsonParseException: อักขระที่ไม่ได้ใส่เครื่องหมายที่ไม่ถูกต้อง ((CTRL-CHAR, รหัส 10)): ต้องมีการหลีกเลี่ยงโดยใช้แบ็กสแลชเพื่อรวมอยู่ในสตริง สาเหตุเป็นเพราะctrl-charรวมอยู่ในสตริง JSON มีวิธีใดบ้างที่จะแทนที่วิธีนี้หรือวิธีอื่น ๆ


11
Java การเปลี่ยนสตริงย่อยที่แตกต่างกันหลายสตริงพร้อมกัน (หรือด้วยวิธีที่มีประสิทธิภาพสูงสุด)
ฉันต้องการแทนที่สตริงย่อยที่แตกต่างกันหลายสตริงด้วยวิธีที่มีประสิทธิภาพสูงสุด มีวิธีอื่นอีกหรือไม่ที่เป็นวิธีการบังคับที่ดุร้ายในการแทนที่แต่ละฟิลด์โดยใช้ string.replace
98 java  string  replace 

6
การสืบทอดหลายรายการสำหรับคลาสที่ไม่ระบุชื่อ
คลาสที่ไม่ระบุชื่อสามารถใช้สองอินเทอร์เฟซ (หรือมากกว่า) ได้อย่างไร? หรืออีกวิธีหนึ่งวิธีที่สามารถมันทั้งขยายชั้นเรียนและการใช้อินเตอร์เฟซอยู่แล้ว? ตัวอย่างเช่นฉันต้องการสร้างออบเจ็กต์ของคลาสที่ไม่ระบุชื่อที่ขยายสองอินเทอร์เฟซ: // Java 10 "var" is used since I don't know how to specify its type var lazilyInitializedFileNameSupplier = (new Supplier<String> implements AutoCloseable)() { private String generatedFileName; @Override public String get() { // Generate file only once if (generatedFileName == null) { generatedFileName = generateFile(); } …


26
ใน Eclipse สิ่งใดที่ทำให้เกิดข้อผิดพลาดไอคอน "red-x" ของ Package Explorer เมื่อแหล่งที่มาของ Java ทั้งหมดคอมไพล์โดยไม่มีข้อผิดพลาด
ฉันใช้ Eclipse สำหรับการพัฒนา Java แหล่งที่มาทั้งหมดของฉันรวบรวมได้ดีและแอปพลิเคชันที่เป็นผลลัพธ์ก็รวบรวมได้ อย่างไรก็ตามฉันได้รับการแจ้งเตือนข้อผิดพลาด "red-x" ใน Package Explorer แหล่งที่มาทั้งหมดของฉันในไดเร็กทอรีต้นทางนี้ (ยาวเกินไปสำหรับสแนปชอต) คอมไพล์ได้ดีไม่มีไอคอนแสดงข้อผิดพลาด "red-x" ข้อเสนอแนะใด ๆ เกี่ยวกับวิธีแก้ไขปัญหาจะได้รับการชื่นชมอย่างมาก
98 java  eclipse 

7
JPA: การลบแบบหลายทิศทางแบบหลายทิศทางและแบบเรียงซ้อน
สมมติว่าฉันมีความสัมพันธ์แบบทิศทางเดียว @ManyToOneดังต่อไปนี้: @Entity public class Parent implements Serializable { @Id @GeneratedValue private long id; } @Entity public class Child implements Serializable { @Id @GeneratedValue private long id; @ManyToOne @JoinColumn private Parent parent; } ถ้าฉันมีพ่อแม่ P และลูก C 1 ... C nอ้างอิงกลับไปที่ P มีวิธีที่สะอาดและสวยงามใน JPA เพื่อเอาเด็กออกโดยอัตโนมัติ C 1 ... C nเมื่อ …

9
จะล็อคคลาส Java ที่คอมไพล์แล้วเพื่อป้องกันการถอดรหัสได้อย่างไร?
ฉันจะล็อกคลาส Java ที่คอมไพล์แล้วเพื่อป้องกันการถอดรหัสได้อย่างไร ฉันรู้ว่านี่จะต้องเป็นหัวข้อที่พูดคุยกันอย่างดีบนอินเทอร์เน็ต แต่ฉันไม่สามารถหาข้อสรุปใด ๆ ได้หลังจากอ้างอิงถึง หลายคนแนะนำ obfuscator แต่พวกเขาแค่เปลี่ยนชื่อคลาสวิธีการและฟิลด์ด้วยลำดับอักขระที่ยากต่อการจดจำ แต่แล้วค่าคงที่ที่ละเอียดอ่อนล่ะ? ตัวอย่างเช่นคุณได้พัฒนาองค์ประกอบการเข้ารหัสและการถอดรหัสโดยใช้เทคนิคการเข้ารหัสตามรหัสผ่าน ในกรณีนี้คน Java ทั่วไปสามารถใช้JADเพื่อถอดรหัสไฟล์คลาสและดึงค่ารหัสผ่าน (กำหนดเป็นค่าคงที่) รวมทั้งเกลือได้อย่างง่ายดายและในทางกลับกันสามารถถอดรหัสข้อมูลโดยการเขียนโปรแกรมอิสระขนาดเล็ก! หรือควรสร้างส่วนประกอบที่ละเอียดอ่อนดังกล่าวในโค้ดเนทีฟ (เช่น VC ++) และเรียกใช้ผ่านJNI ?
98 java  jvm  decompiling 

5
ดีบักแอ็พพลิเคชัน java โดยไม่เริ่ม JVM ด้วยอาร์กิวเมนต์ดีบัก
โดยปกติในการแนบดีบักเกอร์กับ jvm ที่รันอยู่คุณจะต้องเริ่ม jvm ด้วยอาร์กิวเมนต์ดังต่อไปนี้: > java -Xdebug -Xrunjdwp:transport=dt_socket,address=1000,server=y,suspend=n ตอนนี้ถ้าฉันต้องการดีบักกระบวนการที่ไม่ได้เริ่มในโหมดดีบักฉันจะทำอย่างไร? สถานการณ์นี้เกิดขึ้นเมื่อระบบการผลิต (เช่นเริ่มต้นโดยไม่มีอาร์กิวเมนต์ดีบัก) แสดงข้อผิดพลาด 'สุ่ม' (ฉันใช้คำว่าหลวม ๆ ) ดังนั้นฉันจึงไม่สามารถรีสตาร์ท jvm ด้วยอาร์กิวเมนต์ที่เหมาะสมได้เพราะไม่มีใครรู้วิธีสร้างจุดบกพร่องอีกครั้ง เป็นไปไม่ได้ที่จะแนบ JVM ในสถานการณ์นี้หรือไม่? เพียงเพื่อชี้แจงว่าเป็นไปไม่ได้ที่จะใช้เครื่องมือเช่น jdb เพื่อแนบกับ JVM ที่รันอยู่แล้วเว้นแต่จะเริ่มต้นในโหมดดีบัก จากหน้า JVM man อีกวิธีในการใช้ jdb คือการเชื่อมต่อกับ Java VM ที่กำลังทำงานอยู่ VM ที่จะดีบักด้วย jdb ต้องเริ่มต้นด้วยตัวเลือกต่อไปนี้:

13
Java: การเรียกใช้ super method ซึ่งเรียกว่า overridden method
public class SuperClass { public void method1() { System.out.println("superclass method1"); this.method2(); } public void method2() { System.out.println("superclass method2"); } } public class SubClass extends SuperClass { @Override public void method1() { System.out.println("subclass method1"); super.method1(); } @Override public void method2() { System.out.println("subclass method2"); } } public class Demo { public static …

4
วิธีแยกวิเคราะห์สตริง JSON ไปยังอาร์เรย์โดยใช้ Jackson
ฉันมีStringค่าต่อไปนี้: [ { "key1": "value11", "key2": "value12" }, { "key1": "value21", "key2": "value22" } ] และคลาสต่อไปนี้: public class SomeClass { private String key1; private String key2; /* ... getters and setters omitted ...*/ } และฉันต้องการแยกวิเคราะห์เป็น a List<SomeClass>หรือSomeClass[] ซึ่งเป็นวิธีที่ง่ายที่สุดในการทำโดยใช้แจ็คสัน ObjectMapper ?
98 java  json  jackson 

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