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

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

15
สตริง Java ไม่เปลี่ยนรูปจริงๆหรือ
เราทุกคนรู้ว่าStringไม่เปลี่ยนรูปแบบใน Java แต่ตรวจสอบรหัสต่อไปนี้: String s1 = "Hello World"; String s2 = "Hello World"; String s3 = s1.substring(6); System.out.println(s1); // Hello World System.out.println(s2); // Hello World System.out.println(s3); // World Field field = String.class.getDeclaredField("value"); field.setAccessible(true); char[] value = (char[])field.get(s1); value[6] = 'J'; value[7] = 'a'; value[8] = 'v'; value[9] = 'a'; value[10] …

15
เปิดตัว Google Maps Directions ผ่าน Android
แอพของฉันต้องแสดงเส้นทาง Google Maps จาก A ถึง B แต่ฉันไม่ต้องการใส่ Google Maps ไว้ในแอปพลิเคชันของฉัน - แทนฉันต้องการเปิดใช้งานด้วยเจตนา เป็นไปได้ไหม ถ้าใช่เป็นอย่างไร

8
IntelliJ - แปลงโครงการ / โมดูล Java เป็นโครงการ / โมดูล Maven
ฉันมีโครงการใน Bitbucket เฉพาะแหล่งที่มาเท่านั้น ในการดึงโปรเจ็กต์ไปยังเครื่องใหม่ฉันใช้การควบคุมเวอร์ชัน> ชำระเงินจากการควบคุมเวอร์ชันจากภายใน IntelliJ จากนั้นจะถามว่าฉันต้องการสร้างโครงการใหม่จากแหล่งนี้หรือไม่ซึ่งฉันตอบว่าใช่ จนถึงตอนนี้ดีมาก มันสร้างโปรเจ็กต์เล็ก ๆ ที่ดีสำหรับฉันซึ่งประกอบด้วยโมดูลเดียว อย่างไรก็ตามเป้าหมายของฉันในการดึงโครงการนี้เข้าสู่ IntelliJ คือเปลี่ยนเป็นโครงการ Maven ฉันไม่พบตัวเลือกใด ๆ ที่จะให้ฉันทำเช่นนี้! มีวิธีที่จะทำให้ IntelliJ เพิ่งสร้าง pom.xml ว่างเปล่าขั้นพื้นฐานสำหรับฉันด้วยชื่อและ artifactId และที่เก็บหรือไม่? หรือมีวิธีการนำเข้าโครงการเป็นโครงการ Maven ตั้งแต่แรกไหม (เมื่อใดก็ตามที่ฉันพยายามสร้างโครงการจากแหล่งที่มีอยู่จะให้ตัวเลือกของโครงการ Java เท่านั้น)

14
กลุ่มเธรดที่กำหนดเองใน Java 8 กระแสขนาน
เป็นไปได้หรือไม่ที่จะระบุเธรดพูลที่กำหนดเองสำหรับ Java 8 stream แบบขนาน ? ฉันไม่สามารถหาได้ทุกที่ ลองนึกภาพว่าฉันมีเซิร์ฟเวอร์แอปพลิเคชันและฉันต้องการใช้กระแสข้อมูลแบบขนาน แต่แอปพลิเคชั่นนั้นมีขนาดใหญ่และมีหลายเธรดดังนั้นฉันจึงต้องการแบ่งย่อยมัน ฉันไม่ต้องการให้งานที่รันช้าในหนึ่งโมดูลของงาน applicationblock จากโมดูลอื่น ถ้าฉันไม่สามารถใช้เธรดพูลที่แตกต่างกันสำหรับโมดูลที่แตกต่างกันก็หมายความว่าฉันไม่สามารถใช้สตรีมแบบขนานได้อย่างปลอดภัยในสถานการณ์จริงส่วนใหญ่ ลองตัวอย่างต่อไปนี้ มีงานที่ใช้งาน CPU มากในหัวข้อแยกต่างหาก งานยกระดับกระแสขนาน ภารกิจแรกถูกทำลายดังนั้นแต่ละขั้นตอนใช้เวลา 1 วินาที (จำลองโดยการนอนหลับของเธรด) ปัญหาคือเธรดอื่นค้างและรอให้งานที่เสียหายเสร็จสิ้น นี่เป็นตัวอย่างที่วางแผนไว้ แต่ลองนึกภาพแอป servlet และมีคนส่งงานที่ใช้เวลานานไปยังกลุ่มการเข้าร่วมส้อมที่ใช้ร่วมกัน public class ParallelTest { public static void main(String[] args) throws InterruptedException { ExecutorService es = Executors.newCachedThreadPool(); es.execute(() -> runTask(1000)); //incorrect task es.execute(() -> …


11
Spring มีอะไรในโลกบ้าง
ฉันยังไม่พบคำจำกัดความระดับสูงของ Spring beans ที่ฉันสามารถเข้าใจได้ ฉันเห็นพวกเขาอ้างถึงบ่อยครั้งในเอกสารและหนังสือของ Grails แต่ฉันคิดว่าการเข้าใจในสิ่งที่พวกเขาจะเป็นประโยชน์ ดังนั้น Spring Spring คืออะไร? พวกเขาจะถูกนำไปใช้อย่างไร? พวกเขามีบางอย่างเกี่ยวกับการฉีดพึ่งพาหรือไม่
397 java  spring  grails 

13
ข้อผิดพลาด“ ไม่สามารถหาสัญลักษณ์” หรือ“ ไม่สามารถแก้ไขสัญลักษณ์” หมายความว่าอะไร
โปรดอธิบายต่อไปนี้เกี่ยวกับข้อผิดพลาด "ไม่สามารถหาสัญลักษณ์" และ "ไม่สามารถแก้ไขสัญลักษณ์": พวกเขาหมายถึงอะไร? สิ่งใดที่สามารถทำให้พวกเขา โปรแกรมเมอร์ไปเกี่ยวกับการแก้ไขได้อย่างไร คำถามนี้ได้รับการออกแบบมาเพื่อรวบรวมคำถามและคำตอบที่ครอบคลุมเกี่ยวกับข้อผิดพลาดทั่วไปในการรวบรวมใน Java

11
ความแตกต่างที่แท้จริงระหว่าง“ java -server” และ“ java -client”?
มีความแตกต่างในทางปฏิบัติระหว่าง "java -server" และ "java -client" หรือไม่? ทั้งหมดที่ฉันสามารถหาได้บนเว็บไซต์ของ Sun นั้นค่อนข้างคลุมเครือ "- เซิร์ฟเวอร์เริ่มช้าลง แต่ควรทำงานได้เร็วขึ้น" ความแตกต่างที่แท้จริงคืออะไร? (ขณะนี้ใช้ JDK 1.6.0_07)
394 java  jvm  jvm-hotspot 

21
เชื่อถือใบรับรองทั้งหมดโดยใช้ HttpClient ผ่าน HTTPS
โพสต์เมื่อเร็ว ๆ นี้คำถามเกี่ยวกับHttpClientมากกว่า Https ( พบที่นี่ ) ฉันมีความคืบหน้าบ้าง แต่ฉันพบปัญหาใหม่ เช่นเดียวกับปัญหาล่าสุดของฉันฉันไม่สามารถหาตัวอย่างที่เหมาะกับฉันได้ โดยทั่วไปฉันต้องการให้ลูกค้าของฉันยอมรับใบรับรองใด ๆ (เพราะฉันเคยชี้ไปที่เซิร์ฟเวอร์เดียว) แต่ฉันได้รับjavax.net.ssl.SSLException: Not trusted server certificate exception. ดังนั้นนี่คือสิ่งที่ฉันมี: public void connect() throws A_WHOLE_BUNCH_OF_EXCEPTIONS { HttpPost post = new HttpPost(new URI(PROD_URL)); post.setEntity(new StringEntity(BODY)); KeyStore trusted = KeyStore.getInstance("BKS"); trusted.load(null, "".toCharArray()); SSLSocketFactory sslf = new SSLSocketFactory(trusted); sslf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); SchemeRegistry schemeRegistry = new …

28
วิธีพิมพ์สตริงแบบสอบถามที่มีค่าพารามิเตอร์เมื่อใช้ Hibernate
เป็นไปได้ไหมที่ Hibernate ที่จะพิมพ์แบบสอบถาม SQL ที่สร้างขึ้นด้วยค่าจริงแทนที่จะทำเครื่องหมายคำถาม? คุณจะแนะนำให้พิมพ์คิวรีที่มีค่าจริงอย่างไรหากไม่สามารถทำได้ด้วย Hibernate API
393 java  sql  hibernate  orm 


18
ทำไมตัวเลือก Java 8 จึงไม่ควรใช้ในการโต้แย้ง
ฉันได้อ่านบนเว็บไซต์หลายแห่งทางเลือกควรใช้เป็นประเภทส่งคืนเท่านั้นและไม่ได้ใช้ในการโต้แย้งเมธอด ฉันกำลังดิ้นรนเพื่อหาเหตุผลเชิงเหตุผล ตัวอย่างเช่นฉันมีชิ้นส่วนของตรรกะซึ่งมี 2 พารามิเตอร์ทางเลือก ดังนั้นฉันคิดว่ามันสมเหตุสมผลที่จะเขียนลายเซ็นวิธีของฉันเช่นนี้ (โซลูชันที่ 1): public int calculateSomething(Optional<String> p1, Optional<BigDecimal> p2 { // my logic } หน้าเว็บจำนวนมากระบุตัวเลือกที่ไม่ควรใช้เป็นข้อโต้แย้งวิธี ด้วยสิ่งนี้ในใจฉันสามารถใช้ลายเซ็นวิธีการต่อไปนี้และเพิ่มความคิดเห็น Javadoc ที่ชัดเจนเพื่อระบุว่าอาร์กิวเมนต์อาจเป็นโมฆะหวังว่าผู้ดูแลในอนาคตจะอ่าน Javadoc ดังนั้นจึงต้องทำการตรวจสอบ null ก่อนที่จะใช้อาร์กิวเมนต์ (โซลูชัน 2) : public int calculateSomething(String p1, BigDecimal p2) { // my logic } หรือฉันสามารถแทนที่วิธีของฉันด้วยวิธีสาธารณะสี่วิธีเพื่อให้อินเทอร์เฟซที่ดีกว่าและทำให้ p1 และ p2 ชัดเจนยิ่งขึ้นเป็นตัวเลือก (โซลูชัน 3): public int …
392 java  java-8  optional 

27
ติดตั้ง Java 7 บน Mac OS X แล้ว แต่ Terminal ยังใช้เวอร์ชัน 6 อยู่
ฉันติดตั้ง JDK 7u7 ที่ดาวน์โหลดจากเว็บไซต์ของ oracle แต่หลังจากการติดตั้งเทอร์มินัลยังคงแสดง java เวอร์ชัน 6 $java -version java version "1.6.0_35" Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811) Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode) ความคิดใดว่าทำไม java 7 ไม่ปรากฏขึ้น? ตอบ: ตกลงปัญหาได้รับการแก้ไขแล้ว นี่คือคำตอบ: ฉันพบว่าเทอร์มินัลของฉันมี. bash_profile และตัวแปร home java ถูกตั้งค่าเป็น 1.6 export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home" นี่คือบรรทัดที่ทำให้เกิดปัญหาทุกครั้งที่ฉันเปิดหน้าต่างเทอร์มินัลใหม่ เพียงแค่ลบบรรทัดนี้จะแก้ปัญหา คุณยังคงต้องทำตามสิ่งที่ @aleroot พูด …
391 java  macos  java-7 


9
การเข้ารหัสด้วยรหัสผ่าน AES Java 256 บิต
ฉันต้องใช้การเข้ารหัส AES 256 บิต แต่ตัวอย่างทั้งหมดที่ฉันพบออนไลน์ใช้ "KeyGenerator" เพื่อสร้างคีย์ 256 บิต แต่ฉันต้องการใช้รหัสผ่านของฉันเอง ฉันจะสร้างรหัสของตัวเองได้อย่างไร ฉันได้ลองขยายไปถึง 256 บิต แต่แล้วฉันก็พบข้อผิดพลาดที่บอกว่ากุญแจยาวเกินไป ฉันมีการติดตั้ง patch แบบไม่ จำกัด เขตอำนาจศาลดังนั้นจึงไม่ใช่ปัญหา :) กล่าวคือ KeyGenerator มีลักษณะเช่นนี้ ... // Get the KeyGenerator KeyGenerator kgen = KeyGenerator.getInstance("AES"); kgen.init(128); // 192 and 256 bits may not be available // Generate the secret key specs. SecretKey …

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