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

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

3
การส่งอีเมลโดยไม่ต้องใช้เซิร์ฟเวอร์อีเมล
JavaMail ส่งอีเมลโดยใช้เซิร์ฟเวอร์อีเมลโดยทั่วไปผ่านอินเตอร์เฟส SMTP ของผู้ให้บริการอีเมล จำเป็นต้องใช้เซิร์ฟเวอร์อีเมลในการส่งอีเมลหรือไม่ ฉันมีเว็บไซต์ที่จะส่งอีเมลและถ้าเป็นไปได้ฉันต้องการส่งอีเมลโดยตรงจากรหัสเว็บไซต์โดยไม่ต้องใช้เซิร์ฟเวอร์อีเมล JavaMail FAQ บอกว่าจำเป็นต้องใช้เซิร์ฟเวอร์อีเมล มีวิธีการส่งอีเมลโดยไม่ใช้เซิร์ฟเวอร์อีเมลด้วย JavaMail หรือ API อื่นหรือไม่
11 java  email 

3
ทำไมคอลเลกชัน java ที่แตกต่างกันจึงมีความจุเริ่มต้นแตกต่างกัน
เมื่อมองไปที่คอนสตรัคชันการสะสมที่แตกต่างกัน เหตุใด ArrayList () จึงสร้างรายการที่ว่างเปล่าด้วยความจุเริ่มต้นที่สิบและ ArrayDeque () สร้างอาร์เรย์ deque ที่ว่างเปล่าที่มีความจุเริ่มต้นเพียงพอที่จะเก็บองค์ประกอบ 16 องค์ประกอบ
11 java  collections 

10
เครื่องมือ / คำแนะนำเกี่ยวกับวิธีการปฏิเสธอาร์กิวเมนต์คุณภาพของรหัสครอบคลุม
ตอนนี้ฉันรู้ว่าผู้คนสามารถพิจารณาคำถามนี้ซ้ำหรือถามหลายครั้งในกรณีนี้ฉันจะขอบคุณลิงก์ไปยังคำถามที่เกี่ยวข้องพร้อมคำตอบสำหรับคำถามของฉัน เมื่อเร็ว ๆ นี้ฉันไม่เห็นด้วยกับบางคนเกี่ยวกับการครอบคลุมโค้ด ฉันมีกลุ่มคนที่ต้องการให้ทีมงานของเราลดการมองการครอบคลุมโค้ดทั้งหมดโดยอ้างว่าการครอบคลุม 100% ไม่ได้หมายถึงการทดสอบคุณภาพที่ดีและรหัสคุณภาพดี ฉันสามารถผลักดันกลับได้โดยการขายอาร์กิวเมนต์ที่ Code Coverage บอกฉันว่ายังไม่ได้ทดสอบอย่างแน่นอนและช่วยให้เรามุ่งเน้นไปที่พื้นที่เหล่านั้น (ข้างต้นได้รับการกล่าวถึงในลักษณะคล้ายกันในคำถาม SO อื่น ๆ เช่นนี้ - /programming/695811/pitfalls-of-code-coverage ) ข้อโต้แย้งจากคนเหล่านี้คือ - จากนั้นทีมจะตอบสนองโดยการสร้างการทดสอบคุณภาพต่ำอย่างรวดเร็วและทำให้เสียเวลาโดยไม่เพิ่มคุณภาพที่สำคัญ ในขณะที่ผมเข้าใจมุมมองของผมกำลังมองหาวิธีที่จะทำให้เป็นกรณีที่แข็งแกร่งมากขึ้นสำหรับความคุ้มครองรหัสโดยการแนะนำเครื่องมือที่มีประสิทธิภาพมากขึ้น / (Functional, Statement,Decision, Branch, Condition, State, LCSAJ, path, jump path, entry/exit, Loop, Parameter Value etc)กรอบที่ดูแลเกณฑ์ที่ครอบคลุมมากขึ้น สิ่งที่ฉันกำลังมองหาคือข้อเสนอแนะสำหรับการรวมกันของเครื่องมือครอบคลุมรหัสและการปฏิบัติ / กระบวนการที่จะไปกับพวกเขาซึ่งสามารถช่วยฉันตอบโต้ข้อโต้แย้งดังกล่าวในขณะที่รู้สึกสะดวกสบายกับคำแนะนำของฉัน ฉันยังยินดีรับฟังความคิดเห็น / ข้อเสนอแนะใด ๆ ที่ยึดตามประสบการณ์ / ความรู้ของคุณเกี่ยวกับวิธีการโต้แย้งเช่นกันเพราะในขณะที่อัตนัยการครอบคลุมโค้ดได้ช่วยให้ทีมของฉันตระหนักถึงคุณภาพของรหัสและคุณค่าของการทดสอบมากขึ้น แก้ไข: เพื่อลดความสับสนเกี่ยวกับการเข้าใจจุดอ่อนของการครอบคลุมโค้ดทั่วไปฉันต้องการชี้ให้เห็นว่าฉันไม่ได้อ้างถึงเครื่องมือ …

2
วิธีแก้ปัญหาการพึ่งพาแพ็คเกจแบบวงกลม
ฉันกำลังปรับเปลี่ยน codebase ขนาดใหญ่ที่ชั้นเรียนส่วนใหญ่อยู่ในแพ็คเกจเดียว เพื่อความเป็นโมดูลที่ดีกว่าฉันกำลังสร้างแพ็คเกจย่อยสำหรับแต่ละฟังก์ชั่น ผมจำได้ว่าการเรียนรู้บางที่กราฟพึ่งพาแพคเกจไม่ควรมีลูป แต่ผมไม่ทราบว่าวิธีการแก้ปัญหาต่อไปนี้: Figureอยู่ในแพคเกจfigure, Layoutอยู่ในแพคเกจlayout, Layoutต้องคิดรูปแบบในการดำเนินการเพื่อให้แพคเกจขึ้นอยู่กับแพคเกจlayout figureแต่ในทางกลับกัน, Figureสามารถมีอื่น ๆ ที่Figureอยู่ข้างในมันมีของตัวเองLayoutซึ่งจะทำให้การจัดแพคเกจขึ้นอยู่กับแพคเกจfigurelayout ฉันมีวิธีแก้ปัญหาบางอย่างเช่นการสร้างContainerอินเทอร์เฟซที่Figureใช้และวางไว้ในLayoutแพ็คเกจ นี่เป็นทางออกที่ดีใช่ไหม ความเป็นไปได้อื่น ๆ ขอบคุณ

5
การเชื่อมต่อฐานข้อมูล - ควรส่งผ่านเป็นพารามิเตอร์หรือไม่
เรามีระบบที่การเชื่อมต่อฐานข้อมูลจะได้รับเพียงครั้งเดียวโดยใช้วิธีการทั่วไปและจะถูกส่งไปทั่วคลาสที่เกี่ยวข้องที่จะใช้ มีข้อสงสัยว่าการผ่านการเชื่อมต่อฐานข้อมูลเป็นพารามิเตอร์ไปยังคลาสที่แตกต่างกันจะทำให้เกิดปัญหาดังนั้นฉันกำลังตรวจสอบที่นี่เพื่อดูว่าสิ่งนี้สามารถใช้งานได้จริงหรือไม่และมีรูปแบบที่ดีกว่านี้หรือไม่ ฉันรู้ว่ามีเครื่องมือ ORM บางอย่างในการคงอยู่ แต่เราไม่สามารถทำเช่นนั้นได้ .. ยินดีรับข้อเสนอแนะใด ๆ ขอบคุณ

2
การพัฒนาใหม่ของ Java จะมีผลต่อการทำงานร่วมกันกับภาษาเช่น Scala และ Clojure อย่างไร
เท่าที่ฉันเข้าใจทั้ง Scala และ Clojure ได้รับการออกแบบเป็นภาษาใหม่ที่ ขึ้นอยู่กับ JVM และ รวมเข้ากับโค้ด Java ได้ง่ายในแง่ที่อนุญาตให้ใช้คลาส Java ภายในโค้ด Scala และ Clojure เริ่มต้นด้วย Java 8 (และอาจรุนแรงยิ่งขึ้นกับ Java รุ่นถัดไป) จะมีการเปลี่ยนแปลงในความหมายของภาษา Java ฉันต้องการถามว่าการเปลี่ยนแปลงเหล่านี้จะส่งผลกระทบต่อการทำงานร่วมกันระหว่าง Java และ Scala / Clojure อย่างไรและผลที่ตามมาจะเป็นอย่างไร ตัวอย่างเช่นเนื่องจาก lambdas ใน Java 8 ไม่ใช่วัตถุ (ดูเช่นที่นี่ ) Scala และ Clojure อาจต้องจัดการกับค่า Java ที่ไม่ใช่วัตถุ นี่จะเป็นปัญหาหรือไม่? ฉันนึกถึงสถานการณ์ต่อไปนี้: ภาษา Scala หรือ …
11 java  scala  clojure 

4
เหตุใดจึงไม่สามารถแบ่งปันข้อมูลเซสชันได้
ฉันได้เห็นนักพัฒนาหลายคนกำลังมองหาทางออกสำหรับปัญหานี้: การเข้าถึงข้อมูลเซสชั่นจากสงครามที่แตกต่างกัน (แม้ในภายใน EAR เดียวกัน) - นี่คือตัวอย่างบางส่วน: วิธีใดที่จะแบ่งปันสถานะเซสชันระหว่างแอปพลิเคชันต่างๆ , เซสชันการเข้าถึงของเว็บแอปพลิเคชันอื่น , ไฟล์ WAR ที่แตกต่างกัน, ทรัพยากรที่แชร์ , Tomcat: วิธีการแบ่งปันข้อมูลระหว่างสองแอปพลิเคชัน , อะไรแอตทริบิวต์ crossContext ทำใน Tomcat? เปิดใช้งานการแชร์เซสชันหรือไม่ และอื่น ๆ ... จากทั้งหมดที่ฉันค้นหามีวิธีแก้ปัญหาเฉพาะบางอย่างขึ้นอยู่กับคอนเทนเนอร์ แต่อย่างใด ' ตรงกันข้ามกับข้อมูลจำเพาะ ' ฉันยังได้ดูข้อมูลจำเพาะ Java EE โดยไม่มีโชคในการหาคำตอบ นักพัฒนาบางคนพูดถึงการมีเพศสัมพันธ์ระหว่างเว็บแอปพลิเคชัน แต่ฉันมักจะไม่เห็นด้วย อะไรคือเหตุผลที่ทำให้ WARs อยู่ใน EAR เดียวกันหากไม่ได้มีเพศสัมพันธ์? ตัวอย่างเช่น EJB สามารถเข้าถึงได้แบบโลคัล (แม้ว่าจะอยู่ใน EJB JAR อื่นภายใน …

3
การเยาะเย้ยระดับคอนกรีต - ไม่แนะนำ
ฉันเพิ่งอ่านข้อความที่ตัดตอนมาจากหนังสือ "Growing Object-Oriented Software" ซึ่งอธิบายเหตุผลบางอย่างว่าทำไมไม่แนะนำให้ใช้การล้อเลียนระดับคอนกรีต นี่คือตัวอย่างโค้ดของการทดสอบหน่วยสำหรับคลาส MusicCentre: public class MusicCentreTest { @Test public void startsCdPlayerAtTimeRequested() { final MutableTime scheduledTime = new MutableTime(); CdPlayer player = new CdPlayer() { @Override public void scheduleToStartAt(Time startTime) { scheduledTime.set(startTime); } } MusicCentre centre = new MusicCentre(player); centre.startMediaAt(LATER); assertEquals(LATER, scheduledTime.get()); } } และคำอธิบายแรกของเขา: ปัญหาด้วยวิธีนี้คือมันทิ้งความสัมพันธ์ระหว่างวัตถุโดยนัย ฉันหวังว่าเราได้ทำให้ชัดเจนแล้วในตอนนี้ความตั้งใจของการพัฒนาขับเคลื่อนทดสอบกับวัตถุจำลองคือการค้นพบความสัมพันธ์ระหว่างวัตถุ …

8
Java นั้นยากกว่าการ "ปรับแต่ง" เพื่อประสิทธิภาพเมื่อเทียบกับ C / C ++ หรือไม่? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว "ความมหัศจรรย์" ของ JVM ขัดขวางอิทธิพลของโปรแกรมเมอร์ที่มีต่อการปรับให้เหมาะสมขนาดจิ๋วใน Java หรือไม่? ฉันเพิ่งอ่านใน C ++ บางครั้งการเรียงลำดับของข้อมูลสมาชิกสามารถให้การเพิ่มประสิทธิภาพ (ได้รับในสภาพแวดล้อม microsecond) และฉันสันนิษฐานว่ามือของโปรแกรมเมอร์ถูกผูกไว้เมื่อมันมาถึงการบีบประสิทธิภาพจาก Java? ฉันขอขอบคุณอัลกอริทึมที่เหมาะสมให้ความเร็วที่เพิ่มขึ้น แต่เมื่อคุณมีอัลกอริทึมที่ถูกต้องแล้ว Java จะปรับแต่งยากขึ้นเนื่องจากการควบคุม JVM หรือไม่ ถ้าไม่ใช่คนอาจยกตัวอย่างว่าคุณสามารถใช้กลอุบายอะไรใน Java (นอกเหนือจากการคอมไพล์แฟล็กเรียบง่าย)

2
เลิกใช้แล้วเทียบกับถูกปฏิเสธใน JavaDoc?
ใน JavaDoc เพื่อX509Certificate getSubjectDN()ระบุ: denigratedแทนที่ด้วย getSubjectX500Principal () ฉันเคยเห็นเลิกใช้ในวิธีการที่ไม่ควรใช้อีกต่อไป แต่ไม่ได้ลบล้าง ฉันพบรายงานข้อผิดพลาดเกี่ยวกับกรณีนี้โดยเฉพาะซึ่งปิดด้วยความคิดเห็น: นี่ไม่ใช่ข้อผิดพลาด "เลิกใช้แล้ว" มีไว้เพื่อใช้ในกรณีที่ร้ายแรงเท่านั้น เมื่อเรากำลังใช้เมธอดที่ถูกคัดค้านการดำเนินการที่แนะนำทั่วไปคือการหยุดใช้เมธอด ดังนั้นสิ่งที่เป็นปัญหาเมื่อการดำเนินการวิธีการที่ถูกทำเครื่องหมายเป็นdenigrated ?

6
ผู้พัฒนาจาวาควรรู้เกี่ยวกับอัลกอริทึมการรวบรวมขยะหรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันถูกถามเมื่อเร็ว ๆ นี้ในการสัมภาษณ์ถ้าฉันรู้เกี่ยวกับอัลกอริทึมการเก็บขยะใด ๆ ฉันรู้ว่าการเก็บขยะคืออะไร แต่ฉันไม่เคยคิดถึงการเรียนรู้เกี่ยวกับอัลกอริทึมการรวบรวมขยะเพราะในฐานะนักพัฒนาฉันไม่ต้องกังวลเกี่ยวกับมันและตัวรวบรวมขยะทำงานหนักสำหรับฉัน พวกคุณคิดว่าผู้พัฒนา Java ควรรู้เกี่ยวกับอัลกอริทึมตัวรวบรวมขยะหรือไม่? ถ้าใช่คุณบอกฉันได้ไหม

9
การออกแบบ OO ใดที่จะใช้ (มีรูปแบบการออกแบบ)
ฉันมีวัตถุสองชิ้นที่แสดงถึง 'บาร์ / คลับ' (สถานที่ที่คุณดื่ม / สังสรรค์) ในสถานการณ์หนึ่งฉันต้องการชื่อบาร์ที่อยู่ระยะทางสโลแกน ในสถานการณ์อื่นฉันต้องการชื่อบาร์, ที่อยู่, URL เว็บไซต์, โลโก้ ดังนั้นฉันจึงมีวัตถุสองชิ้นที่เป็นตัวแทนของสิ่งเดียวกัน แต่มีเขตข้อมูลที่แตกต่างกัน ผมชอบที่จะใช้วัตถุที่ไม่เปลี่ยนรูปเพื่อให้ทุกสาขามีการตั้งค่าจากตัวสร้าง ตัวเลือกหนึ่งคือการมีสองคอนสตรัคเตอร์และโมฆะสาขาอื่น ๆ เช่น: class Bar { private final String name; private final Distance distance; private final Url url; public Bar(String name, Distance distance){ this.name = name; this.distance = distance; this.url = null; } public …

5
ข้อดีของ Ceylon เหนือ Java คืออะไร [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา มองหาภาษาโปรแกรมที่กำลังจะมาถึงเร็ว ๆ นี้และผ่านเน็ตฉันเจอ Ceylon ฉันไปที่ceylon-lang.orgและมันบอกว่า: Ceylon ได้รับอิทธิพลจาก Java อย่างลึกซึ้ง คุณจะเห็นว่าเราเป็นแฟนของ Java แต่เรารู้ว่าข้อ จำกัด นั้นอยู่ข้างใน Ceylon รักษาส่วนที่ดีที่สุดของ Java ไว้ แต่ปรับปรุงสิ่งต่าง ๆ ที่ในประสบการณ์ของเรานั้นน่ารำคาญ, น่าเบื่อ, หงุดหงิด, ยากที่จะเข้าใจหรือ bugprone ข้อดีของ Ceylon เหนือ Java คืออะไร

3
เมื่อเปรียบเทียบตัวแปรสตริงกับสตริงตัวอักษรกับ. equals () มีวิธีปฏิบัติมาตรฐานสำหรับลำดับของรายการหรือไม่ [ปิด]
เป็นการยากที่จะบอกสิ่งที่ถูกถามที่นี่ คำถามนี้คลุมเครือคลุมเครือไม่สมบูรณ์กว้างเกินไปหรือโวหารและไม่สามารถตอบได้อย่างสมเหตุสมผลในรูปแบบปัจจุบัน สำหรับความช่วยเหลือในการทำความเข้าใจคำถามนี้เพื่อที่จะสามารถเปิด, ไปที่ศูนย์ช่วยเหลือ ปิดให้บริการใน7 ปีที่ผ่านมา มีประโยชน์สำหรับแต่ละคนและฉันเข้าใจความแตกต่าง แต่สิ่งที่ถือว่าเป็นวิธีที่ดีที่สุด / มาตรฐาน? และทำไม? ตัวอย่างเช่น : "myString".equals(myStringVar) หลีกเลี่ยง NPE ที่อาจเกิดขึ้นและไม่จำเป็นต้องมีการตรวจสอบ null (สิ่งที่ดี?) ทำความสะอาดเพื่ออ่านเนื่องจากไม่จำเป็นต้องตรวจสอบ null หากค่า Null ไม่ใช่ค่าที่คาดหวังโปรแกรมของคุณอาจแตกหักโดยไม่ต้องมีไหวพริบ อย่างไรก็ตาม myStringVar.equals("myString") ต้องมีการตรวจสอบ null หากค่า null เป็นค่าที่คาดไว้ (สิ่งที่ดี?) สามารถถ่วงเงื่อนไขผสมกับการตรวจสอบเป็นโมฆะ ช่วยให้ NPE แจ้งให้เราทราบว่ามีบางอย่างผิดปกติ รูปแบบใดที่ถือว่าเป็นมาตรฐานที่ใช้สำหรับ Java และทำไม

4
อะไรคือข้อได้เปรียบที่พิสูจน์แล้วของเครื่องมือเช่น GWT บนเฟรมเวิร์ค JavaScript ที่บริสุทธิ์?
GWT เป็นซอฟต์แวร์สแต็กที่แปลโค้ด Java และชุดย่อยของไลบรารีคลาสของ Java Runtime เป็นโค้ด JavaScript เมื่อเปรียบเทียบกับชุดเครื่องมือ JavaScript แล้ว GWT อาจดูแปลกแยกตามลักษณะและการใช้งานและซับซ้อนเกินกว่าที่จะทำสิ่งต่าง ๆ ได้ง่ายควบคุมการควบคุมที่ละเอียดที่คุณต้องใช้ JavaScript โดยตรง เหตุใดนักพัฒนาเว็บจึงเลือกใช้เครื่องมือเช่น GWT ซึ่งใช้ภาษาเดิมที่ไม่ได้กำหนดเป้าหมายสำหรับเว็บแทนที่จะใช้จาวาสคริปต์บริสุทธิ์และเฟรมเวิร์กและชุดเครื่องมือ มันวัดได้ดีกว่าและอิงตามเกณฑ์อะไรบ้าง?

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