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

Java เป็นภาษาการเขียนโปรแกรมเชิงวัตถุในระดับสูงที่พัฒนาโดย Sun Microsystems ปัจจุบัน Java เป็นเจ้าของโดย Oracle ซึ่งซื้อ Sun ในปี 2010

1
ทำไม Iterator ของ Java และ ListIterator ชี้ไปที่องค์ประกอบต่าง ๆ
Javadoc สำหรับ ListIteratorพูดว่า: A ListIteratorไม่มีองค์ประกอบปัจจุบัน ตำแหน่งเคอร์เซอร์เสมออยู่ระหว่างองค์ประกอบที่จะถูกส่งกลับโดยเรียกร้องให้และองค์ประกอบที่จะถูกส่งกลับโดยเรียกร้องให้previous()next() เหตุใด Java จึงถูกListIteratorนำไปใช้เพื่อชี้ให้เห็นองค์ประกอบระหว่างองค์ประกอบแทนที่จะเป็นองค์ประกอบปัจจุบัน มันดูเหมือนว่านี้จะทำให้รหัสลูกค้าสามารถอ่านได้น้อยลงเมื่อจะมีการเรียกซ้ำ ๆgetNext(), getPrevious()ดังนั้นผมถือว่าต้องมีเหตุผลที่ดีสำหรับการเลือก ตามบันทึกข้างฉันเพียงแค่เขียนห้องสมุดเล็ก ๆ ที่เรียก peekable-arraylistที่ขยายArrayList, IteratorและListIteratorที่ให้peekAtNext()และpeekAtPrevious()วิธีการดำเนินการที่ชอบ: @Override public synchronized T peekAtNext() { T t = next(); previous(); return t; }
9 java  iterator 

2
JavaFX มีอนาคตหรือไม่ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน8 ปีที่ผ่านมา ฉันไม่ได้ตั้งใจจะแฮชและปรับปรุงใหม่ในเรื่องเดียวกัน แต่เพื่อตัดสินใจว่าจะเรียนรู้อะไรก่อน (JavaFX, Flex, HTML5 ฯลฯ ) ฉันจะดึงการสำรวจโดยเฉพาะคำถามที่คล้ายกันเมื่อไม่นานมานี้ อย่างน้อยหนึ่งปี JavaFX คาดว่าจะเป็นเทคโนโลยีRIAในอีกไม่กี่ปีข้างหน้า
9 java  ria  javafx 

2
ประโยชน์ของการใช้คลาสตัวสร้างภายในแบบคงที่
ในระหว่างการเขียนแนวทางรหัสสำหรับ บริษัท ฉันพบว่าตัวเองแนะนำให้ใช้รูปแบบตัวสร้างจาก Effective Java แทนที่จะเป็นตัวสร้างแบบ telescopic อย่างไรก็ตามหลังจากคิดไปอีกเล็กน้อยแน่นอนว่าทางออกที่ดีกว่าคือการลบคลาส builder ออกและยังลบ constructors พิเศษด้วยอาร์กิวเมนต์ที่เป็นทางเลือก ดังนั้นเพียงแค่มีคอนสตรัคเตอร์เดียวที่มีพารามิเตอร์ที่ต้องการ getters / setters ปกติและใส่รหัส เมื่อใช้งานเพียงสร้างอินสแตนซ์ใหม่ของวัตถุ yr จากนั้นตั้งค่า ความคิดดั้งเดิมของฉันคือประโยชน์ที่ได้รับมาจากการขจัดความสับสนว่าสิ่งที่เป็นพารามิเตอร์เป็นตัวเลือกและสิ่งที่จำเป็น; อย่างไรก็ตามประโยชน์ที่แท้จริงมาจากการใช้วิธีการผูกมัด / อินเตอร์เฟซได้อย่างคล่องแคล่ว รูปแบบตัวสร้างมีประโยชน์เมื่อคุณสร้างอินสแตนซ์ใหม่จำนวนมากเนื่องจาก IDE สามารถทำงานได้อย่างมีประสิทธิภาพและหากมีพารามิเตอร์ทางเลือกจำนวนมาก (15+) อย่างไรก็ตามมันคุ้มค่ากับการต่อเวลาพิเศษในการเขียนคลาสภายในแบบคงที่คุณจะแนะนำให้ใช้ตัวสร้างหรือเสียเวลาหรือไม่?
9 java 

4
ใช้“ ข้อยกเว้นที่จับได้” เพื่อปรับปรุงความสามารถในการอ่านดีหรือไม่ดี?
ในส่วนเวลาที่จะใช้ข้อยกเว้นในThe Pragmatic Programmerหนังสือเขียนว่า: retcode = OK; if (socket.read(name) != OK) { retcode = BAD_READ; } else { processName(name); if (socket.read(address) != OK) { retcode = BAD_READ; } else { processAddress(address); if (socket.read(telNo) != OK) { retcode = BAD_READ; } else { // etc, etc... } } } return retcode; พวกเขาชอบ: …

3
วิธีสร้างและเผยแพร่ไลบรารี Java ที่มีประโยชน์
ฉันเพิ่งทำงานกับคลาส Java ที่สร้างพีชคณิตต่อรายการของวัตถุ ไม่ว่าในกรณีใดฉันต้องการให้ห้องสมุดนี้เสนอต่อสาธารณะดังนั้นฉันมีคำถามหลายข้อ: ห้องสมุดส่วนใหญ่ผมเห็นมีการตั้งชื่อนี้แพคเกจที่มีความซับซ้อนโดยเฉพาะรวมทั้ง/com orgมีแบบแผนสำหรับสิ่งเหล่านี้หรือเป็นpermutationsแพคเกจเพียงพอหรือไม่ มีรูปแบบเฉพาะสำหรับการเผยแพร่เหล่านี้หรือไม่ ฉันควรรวม WARS แยกต่างหากสำหรับซอร์สโค้ด / javadoc หรือไม่ ฉันมีไฟล์ในที่เก็บ GitHub ฉันเดาว่าฉันสามารถให้บริการไฟล์ได้ที่นั่น แต่ฉันจะให้คนหา repo ของฉันได้อย่างไร

5
การพัฒนาที่ขับเคลื่อนด้วยการทดสอบและพัฒนาทักษะการทดสอบกล่องสีขาว
ฉันเป็นระดับเริ่มต้นของ Java โปรแกรมเมอร์โดยตรงจากโรงเรียน ฉันมีความรู้และประสบการณ์ที่ดีกับ J2SE ใครช่วยแนะนำฉันเกี่ยวกับวิธีการปรับปรุงหรือปรับทักษะของฉันไปสู่การเป็นผู้ทดสอบกล่องขาว Java? ยินดีต้อนรับอินพุตที่หลากหลาย และการทดสอบพัฒนาขับเคลื่อนคืออะไร?
9 java  testing  qa 

4
การสมัครมีบทคัดย่อชั้นเรียนจำนวนมากในใบสมัครของคุณหรือไม่?
เริ่มแรกเราต้องการใช้รูปแบบกลยุทธ์ด้วยการนำไปใช้งานที่แตกต่างกันของวิธีการในอินเทอร์เฟซ Commmon สิ่งเหล่านี้จะถูกเลือกที่รันไทม์ตามอินพุตของผู้ใช้ เมื่อมันปรากฏออกมาเรามีคลาสนามธรรมที่ใช้วิธีการทั่วไป 3 - 5 วิธีและเหลือเพียงวิธีเดียวสำหรับการใช้งานที่แตกต่างนั่นคือกลยุทธ์ อัปเดต: จากคลาสนามธรรมจำนวนมากฉันหมายถึงมีฟังก์ชันระดับสูงที่แตกต่างกัน 6 อย่างคือ 6 แพ็คเกจและแต่ละชุดมีอินเตอร์เฟส + AbstractImpl + (ชุดของ Actual Impl) นี่เป็นการออกแบบที่ไม่ดี แต่อย่างใด? มุมมองเชิงลบใด ๆ ในแง่ของการเพิ่มความสามารถในภายหลัง - ฉันเตรียมความพร้อมสำหรับการตรวจสอบรหัส / การออกแบบกับผู้สูงอายุ

4
อะไรทำให้“ สไตล์ดี” ใน Java? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันได้ถามคำถามนี้เกี่ยวกับ Stackoverflow และก่อนที่จะถูกโห่ไล่ฉันได้รับคำแนะนำที่เป็นประโยชน์จากPéterTörökว่านี่อาจเป็นสถานที่ที่ดีกว่าในการโพสต์ ฉันเขียนโปรแกรมใน Java มาสองสามปีแล้ว ฉันมักจะพูดคุยเกี่ยวกับการตัดสินใจออกแบบกับเพื่อนร่วมงานบนพื้นฐานของสิ่งที่ถือว่าเป็น 'รูปแบบที่ดี' แท้จริงแล้วมีจำนวนคำถาม / คำตอบ StackOverflow ที่กล่าวถึงการออกแบบบนพื้นฐานของสิ่งที่เป็นสไตล์ที่ดี แต่อะไรที่ทำให้ 'สไตล์ดี'? เช่นเดียวกับหลาย ๆ สิ่งฉันรู้ว่าเมื่อฉันเห็นมัน ... แต่ฉันต้องการความคิดที่ดีกว่าแค่ความรู้สึกผิดชอบชั่วดีของฉันโดยบอกว่าการออกแบบนี้ไม่ถูกต้อง คุณคิดอย่างไรเกี่ยวกับการสร้างโค้ดที่ดีและออกแบบมาอย่างดี? (ฉันยอมรับว่านี่เป็นเรื่องส่วนตัวเนื่องจาก 'สไตล์ดี' จะขึ้นอยู่กับงานในมือ) (นอกจากนี้ฉันควรเพิ่มว่าฉันไม่สนใจสไตล์ทีม - เช่น "เราใช้การเยื้องของ 2 ช่องว่างแทนที่จะเป็น 4" ... และฉันไม่สนใจระเบียบของโค้ด Java) แก้ไข: ขอบคุณสำหรับคำตอบ / ความคิดเห็นที่ดีทั้งหมด ฉันกระตือรือร้นเป็นอย่างยิ่งสำหรับคำตอบที่จะช่วยจัดระเบียบสิ่งต่าง ๆ ที่ทำให้ประแจความรู้สึกผิดชอบของโปรแกรมเมอร์ (และอาจเป็นไปได้)

5
ประสิทธิภาพการกรองคำหยาบใน Java
ฉันมีข้อกำหนดในการกรองคำหยาบออกจากการส่งของผู้ใช้ในเว็บแอปพลิเคชันที่ใช้ Java ลูกค้าตระหนักถึงปัญหา ScunthorpeและClbuttic Problemและยอมรับผลที่ตามมา ได้โปรดฉันไม่ต้องการการถกเถียงเกี่ยวกับข้อดีของการขาดการเซ็นเซอร์ มีข้อมูลสองบิต: การส่งของผู้ใช้ซึ่งอาจมี 500 คำหรือมากกว่านั้น ตารางฐานข้อมูลคอลัมน์เดี่ยวที่มีคำที่ไม่ได้รับอนุญาต อาจมีหลายพันระเบียนในตารางนี้ วิธีแก้ปัญหาปัจจุบันดูเหมือนผิดกับฉัน: ตารางทั้งหมดจะถูกโหลดลงในสแตติก String [] เมื่อเริ่มต้นเป็น Singleton (ดังนั้นจึงอยู่ในหน่วยความจำ) สำหรับการส่งผู้ใช้แต่ละครั้งเราวนลูปผ่านอาร์เรย์และทำ. indexOf () เพื่อดูว่ามีคำที่ให้ไว้ใน String [] ปรากฏในการส่งหรือไม่ ถ้ามันปรากฏขึ้นเราจะแทนที่ด้วยตัวอักษรสไตล์% $ # @% สิ่งนี้ทำได้โดยโทเค็นการส่งผู้ใช้วนซ้ำผ่านการส่งผู้ใช้ทั้งหมดเป็นโทเค็น (อีกครั้ง) และแทนที่แต่ละอินสแตนซ์ของคำที่พบ อาจมีความฉลาดในการแก้ปัญหานี้ แต่ฉันสงสัย และเมื่อได้ดูมันซักพักฉันก็หาทางผ่านไม่ได้ คำถามคืออะไรคือวิธีการแก้ปัญหาที่จะให้ผลงานที่ดีและหวังว่าจะมีเหตุผลอย่างมีเหตุผลสำหรับนักพัฒนาในอนาคตที่จะรักษาหลังจากที่ฉันถูกไล่ออกเพราะล้มเหลวในการกรองคำบางคำที่คลุมเครือฉันไม่เคยได้ยิน
9 java 

3
ควรใช้ RCP เมื่อใด
ฉันชอบเขียนแอปพลิเคชั่น GUI ขนาดเล็กโดยใช้ Java และ Swing บางอย่างเช่นไคลเอนต์สำหรับเว็บไซต์Tumblrโซเชียล ฉันควรใช้ Eclipse RCP หรือแพลตฟอร์ม Netbeans หรือไม่ ฉันจะได้รับประโยชน์อะไรจากการใช้ทั้งสองอย่างโดยใช้การแกว่งแบบธรรมดา / SWT แอพพลิเคชั่น RCP ต้องการการพึ่งพามากกว่าการพัฒนาโดยใช้ Swing หรือ SWT หรือไม่?
9 java  gui 

5
มีผู้นำที่ชัดเจนในภาษาที่ใช้ JVM หรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา สถานะปัจจุบันของโครงการเหล่านี้คืออะไรและมีหนึ่ง (หรือสอง) ปรากฏเป็นผู้นำที่ชัดเจน? เพื่อแสดงให้เห็นถึงแรงจูงใจของฉันในการถามคำถามนี้ลองนึกย้อนกลับไปหลายปี ต้นแบบและ jQuery กำลังเผชิญหน้ากับผู้เล่นอื่นเช่น MooTools ที่ต่อสู้เพื่อเอาชีวิตรอดเช่นกัน กรอไปข้างหน้าอย่างรวดเร็วจนถึงทุกวันนี้และฉันทามติทั่วไปก็คือ jQuery เป็นไลบรารี JavaScript สำหรับวัตถุประสงค์ทั่วไปที่ดีที่สุด ในช่วงหลายปีที่ผ่านมามีสิ่งที่คล้ายกันเกิดขึ้นกับภาษาที่ใช้ JVM หรือไม่ มีบางภาษาตกอยู่ในสภาพทรุดโทรมและถูกทอดทิ้งหรือไม่? จากสิ่งที่ฉันได้อ่านดูเหมือนว่าสกาล่าจะได้รับการเตรียมให้เป็นที่ชื่นชอบอย่างแน่นอน แต่จากนั้นอีกครั้งเกือบทุกอย่างที่ฉันอ่านมานั้นเป็นเวลาหลายปี ฉันได้ทำ bit การวิจัยมากขึ้น - ฉันมีความคิดที่จะตรวจสอบปริมาณการค้นหาปีที่ผ่านมาโดยใช้ Google Trends ดูเหมือนว่า Jython และ JRuby มีความสนใจค่อนข้างน้อยในขณะที่ปริมาณของ Groovy ลดลงและปริมาณของ Scala นั้นคงที่ (แย่ที่สุด) หรือเพิ่มขึ้นเล็กน้อย (ดีที่สุด) นี่เป็นการประเมินที่ถูกต้องหรือไม่? และใช่ฉันหมายถึงภาษาที่ไม่ใช่ Java บน …
9 java  scala  jvm  groovy  jruby 

4
บริษัท ของคุณคิดที่จะเปลี่ยนจากจาวาเป็นเทคโนโลยีอื่นหรือไม่? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ดังที่นักพัฒนา Java ทุกคนรู้ว่า Oracle ซื้อ Sun และอนาคตของ javaดูเหมือนไม่ชัดเจนโดยเฉพาะอย่างยิ่งเนื่องจาก Oracle ต้องการสร้างรายได้ JVM ภาษาจาวาในฐานะที่เป็นภาษาก็ยังคงค้างในช่วงไม่กี่ปีที่ผ่านมาการไม่รวมการปิดเป็นตัวอย่างหนึ่ง (ซึ่งอาจรวมอยู่ในจาวา 1.8) ในเวลาเดียวกันมีการใช้เทคโนโลยีใหม่บางอย่างเช่น Ruby, Scala และ Groovy เพื่อส่งมอบเว็บไซต์ที่ซับซ้อน ฉันสงสัยว่ามี บริษัท หรือองค์กรที่กำลังพูดคุยทำหนามแหลมหรือเริ่มใช้เทคโนโลยีที่แตกต่างด้วยความคิดที่จะหยุดการใช้จาวาสำหรับโครงการกรีนฟิลด์ในลักษณะเดียวกันกับที่ 15 ปีที่แล้ว บริษัท ย้ายจาก C ++ และเทคโนโลยีอื่น ๆ กับ Java ฉันยังสนใจที่จะรู้ว่าสิ่งที่เป็นความประทับใจของสิ่งนี้เกิดขึ้นเช่น: การวางแผนที่จะย้ายไปยังเทคโนโลยีที่แตกต่างใน 2 ปี เพื่อความชัดเจนฉันไม่ได้ถามว่าเทคโนโลยีไหนดีกว่า ฉันกำลังถามว่าองค์กรของคุณกำลังคิดจะออกจาก Java สำหรับเทคโนโลยีอื่นหรือไม่
9 java  java-ee 

3
รูปแบบการออกแบบสำหรับการจัดการหน้าต่างในแอพ Java Swing
ฉันเพิ่งเริ่มสร้างแอป Java Swing เล็ก ๆ น้อย ๆ ของฉัน เมื่อโปรแกรมเปิดขึ้นมันจะเปิดหน้าต่างเดียวที่เรียบง่ายพร้อมป้ายชื่อและปุ่มคู่ การคลิกปุ่มใดปุ่มหนึ่งเหล่านั้นควรจะล้างหน้าจอต้อนรับและแทนที่ด้วยแผงที่แตกต่างกันโดยสิ้นเชิง ฉันไม่แน่ใจว่าวิธีที่ดีที่สุดในการสร้างฟังก์ชั่นนั้นคืออะไร วิธีหนึ่งก็คือการส่งผ่านJFrameข้อโต้แย้งของฉันไปสู่ ​​... เพียงเกี่ยวกับองค์ประกอบอื่น ๆ ทั้งหมด แต่นั่นทำให้ฉันรู้สึกแฮ็ค หรือมีการทำให้แต่ละพาเนลเป็นสองเท่าเป็นผู้ฟังการกระทำ แต่ก็ดูไม่ถูกต้องเช่นกัน มีรูปแบบการออกแบบที่ฉันควรใช้ที่นี่หรือไม่? "แทนที่เนื้อหาของหน้าต่างหลักและหน้าต่างเดียว" จะต้องเป็นการดำเนินการทั่วไปที่สมเหตุสมผล ชื่อรูปแบบจะเพียงพอ ฉันสามารถใช้ Google ด้วยตัวเองได้จากที่นั่น (ฉันจะไม่ปฏิเสธคำอธิบายใด ๆ อีกต่อไป)

4
การตั้งชื่อคลาสนามธรรมของ Java
ตัวอย่าง: คุณสร้างคลาสนามธรรมสำหรับการกระทำ Ajax การกระทำของอาแจ็กซ์ที่แตกต่างกันจะขยายชั้นนี้ทั้งหมด ปัญหา: คุณชื่อคลาส AjaxAction หรือ AbstractAjaxAction หรือไม่ เมื่อคุณสร้างคลาสย่อยคุณตั้งชื่อพวกเขา: หนังบู๊ AjaxAction เพียงแค่ตั้งชื่อพวกเขาว่าพวกเขาคืออะไร ฉันไม่สามารถค้นหาสิ่งที่ประชุม "ทางการ" คืออะไร ฉันไม่เห็นความต้องการคำนำหน้า "นามธรรม" หรือข้อกำหนดการตั้งชื่อใด ๆ ที่จำเป็นในคลาสย่อย (อาจพอดีอย่างไรก็ตามขึ้นอยู่กับ) มีการประชุมอย่างเป็นทางการหรือไม่? คุณช่วยเชื่อมโยงฉันกับมันได้ไหม และคุณมีความคิดเห็นอย่างไรในเรื่องนี้?
9 java  naming 

6
ฉันควรเรียนรู้ java สำหรับการพัฒนาแอปพลิเคชันมือถือหรือ C # จะต้องทำอย่างไร
ฉันรอคอยที่จะเจาะลึกลงใน. NET Framework แต่แอปพลิเคชันมือถือส่วนใหญ่ดูเหมือนจะได้รับการพัฒนาใน Java ฉันอาจจะกำหนดเป้าหมายโทรศัพท์ที่มีค่าน้อยกว่าอย่าง Nokia และ motorolla ไม่ใช่ android หรือ iphone OS ฉันสามารถทำสิ่งเหล่านี้ใน C # ได้หรือไม่?
9 java  c#  mobile 

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