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

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

2
ภาษาของแบบสอบถามสำหรับ JSON
ฉันมีเซิร์ฟเวอร์ที่ส่งคืนข้อความ JSON ที่มีขนาดใหญ่มากและแอปพลิเคชันไคลเอนต์ของฉันขึ้นอยู่กับการตอบสนองนี้เป็นส่วนหนึ่งเท่านั้น แอปพลิเคชันไคลเอนต์ต้องตรวจสอบว่ามี "xyz" คุณสมบัติอยู่ในข้อความ JSON และขึ้นอยู่กับผลการเรียกใช้ usecase เฉพาะ สำหรับความต้องการนี้การแปลงข้อความ JSON ทั้งหมดเป็นวัตถุที่ฟังดูแพงไปหน่อยสำหรับฉันและด้วยเหตุนี้คำถามนี้ มีภาษาแบบสอบถาม JSON มาตรฐานเหมือนที่เรามีสำหรับ XML หรือไม่ ถ้าใช่สิ่งที่ดีที่สุดรู้การใช้ภาษาแบบสอบถามนี้ในจาวา FYI: การเปลี่ยนหรือเพิ่มบริการใหม่ทางฝั่งเซิร์ฟเวอร์ไม่ใช่ตัวเลือก
11 java  json 

3
เหตุใดแพลตฟอร์มโทรศัพท์มือถือจึงไม่สนับสนุนการรวบรวมขยะทั่วไป
ทั้ง Windows Phone / Xbox และ Android ขาดการสนับสนุนสำหรับการรวบรวมขยะทั่วไป นี่น่าผิดหวังสำหรับโปรแกรมเมอร์จำนวนมาก ดูเหมือนจะมีเหตุผลทางวิศวกรรมที่ถูกต้องตามกฎหมาย แต่ฉันไม่สามารถเข้าใจได้ โทรศัพท์ปัจจุบันมีหน่วยความจำเพิ่มขึ้นและอาจมี CPU ที่ดีกว่าเดสก์ท็อป / แล็ปท็อปที่ใช้. NET 1.1 กับ generational GC ย้อนกลับไปในปี 2544 และฉันไม่สามารถคิดได้ว่าเหตุผลใดที่โปรเซสเซอร์ ARM จะแย่กว่ารุ่นทั่วไป นอกจากนี้ยังมีความต้องการน้อยลงสำหรับการทำมัลติทาสก์บนโทรศัพท์และคอนโซลดังนั้นจึงมีพื้นที่ว่างมากขึ้น แล้วอะไรล่ะ แก้ไข:สองสามจุดเพื่อชี้แจง: แพลตฟอร์มเหล่านี้ใช้การรวบรวมขยะสำหรับแอปโดยเฉพาะดังนั้นคำถามของฉันไม่เกี่ยวกับสาเหตุที่ GC ไม่รองรับ คำถามของฉันเกี่ยวกับสาเหตุที่generationalเก็บขยะไม่ได้ เหตุผลที่ผู้คนรู้สึกหงุดหงิดเกี่ยวกับการขาด GC generational นั่นคือ GC ที่ไม่ใช่เชิงพันธุกรรมนั้นไม่มีประสิทธิภาพอย่างมาก (นั่นหมายความว่าอายุการใช้งานแบตเตอรี่ไม่ใช่เหตุผล) ฉันเชื่อว่ามีเหตุผลทางเทคนิคที่ซื่อสัตย์สำหรับการขาดการสนับสนุน GC generational นี่ไม่ใช่คำถามเชิงโวหาร

3
การนำ Java ไปใช้กับรูปแบบ Blackboard?
มีที่ว่างสำหรับแอปพลิเคชั่นที่ใช้งานได้จริงใน Java ของรูปแบบ Blackboard ที่มีรายละเอียดใน"The Pragmatic Programmer"หรือไม่? มีห้องสมุดใดที่พยายามช่วยเหลือในการนำแนวคิดนี้ไปใช้หรือไม่? ฉันทามติทั่วไปเกี่ยวกับรูปแบบนี้ในชุมชนซอฟต์แวร์ปัจจุบัน (โดยเฉพาะ Java) คืออะไร? แม้ว่าความคิดจะน่าสนใจ แต่ฉันก็รู้สึกว่าหนังสือเล่มนี้อาจล้าสมัย ในกรณีที่คุณไม่คุ้นเคยกับแนวคิดนี้: http://flylib.com/books/en/1.315.1.55/1/
11 java 

3
เลือก C ++ หรือ Java สำหรับแอปพลิเคชันที่ต้องการ RAM จำนวนมากใช่ไหม [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันกำลังคิดถึงแอปพลิเคชันทางวิทยาศาสตร์ที่ส่วนใหญ่ใช้โปรเซสเซอร์และมีน้ำหนักมากในการใช้งานฮีป (อย่างน้อยหลายกิกะไบต์) ช่วงเวลาอื่นของปีที่ฉันจะไปกับ C ++ อย่างมีความสุข แต่ในกรณีนี้ฉันสงสัยว่าการกระจายตัวตามธรรมชาติของตัวจัดการหน่วยความจำ C ++ อาจเป็นปัญหาร้ายแรงเมื่อเทียบกับข้อดีของตัวสะสมขนาดกะทัดรัดของ Java ใครสามารถชี้ให้เห็นตัวอย่างที่แท้จริงเกี่ยวกับสิ่งนี้
11 java  c++  memory  big-data 

3
ประเภทการดำรงอยู่แตกต่างจากอินเตอร์เฟสได้อย่างไร
กำหนดประเภทการดำรงอยู่ T = ∃X.{op₁:X, op₂:X→boolean} และอินเตอร์เฟส Java ทั่วไปนี้: interface T<X> { X op₁(); boolean op₂(X something); } อะไรคือความแตกต่างพื้นฐานระหว่างประเภทที่มีอยู่และส่วนต่อประสาน Java? เห็นได้ชัดว่ามีความแตกต่างทางไวยากรณ์และการวางแนววัตถุของ Java (ซึ่งรวมถึงรายละเอียดเช่นthisพารามิเตอร์ที่ซ่อนอยู่ฯลฯ ) ฉันไม่ได้สนใจสิ่งเหล่านี้มากนักในความแตกต่างทางความคิดและความหมาย - แม้ว่าบางคนอยากจะแสดงความเห็นในบางประเด็นที่ละเอียดกว่า (เช่นความแตกต่างระหว่างตัวละครTกับT<X>) ที่จะได้รับการชื่นชมเช่นกัน

10
ข้อ จำกัด ด้านความปลอดภัยควรทำให้บริการส่งคืน null หรือมีข้อผิดพลาดหรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันกำลังขัดแย้งกับนักพัฒนาที่มีประสบการณ์มากกว่าในเรื่องนี้และสงสัยว่าคนอื่นคิดอย่างไรกับมัน สภาพแวดล้อมของเราคือ Java, EJB 3, บริการและอื่น ๆ รหัสที่ฉันเขียนเรียกบริการเพื่อรับสิ่งของและสร้างสิ่งต่าง ๆ ปัญหาที่ฉันพบคือฉันได้รับข้อยกเว้นตัวชี้ null ซึ่งไม่สมเหตุสมผล ตัวอย่างเช่นเมื่อฉันขอให้บริการเพื่อสร้างวัตถุฉันได้รับกลับมาเป็นโมฆะ; เมื่อฉันพยายามค้นหาวัตถุที่มีรหัสที่ถูกต้องที่รู้จักฉันได้รับ null กลับ ฉันใช้เวลาพยายามหาสิ่งที่ผิดพลาดในรหัสของฉัน ตั้งแต่ฉันมีประสบการณ์น้อยฉันมักจะคิดว่าฉันทำอะไรผิด แต่กลับกลายเป็นว่าเหตุผลที่ผลตอบแทน Null คือความปลอดภัย หากผู้ใช้หลักที่ใช้บริการของฉันไม่ได้รับสิทธิ์ที่ถูกต้องสำหรับบริการเป้าหมายมันจะส่งคืนค่าว่าง บริการอื่น ๆ ส่วนใหญ่ที่นี่ไม่ได้รับการบันทึกไว้เป็นอย่างดีดังนั้นจึงเห็นได้ชัดว่านี่เป็นสิ่งที่คุณต้องรู้ สิ่งนี้ค่อนข้างสับสนในฐานะนักพัฒนาที่เขียนโค้ดที่โต้ตอบกับบริการ มันจะสมเหตุสมผลมากกว่าสำหรับฉันถ้าบริการนี้เป็นข้อยกเว้นที่จะบอกฉันว่าผู้ใช้ไม่มีสิทธิ์ที่เหมาะสมในการโหลดสิ่งนี้หรือเพื่อสร้างสิ่งนั้น ฉันจะทราบได้ทันทีว่าเหตุใดบริการของฉันจึงไม่ทำงานตามที่คาดไว้ นักพัฒนาที่มีประสบการณ์มากขึ้นซึ่งเขียนบริการแย้งว่าการขอข้อมูลไม่ใช่เงื่อนไขข้อผิดพลาดและข้อยกเว้นนั้นควรถูกส่งไปในเงื่อนไขข้อผิดพลาดเท่านั้นไม่ใช่เมื่อผู้ใช้ไม่สามารถเข้าถึงข้อมูลได้ ข้อมูลนี้มักจะถูกค้นหาใน GUI และสำหรับผู้ใช้ที่ไม่มีสิทธิ์ที่ถูกต้องสิ่งเหล่านี้ก็คือ "ไม่มีตัวตน" ดังนั้นในระยะสั้น: ถามไม่ผิดดังนั้นไม่มีข้อยกเว้น รับเมธอดส่งคืน null เนื่องจากสำหรับผู้ใช้เหล่านั้นสิ่งเหล่านั้น "ไม่มีอยู่" สร้างเมธอดส่งคืนค่าว่างเมื่อผู้ใช้ไม่ได้รับอนุญาตให้สร้างสิ่งนั้น นี่เป็นเรื่องปกติและ / หรือแนวปฏิบัติที่ดีหรือไม่? …

4
สกาล่าจะเป็นทางเลือกที่ดีแทนที่จะเป็นจาวา
เราจะเริ่มโครงการใหม่ซึ่งจะเกี่ยวข้องกับการฝึกอบรมผู้พัฒนา. net ทั้งหมดใน Java (frameworks / ECO system ฯลฯ ) เรามีโค้ดจำนวนมากที่เขียนใน C # และดูเหมือนว่าทั้งหมดนี้จะสูญเปล่าเนื่องจากเราต้องเขียนใหม่ทั้งหมดใน Java ปัญหาที่ฉันเห็นคือว่าในปีแรกหรือประมาณสองปีเราจะไม่มีอะไรจะส่งมอบเพราะเราจะใช้เวลาส่วนใหญ่ในการทำซ้ำสิ่งที่เรามีมาก่อน แต่ตอนนี้ใน Java เนื่องจากทีมของเรากระจายอยู่ในสำนักงานต่าง ๆ ทั่วโลกและเรามีนักพัฒนาจาวาจำนวนมาก (20 ถึง 30) และนักพัฒนา 10 คนที่ใช้. net เราต้องการให้นักพัฒนาทั้งหมดใช้ภาษา / แพลตฟอร์มเดียวกันเพื่อให้เราสามารถเริ่ม นำส่วนประกอบ / โมดูลกลับมาใช้ใหม่ ดังนั้นฉันสามารถเข้าใจมุมมองของผู้บริหาร เมื่อวานฉันเจอ Scala และสงสัยว่ามันจะดีกว่าถ้าจะใช้กับผลิตภัณฑ์ปัจจุบัน (ซึ่งเขียนใน C #) แล้วอย่างน้อยเราก็จะมีผลิตภัณฑ์ที่ใช้งานได้ในหนึ่งปี นอกจากนี้ในหนึ่งปีเรามีโมดูลที่สามารถใช้ในโลก Java ได้ในขณะที่เราย้ายข้อมูลส่วนอื่น ๆ ของผลิตภัณฑ์ Scala จะเป็นตัวเลือกที่ดีกว่า Java …
11 java  c#  scala 

1
เป็นวิธีที่ดีที่สุดในการแสดงความคิดเห็นระดับเลิกใน Java คืออะไร
ฉันต้องการทราบวิธีที่ดีที่สุดในการเพิ่มความคิดเห็นเพื่อระบุคลาสที่เลิกใช้แล้วใน Java ฉันควรลบความคิดเห็นก่อนหน้านี้ที่เพิ่มไปยังด้านบนของคลาสที่ช่วยให้โปรแกรมเมอร์อื่นทราบว่าคลาสนั้นสำหรับอะไรหรือฉันควรเพิ่มความคิดเห็นด้านล่าง?

6
หลายค่าส่งคืนใน Java อย่างไร
บางครั้งคุณต้องการคืนค่าหลายค่าจากฟังก์ชัน ปกติแล้ววิธีนี้จะทำใน Java? ทางเลือกหนึ่งคือใช้อาร์เรย์เช่นข้อมูลโค้ด Python ที่ส่งคืนรายการหรือทูเปิล: value, success = read_unreliably() if success: print value ตัวเลือกอื่นคือการคืนค่าแฮช / dict เช่นตัวอย่าง JavaScript: var result = readUnreliably() if (result.success) { alert(value); } อีกหนึ่งการสร้างวัตถุที่กำหนดเองเพียงเพื่อวัตถุประสงค์นี้เช่นตัวอย่าง Java นี้: ReadUnreliablyResult result = readUnreliably() if (result.getSuccess()) { System.out.println(result.getValue()); } แน่นอนคุณสามารถใช้ตัวแปรส่วนกลางบางอย่างเพื่อเก็บสิ่งที่คุณต้องการแทนที่จะส่งผ่านสิ่งต่าง ๆ แต่สมมติว่านั่นไม่ใช่ตัวเลือก

5
ไม่ใช่วิธีปฏิบัติที่ดีในการจัดการข้อยกเว้นรันไทม์ในรหัสหรือไม่
ฉันกำลังทำงานกับแอปพลิเคชัน Java และฉันเห็นว่ามีการจัดการข้อยกเว้นเวลาทำงานในหลาย ๆ ที่ ตัวอย่างเช่น, try { // do something } catch(NullPointerException e) { return null; } คำถามของฉันคือเมื่อใดที่ควรปฏิบัติกับข้อยกเว้นรันไทม์ เมื่อใดควรยกเว้นข้อยกเว้นที่ไม่ถูกจัดการ?
11 java  exceptions 

4
วิธีเริ่มเรียนรู้ J2EE โดยเฉพาะ JPA [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฉันพยายามที่จะเริ่มต้นการเรียนรู้เป็นส่วนหนึ่งของJ2EE Javaแต่ฉันไม่รู้ว่าจะเริ่มจากตรงไหน ผม Familier ด้วยCore Javaและส่วนใหญ่ผมต้องการที่จะเรียนรู้JPAและพื้นฐานของและHibernate Spring Frameworkเหตุผลหลักสำหรับเรื่องนี้คือฉันกำลังทำงานในโครงการที่ใช้สิ่งเหล่านี้ทั้งหมด และโค้ดส่วนใหญ่นั้นพัฒนาโดยผู้อาวุโสบางคนและฉันต้องทำการแก้ไขบางอย่าง ดังนั้นโดยทั่วไปฉันต้องเข้าใจรหัสของพวกเขา ใครสามารถให้แผนการทำงานแก่ฉันได้บ้างเช่นสิ่งที่ฉันต้องรู้ล่วงหน้าและฉันควรไปในลำดับใด เอกสารอ้างอิงใด ๆ เช่นลิงก์หนังสือหรือไม่

3
แนะนำภาษาการเขียนโปรแกรม JVM ใหม่ในสภาพแวดล้อมขององค์กรที่จัดตั้งขึ้น
ลองนึกภาพว่าที่ทำงานปัจจุบันของคุณคือร้านจาวา มีความรู้มากมายเกี่ยวกับภาษาจาวาและมีกระบวนการสร้างและปรับใช้ที่ครอบคลุมเพื่อจัดการทุกอย่างอย่างราบรื่นและคล่องตัว อยู่มาวันหนึ่งโครงการก็มาพร้อมกับเสียงกรีดร้องออกมาว่าทับทิม เฉพาะนักพัฒนาอาวุโสเท่านั้นที่มีเบาะแสเกี่ยวกับ Ruby แต่มีความคิดทั่วไปที่ว่า JRuby นั้นมีอยู่สำหรับ JVM ดังนั้นโครงสร้างพื้นฐานที่มีอยู่จึงยังคงสามารถใช้และสนับสนุนได้ นอกจากนี้ JRuby ยังสามารถแสดงให้เห็นถึงวิธีการที่ดีกว่าในการนำแอปพลิเคชั่นปัจจุบันไปใช้กับรหัสที่น้อยลงดังนั้นนี่อาจเป็นตัวแทนของการย้ายข้อมูลอย่างต่อเนื่อง โปรดจำไว้ว่า JRuby เป็นเพียงตัวอย่างมันอาจเป็น Clojure หรือ Groovy หรืออะไรก็ตามที่วิ่งบน JVM คำถามคือคุณจะแนะนำการเปลี่ยนแปลงแบบนี้อย่างไร - ถ้าใช่?

3
ควรเลิกเมื่อใดและเมื่อใดควรลบใน Java
ในฐานะที่เป็นส่วนหนึ่งของการปรับโครงสร้างใหม่หรือการพัฒนาอย่างต่อเนื่องวิธีการบางอย่างหรือทั้งชั้นเรียนอาจล้าสมัยในบางแง่มุม Java รองรับการเพิ่มความคิดเห็น@Deprecatedเพื่อระบุว่าอาจเป็นวิธีที่ดีกว่าในการจัดการฟังก์ชันการทำงานที่เป็นปัญหา ฉันคิดว่าสิ่งนี้มีประโยชน์อย่างยิ่งใน API สาธารณะซึ่งผลของการลบส่วนต่างๆของ API อาจไม่เป็นที่รู้จัก สำหรับ API ที่ไม่ใช่แบบสาธารณะและโครงการที่ใช้ระบบควบคุมการแก้ไข (ดังนั้นการลบสามารถยกเลิกได้ในบางกรณี) เหมาะสมที่จะเลิกใช้แทนที่จะลบองค์ประกอบที่ล้าสมัย?

4
การปิดใน Java จะส่งผลกระทบต่อชุมชน Java อย่างไร
เป็นหนึ่งในคุณสมบัติที่ได้รับการกล่าวถึงมากที่สุดเกี่ยวกับ Java: Closures พวกเราหลายคนโหยหาพวกเขา พวกเราบางคน (รวมถึงฉัน) มีความอดทนเพิ่มขึ้นและหันไปใช้ภาษาสคริปต์เพื่อเติมเต็มความว่างเปล่า แต่ในที่สุดเมื่อการปิดมาถึง Java: พวกเขาจะส่งผลกระทบต่อชุมชน Java อย่างไร ความก้าวหน้าของภาษาสคริปต์ที่ตั้งเป้าหมายไว้กับ VM จะช้าลงในการรวบรวมข้อมูลอยู่เหมือนเดิมหรือเพิ่มพูน? ผู้คนจะแห่กันไปยังซินแท็กซ์ปิดใหม่ดังนั้นการเปลี่ยนรหัส Java ให้เป็นโครงสร้างที่มีฟังก์ชั่นการใช้งานมากขึ้นหรือไม่? เราจะเห็นเฉพาะการปิดโปรยใน Java ตลอดไหม? สิ่งที่จะมีผลต่อการสนับสนุนเครื่องมือ / IDE? ประสิทธิภาพเป็นอย่างไร และในที่สุดความหมายของการยอมรับอย่างต่อเนื่องของ Java ในฐานะภาษาคืออะไรเมื่อเทียบกับภาษาอื่น ๆ ที่ได้รับความนิยมเพิ่มขึ้น ในการจัดเตรียมตัวอย่างหนึ่งของรายละเอียดทางไวยากรณ์ Java Closure ที่เสนอล่าสุด: public interface StringOperation { String invoke(String s); } // ... (new StringOperation() { public invoke(String s) …
11 java  closures 

7
การเขียนโปรแกรมที่มีโครงสร้างกับการเขียนโปรแกรม OO
ฉันกำลังนำเสนอที่แสดงความแตกต่างระหว่างการเขียนโปรแกรมเชิงโครงสร้างและเชิงวัตถุและฉันต้องการแสดงให้เห็นว่าทำไมผู้คนต้องการ OOP ด้วยตัวอย่างที่การใช้แนวคิด OOP จะทำให้การเข้ารหัสง่ายขึ้นมากเพื่อให้ผู้ชมรู้สึกว่าต้องการ OOP ความคิดใด ๆ ??

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