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

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


6
จะเปลี่ยนสีของเหตุการณ์ที่ไฮไลต์ในแถบด้านข้างของ Eclipse ได้อย่างไร
เมื่อคุณเปิดใช้งาน "ทำเครื่องหมายเหตุการณ์" ใน Eclipse การวางเคอร์เซอร์บนประเภท / ตัวแปร / วิธีการ / etc ใด ๆ จะเน้นเหตุการณ์ทั้งหมดในโปรแกรมแก้ไขข้อความและวางแถบสีจาง ๆ ในไม้บรรทัดที่เหมาะสมเพื่อแสดงตำแหน่งของเหตุการณ์อื่น ๆ ใน ไฟล์. มีใครทราบบ้างว่าในการตั้งค่าคุณสามารถเปลี่ยนสีที่ใช้เพื่อเน้นเหตุการณ์อื่น ๆ ในไม้บรรทัดด้านข้างได้ที่ไหน? สีจางเกินไปสำหรับฉันเมื่อใช้ธีมจอภาพ / Windows Aero ในปัจจุบัน ฉันพยายามเข้าไปที่การตั้งค่า> ทั่วไป> ลักษณะที่ปรากฏ> สีและแบบอักษรเปลี่ยนสีสำหรับ "ป้ายกำกับสี - ไฮไลต์ที่ตรงกัน" แต่ดูเหมือนจะใช้ไม่ได้ นี่คือภาพหน้าจอที่มีสิ่งที่ฉันกำลังพูดถึง:


4
วิธีเลือกกลยุทธ์การสร้างรหัสเมื่อใช้ JPA และ Hibernate
ฉันกำลังอ่านหัวข้อการสร้างรหัสของคู่มืออ้างอิง Hibernate และ "java persistence with Hibernate" มีตัวเลือกมากมายสำหรับ Hibernate และ JPA รวมกัน ฉันกำลังมองหาเอกสารเพิ่มเติมเกี่ยวกับวิธีเลือกกลยุทธ์การสร้างรหัสเฉพาะ ฉันยังมองหาจุดให้ทิป ตัวอย่างเช่นกลยุทธ์ไฮโลคาดว่าจะลดการทะเลาะวิวาท ฉันสมมติว่าต้องมีการแลกเปลี่ยนที่เกี่ยวข้องกับตัวเลือกนี้ ฉันต้องการได้รับการศึกษาเกี่ยวกับการแลกเปลี่ยน มีวรรณกรรมหรือไม่

25
การเพิ่มประสิทธิภาพ / ทางเลือก Java HashMap
ฉันต้องการสร้าง HashMap ขนาดใหญ่ แต่put()ประสิทธิภาพไม่ดีพอ ความคิดใด ๆ ? ยินดีรับคำแนะนำโครงสร้างข้อมูลอื่น ๆ แต่ฉันต้องการคุณสมบัติการค้นหาของ Java Map: map.get(key) ในกรณีของฉันฉันต้องการสร้างแผนที่ที่มี 26 ล้านรายการ การใช้ Java HashMap มาตรฐานอัตราการใส่จะช้าลงเหลือทนหลังจากการแทรก 2-3 ล้านครั้ง มีใครรู้บ้างว่าการใช้การแจกแจงรหัสแฮชที่แตกต่างกันสำหรับคีย์สามารถช่วยได้หรือไม่? วิธีการแฮชโค้ดของฉัน: byte[] a = new byte[2]; byte[] b = new byte[3]; ... public int hashCode() { int hash = 503; hash = hash * 5381 + (a[0] …

7
Timer & TimerTask เทียบกับ Thread + sleep ใน Java
ฉันพบคำถามคล้าย ๆ กันที่ถามที่นี่ แต่ไม่มีคำตอบสำหรับความพึงพอใจของฉัน ดังนั้นจึงเปลี่ยนคำถามอีกครั้ง - ฉันมีงานที่ต้องทำเป็นระยะ (พูดช่วงเวลา 1 นาที) อะไรคือข้อดีของการใช้ Timertask & Timer เพื่อทำสิ่งนี้ซึ่งต่างจากการสร้างเธรดใหม่ที่มีการวนซ้ำแบบไม่มีที่สิ้นสุดพร้อมกับโหมดสลีป ข้อมูลโค้ดโดยใช้ timertask- TimerTask uploadCheckerTimerTask = new TimerTask(){ public void run() { NewUploadServer.getInstance().checkAndUploadFiles(); } }; Timer uploadCheckerTimer = new Timer(true); uploadCheckerTimer.scheduleAtFixedRate(uploadCheckerTimerTask, 0, 60 * 1000); ข้อมูลโค้ดโดยใช้เธรดและสลีป - Thread t = new Thread(){ public void run() { …
102 java  timer  while-loop  sleep  task 

6
ฉันจะเปิด SearchView โดยใช้โปรแกรมได้อย่างไร
มีวิดเจ็ตนี้สำหรับ ActionBar ซึ่งเรียกว่า 'SearchView' เมื่อไม่ได้ใช้งานจะมีลักษณะดังนี้: และเมื่อใช้งานจะมีลักษณะดังนี้: ฉันต้องการ (แน่นอนโดยทางโปรแกรม) เปิดมุมมองการค้นหา (ทำให้เป็น "ใช้งานอยู่") ฉันลองฟังก์ชั่นหลายอย่างเช่น: SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView(); searchView.setOnQueryTextListener(this); searchView.performClick(); searchView.requestFocus(); แต่ไม่มีเลย ... SearchView ใน XML: <item android:id="@+id/menu_search" android:title="Search" android:icon="@drawable/ic_action_search" android:showAsAction="ifRoom|collapseActionView" android:actionViewClass="android.widget.SearchView" />

5
การเริ่มต้นอาร์เรย์บูลีนใน java
ฉันมีรหัสนี้ public static Boolean freq[] = new Boolean[Global.iParameter[2]]; freq[Global.iParameter[2]] = false; ใครช่วยบอกทีว่าฉันทำอะไรผิดที่นี่และฉันจะแก้ไขอย่างไร ฉันต้องเริ่มต้นองค์ประกอบอาร์เรย์ทั้งหมดเป็น Boolean false ขอบคุณ

13
เหตุใดฉันจึงต้องสนใจว่า Java ไม่ได้มีการ reified generics
สิ่งนี้เกิดขึ้นเป็นคำถามที่ฉันถามในการสัมภาษณ์เมื่อเร็ว ๆ นี้เนื่องจากมีบางสิ่งที่ผู้สมัครต้องการเห็นเพิ่มเข้าไปในภาษา Java โดยทั่วไปมักถูกระบุว่าเป็นความเจ็บปวดที่ Java ไม่ได้ทำให้เกิดชื่อสามัญแต่เมื่อถูกผลักดันผู้สมัครไม่สามารถบอกฉันได้ว่าสิ่งต่างๆที่เขาสามารถทำได้คือสิ่งเหล่านี้ เห็นได้ชัดว่าเนื่องจากชนิดดิบเป็นสิ่งที่อนุญาตใน Java (และการตรวจสอบที่ไม่ปลอดภัย) จึงเป็นไปได้ที่จะล้มล้าง generics และลงเอยด้วยสิ่งList<Integer>นั้น (ตัวอย่าง) มีStrings อยู่จริง สิ่งนี้ชัดเจนว่าเป็นไปไม่ได้คือข้อมูลประเภท reified; แต่ต้องมีมากกว่านี้ ! ผู้คนสามารถโพสต์ตัวอย่างของสิ่งที่พวกเขาอยากทำจริงๆได้หรือไม่มี reified generics ฉันหมายถึงเห็นได้ชัดว่าคุณสามารถหาประเภทของ a Listat runtime ได้ แต่คุณจะทำอย่างไรกับมัน? public <T> void foo(List<T> l) { if (l.getGenericType() == Integer.class) { //yeah baby! err, what now? แก้ไข : การอัปเดตอย่างรวดเร็วสำหรับสิ่งนี้เนื่องจากคำตอบดูเหมือนส่วนใหญ่จะเกี่ยวข้องกับความจำเป็นในการส่งClassเป็นพารามิเตอร์ (ตัวอย่างEnumSet.noneOf(TimeUnit.class)) ฉันถูกมองมากขึ้นสำหรับบางสิ่งบางอย่างตามสายของที่นี้ก็เป็นไปไม่ได้ …

7
Manifest.mf ไม่ถูกต้องใน IntelliJ IDEA ที่สร้าง. jar
ฉันกำลังพยายามทำแพ็กเกจโปรเจ็กต์โดยใช้ไลบรารี OptaPlanner 6.0.1 ลงใน. jar ผ่านสิ่งประดิษฐ์ jar ของ IntelliJ IDEA แต่แทนที่จะเป็น manifest.mf ของฉันที่มีมาตรฐาน Manifest-Version: 1.0 Main-Class: a.b.c.app โถใช้อันที่ให้มาใน ecj-3.7.2.jar ซึ่งเป็นหนึ่งในไลบรารีที่รองรับของ OptaPlanner: Manifest-Version: 1.0 Build-Jdk: 1.6.0_26 Built-By: ibrandt Created-By: Apache Maven Archiver-Version: Plexus Archiver ด้วยเหตุนี้"no main manifest attribute, in appname.jar"ข้อผิดพลาดจึงเกิดขึ้นขณะพยายามเรียกใช้แอป หากฉันแทนที่รายการในไฟล์. jar ด้วยตนเองด้วยของฉันทุกอย่างทำงานได้อย่างถูกต้อง มีอะไรที่ฉันสามารถแก้ไขได้หรือไม่? ฉันเก็บไลบรารีไว้ในไดเร็กทอรี / lib แยกต่างหากและถูกเพิ่มลงในรูทของ jar อาร์ติแฟกต์เป็น Extracted …

7
ไม่สามารถทำการอ้างอิงแบบคงที่กับวิธีการไม่คงที่
การสร้างแอปพลิเคชันหลายภาษาใน Java รับข้อผิดพลาดเมื่อแทรกค่าสตริงจากR.stringไฟล์ XML ของทรัพยากร: public static final String TTT = (String) getText(R.string.TTT); นี่คือข้อความแสดงข้อผิดพลาด: ข้อผิดพลาด: ไม่สามารถทำการอ้างอิงแบบคงที่ไปยังวิธีการที่ไม่คงที่ getText (int) จากประเภทบริบท เกิดจากสาเหตุใดและจะแก้ได้อย่างไร?

20
รวบรวมคู่ต่อเนื่องจากสตรีม
ได้รับกระแสเช่น{ 0, 1, 2, 3, 4 }, ฉันจะเปลี่ยนเป็นรูปแบบที่กำหนดอย่างหรูหราที่สุดได้อย่างไร: { new Pair(0, 1), new Pair(1, 2), new Pair(2, 3), new Pair(3, 4) } (สมมติว่าฉันได้กำหนด class Pair ไว้แล้ว)? แก้ไข:สิ่งนี้ไม่ได้เกี่ยวกับ ints หรือสตรีมดั้งเดิมอย่างเคร่งครัด คำตอบควรเป็นคำตอบทั่วไปสำหรับสตรีมทุกประเภท
102 java  java-8  java-stream 

7
JAVA_HOME ควรชี้ไปที่ JDK หรือ JRE?
ผมชี้ไปJAVA_HOME C:\Program Files (x86)\Java\jre7มันทำงานได้ดี หลังจากนั้นฉันคลายซิปมดและตั้งค่าตัวแปรสภาพแวดล้อมที่เกี่ยวข้องกับ Ant ฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้หลังจากพิมพ์"ant -version" ฉันค้นหาฟอรัมนี้ ดูเหมือนวิธีแก้ปัญหาหนึ่งคือชี้ Java ไปที่ JDK แทน JRE ฉันไม่แน่ใจว่านี่ควรเป็นวิธีแก้ปัญหาหรือไม่ กล่าวอีกนัยหนึ่งโดยทั่วไป JAVA_HOME ควรชี้ไปที่ข้อใด JDK หรือ JRE?
102 java  ant  java-home 

8
การหลีกเลี่ยงอินสแตนซ์ของ Java
การมีห่วงโซ่ของการดำเนินการ "instanceof" ถือเป็น "กลิ่นรหัส" คำตอบมาตรฐานคือ "ใช้ความหลากหลาย" ฉันจะทำอย่างไรในกรณีนี้? มีคลาสย่อยจำนวนหนึ่งของคลาสพื้นฐาน ไม่มีใครอยู่ภายใต้การควบคุมของฉัน สถานการณ์ที่คล้ายคลึงกันจะเป็นกับคลาส Java Integer, Double, BigDecimal เป็นต้น if (obj instanceof Integer) {NumberStuff.handle((Integer)obj);} else if (obj instanceof BigDecimal) {BigDecimalStuff.handle((BigDecimal)obj);} else if (obj instanceof Double) {DoubleStuff.handle((Double)obj);} ฉันสามารถควบคุม NumberStuff และอื่น ๆ ได้ ฉันไม่ต้องการใช้โค้ดหลายบรรทัดโดยที่ไม่กี่บรรทัดจะทำได้ (บางครั้งฉันทำแผนที่ HashMap Integer.class กับอินสแตนซ์ของ IntegerStuff, BigDecimal.class ไปยังอินสแตนซ์ของ BigDecimalStuff เป็นต้น แต่วันนี้ฉันต้องการสิ่งที่ง่ายกว่านี้) ฉันต้องการอะไรง่ายๆดังนี้: public …

17
วิธีการบล็อกวิธีการ submit () ของ ThreadPoolExecutor ถ้ามันอิ่มตัว?
ฉันต้องการสร้างสิ่งThreadPoolExecutorนั้นเมื่อถึงขนาดสูงสุดและคิวเต็มsubmit()เมธอดจะบล็อกเมื่อพยายามเพิ่มงานใหม่ ฉันจำเป็นต้องใช้งานแบบกำหนดเองRejectedExecutionHandlerสำหรับสิ่งนั้นหรือมีวิธีที่มีอยู่ในการดำเนินการนี้โดยใช้ไลบรารี Java มาตรฐานหรือไม่

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