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

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

6
ข้อมูลจำเพาะหมายเลข L (ยาว) ของ Java
ดูเหมือนว่าเมื่อคุณพิมพ์ตัวเลขใน Java คอมไพลเลอร์จะอ่านเป็นจำนวนเต็มโดยอัตโนมัติซึ่งเป็นเหตุผลว่าทำไมเมื่อคุณพิมพ์ (long) 6000000000(ไม่อยู่ในช่วงของจำนวนเต็ม) มันจะบ่นว่า6000000000ไม่ใช่จำนวนเต็ม 6000000000Lการแก้ไขปัญหานี้ผมต้องระบุ ฉันเพิ่งเรียนรู้เกี่ยวกับสเปคนี้ มีข้อกำหนดตัวเลขอื่น ๆ เช่นสั้นไบต์ลอยคู่หรือไม่? ดูเหมือนว่าสิ่งเหล่านี้จะดีที่จะมีเพราะ (ฉันถือว่า) ถ้าคุณสามารถระบุหมายเลขที่คุณกำลังพิมพ์เป็นตัวย่อ java ก็ไม่ต้องแคสต์ - นั่นเป็นข้อสันนิษฐานโปรดแก้ไขฉันถ้าฉันผิด . ปกติฉันจะค้นหาคำถามนี้ด้วยตัวเอง แต่ฉันไม่รู้ว่าข้อกำหนดตัวเลขประเภทนี้เรียกว่าอะไร

7
จะรับค่า enum ทั้งหมดใน Java ได้อย่างไร?
ฉันเจอปัญหานี้โดยที่ฉันไม่รู้enumประเภทที่แท้จริงฉันต้องวนซ้ำค่าที่เป็นไปได้ if (value instanceof Enum){ Enum enumValue = (Enum)value; } มีแนวคิดอย่างไรในการดึงค่าจาก enumValue ค่าที่เป็นไปได้?
97 java  enums 


6
วิธีใช้ ConcurrentLinkedQueue
ฉันจะใช้ a ConcurrentLinkedQueueใน Java ได้อย่างไร เมื่อใช้สิ่งนี้LinkedQueueฉันต้องกังวลเกี่ยวกับการทำงานพร้อมกันในคิวหรือไม่ หรือฉันต้องกำหนดสองวิธี (วิธีหนึ่งเพื่อดึงองค์ประกอบจากรายการและอีกวิธีหนึ่งเพื่อเพิ่มองค์ประกอบในรายการ) หมายเหตุ: ต้องมีการซิงโครไนซ์สองวิธีนี้อย่างชัดเจน ขวา? แก้ไข:สิ่งที่ฉันพยายามทำคือ: ฉันมีคลาส (ใน Java) ที่มีวิธีการหนึ่งในการดึงข้อมูลจากคิวและอีกคลาสหนึ่งด้วยวิธีการหนึ่งในการเพิ่มไอเท็มลงในคิว รายการที่เพิ่มและดึงมาจากรายการเป็นวัตถุของคลาสของฉันเอง อีกคำถามหนึ่ง: ฉันต้องทำสิ่งนี้ในวิธีลบ: while (queue.size() == 0){ wait(); queue.poll(); } ฉันมีผู้บริโภคเพียงรายเดียวและผู้ผลิตรายเดียว
97 java  concurrency 

14
จะรับรายการของ windows / กระบวนการที่เปิดอยู่ในปัจจุบันด้วย Java ได้อย่างไร
มีใครทราบบ้างว่าฉันจะรับหน้าต่างที่เปิดอยู่ในปัจจุบันหรือกระบวนการของเครื่องโลคัลโดยใช้ Java ได้อย่างไร สิ่งที่ฉันพยายามทำคือ: แสดงรายการงานที่เปิดอยู่ในปัจจุบันหน้าต่างหรือกระบวนการที่เปิดอยู่เช่นใน Windows Taskmanager แต่ใช้วิธีการแบบหลายแพลตฟอร์มโดยใช้ Java เท่านั้นหากเป็นไปได้
97 java  process 

15
ฉันจะอ่านคลาสทั้งหมดจากแพ็คเกจ Java ใน classpath ได้อย่างไร
ฉันต้องการอ่านคลาสที่อยู่ในแพ็คเกจ Java ชั้นเรียนเหล่านั้นอยู่ใน classpath ฉันต้องทำงานนี้จากโปรแกรม Java โดยตรง คุณรู้วิธีง่ายๆในการทำหรือไม่? List<Class> classes = readClassesFrom("my.package")
97 java  reflection 

7
Mockito วิธีล้อเลียนเฉพาะการเรียกใช้วิธีการของ superclass
ฉันใช้ Mockito ในการทดสอบบางอย่าง ฉันมีชั้นเรียนต่อไปนี้: class BaseService { public void save() {...} } public Childservice extends BaseService { public void save(){ //some code super.save(); } } ฉันต้องการที่จะเยาะเย้ยเฉพาะสายที่สอง ( super.save) ChildServiceของ โทรครั้งแรกต้องโทรตามวิธีจริง มีวิธีทำไหม?
97 java  mockito 

10
ทำไมฉัน = i + ฉันให้ 0
ฉันมีโปรแกรมง่ายๆ: public class Mathz { static int i = 1; public static void main(String[] args) { while (true){ i = i + i; System.out.println(i); } } } เมื่อฉันเรียกใช้โปรแกรมนี้สิ่งที่ผมเห็นคือ0สำหรับiในการส่งออกของฉัน ฉันคาดหวังว่ารอบแรกเราจะมีi = 1 + 1ตามด้วยi = 2 + 2ตามด้วยi = 4 + 4ฯลฯ นี่เป็นเพราะทันทีที่เราพยายามประกาศใหม่iทางด้านซ้ายมือค่าของมันจะถูกรีเซ็ตเป็น0? หากใครสามารถชี้ให้ฉันเห็นรายละเอียดปลีกย่อยของสิ่งนี้จะดีมาก เปลี่ยนintไปlongและดูเหมือนว่าจะได้รับการพิมพ์ตัวเลขตามที่คาดไว้ ฉันประหลาดใจที่ความเร็วสูงสุดถึงค่าสูงสุด 32 บิต!

14
เหตุใดโค้ด Java นี้จึงคอมไพล์
ในขอบเขตของวิธีการหรือคลาสบรรทัดด้านล่างคอมไพล์ (พร้อมคำเตือน): int x = x = 1; ในขอบเขตระดับที่ตัวแปรได้รับค่าเริ่มต้นสิ่งต่อไปนี้ทำให้เกิดข้อผิดพลาด 'การอ้างอิงที่ไม่ได้กำหนด': int x = x + 1; x = x = 1ข้อผิดพลาด "การอ้างอิงที่ไม่ได้กำหนด" เป็นครั้งแรกไม่ใช่หรือ หรือบรรทัดที่สองint x = x + 1ควรรวบรวม? หรือมีบางอย่างที่ฉันขาดหายไป?

16
บันทึกการเริ่มต้น Tomcat - SEVERE: ตัวกรองข้อผิดพลาดเริ่มวิธีรับสแต็กแทร็ก?
เมื่อฉันเริ่ม Tomcat ฉันได้รับข้อผิดพลาดต่อไปนี้: Jun 10, 2010 5:17:25 PM org.apache.catalina.core.StandardContext start SEVERE: Error filterStart Jun 10, 2010 5:17:25 PM org.apache.catalina.core.StandardContext start SEVERE: Context [/mywebapplication] startup failed due to previous errors ดูเหมือนจะแปลกที่บันทึกสำหรับ Tomcat จะไม่มีการติดตามสแต็ก ใครมีคำแนะนำเกี่ยวกับวิธีเพิ่มการบันทึกใน Tomcat เพื่อรับสแต็กเทรซสำหรับข้อผิดพลาดเช่นนี้หรือไม่?
96 java  tomcat  logging 

4
สปริงเทียบกับ EJB Spring สามารถแทนที่ EJB ได้หรือไม่? [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ตั้งแต่ฤดูใบไม้ผลิคือสามารถที่จะใช้ทำธุรกรรมเช่นเดียวกับEJB สำหรับฉัน Spring สามารถทดแทนข้อกำหนดในการใช้ EJB ได้ ใครช่วยบอกฉันว่าข้อดีพิเศษของการใช้ EJB คืออะไร?
96 java  spring  ejb-3.0 

3
ข้อความบันทึก Java Garbage Collection
ฉันได้กำหนดค่า java ให้ทิ้งข้อมูลการรวบรวมขยะลงในบันทึก ( verbose GC ) ฉันไม่แน่ใจว่ารายการรวบรวมขยะในบันทึกหมายถึงอะไร ตัวอย่างของรายการเหล่านี้แสดงไว้ด้านล่าง ฉันค้นหาในGoogleและไม่พบคำอธิบายที่ชัดเจน ฉันมีการคาดเดาที่สมเหตุสมผล แต่ฉันกำลังมองหาคำตอบที่ให้คำจำกัดความที่เข้มงวดว่าตัวเลขในรายการหมายถึงอะไรซึ่งได้รับการสนับสนุนโดยแหล่งข้อมูลที่น่าเชื่อถือ +1 อัตโนมัติสำหรับคำตอบทั้งหมดซึ่งอ้างถึงเอกสารเกี่ยวกับดวงอาทิตย์ คำถามของฉันคือ: PSYoungGen หมายถึงอะไร? ฉันคิดว่ามันมีส่วนเกี่ยวข้องกับคนรุ่นก่อน (อายุน้อยกว่า) แต่อะไรกันแน่? อะไรคือความแตกต่างระหว่างเลขสามตัวที่สองกับตัวแรก? เหตุใดจึงมีการระบุชื่อ (PSYoungGen) สำหรับตัวเลขสามตัวแรก แต่ไม่ใช่ตัวที่สอง ตัวเลขแต่ละตัว (ขนาดหน่วยความจำ) ในทริปเปิ้ลหมายถึงอะไร ตัวอย่างเช่นใน 109884K-> 14201K (139904K) คือหน่วยความจำก่อน GC 109884k จากนั้นจะลดลงเหลือ 14201K เลขสามเกี่ยวข้องกันอย่างไร? ทำไมเราต้องใช้ตัวเลขชุดที่สอง 8109.128: [GC [PSYoungGen: 109884K-> 14201K (139904K)] 691015K-> 595332K (1119040K), 0.0454530 วินาที] …

5
พอร์ตเล็ตและ servlet แตกต่างกันอย่างไร
ฉันถูกขอให้ทำงานกับพอร์ตเล็ตและพอร์ทัล ฉันต้องการทราบความแตกต่างระหว่างพอร์ตเล็ตและ servlet หรือไม่ พอร์ตเล็ตแตกต่างกันอย่างไร (อาจเป็นฟังก์ชัน) จาก servlet

13
วิธีสร้างไฟล์สงคราม
แนวทางปฏิบัติที่ดีที่สุดในการสร้างไฟล์ war (โดยใช้ eclipse) เพื่อรันบน tomcat มีอะไรบ้าง? แบบฝึกหัดลิงค์ตัวอย่างเป็นที่นิยมอย่างมาก
96 java  eclipse  tomcat  war 

8
วิธีเลือก / รับตัวเลือกแบบเลื่อนลงในซีลีเนียม 2
ฉันกำลังแปลงรหัสซีลีเนียม 1 เป็นซีลีเนียม 2 และไม่พบวิธีง่ายๆในการเลือกป้ายกำกับในเมนูแบบเลื่อนลงหรือรับค่าที่เลือกจากรายการแบบเลื่อนลง คุณรู้วิธีทำในซีลีเนียม 2 หรือไม่? นี่คือสองคำสั่งที่ใช้ได้กับ Selenium 1 แต่ไม่ใช่ใน 2: browser.select("//path_to_drop_down", "Value1"); browser.getSelectedValue("//path_to_drop_down");

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