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

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

6
ส่วนใดของการโยนข้อยกเว้นมีราคาแพง
ใน Java การใช้ throw / catch เป็นส่วนหนึ่งของตรรกะเมื่อไม่มีข้อผิดพลาดจริง ๆ แล้วเป็นความคิดที่ไม่ดี (ส่วนหนึ่ง) เนื่องจากการขว้างและจับข้อยกเว้นนั้นมีราคาแพงและการทำมันหลายครั้งในลูปมักจะช้ากว่าคนอื่น โครงสร้างการควบคุมที่ไม่เกี่ยวข้องกับการโยนข้อยกเว้น คำถามของฉันคือมีค่าใช้จ่ายเกิดขึ้นในการโยน / จับเองหรือเมื่อสร้างออบเจ็กต์ข้อยกเว้น (เนื่องจากได้รับข้อมูลรันไทม์จำนวนมากรวมถึงสแต็กการเรียกใช้งาน) กล่าวอีกนัยหนึ่งถ้าฉันทำ Exception e = new Exception(); แต่อย่าโยนมันเป็นค่าใช้จ่ายส่วนใหญ่ของการขว้างปาหรือการโยนและการจับเป็นสิ่งที่มีค่าใช้จ่ายสูงหรือไม่ ฉันไม่ได้ถามว่าการวางรหัสในบล็อกแบบลอง / จับเพิ่มค่าใช้จ่ายในการดำเนินการรหัสนั้นหรือไม่ฉันกำลังถามว่าการจับข้อยกเว้นเป็นส่วนที่มีราคาแพงหรือการสร้าง (เรียกตัวสร้างสำหรับ) ข้อยกเว้นเป็นส่วนที่มีราคาแพง . อีกวิธีหนึ่งในการถามนี้คือถ้าฉันทำตัวอย่างข้อยกเว้นแล้วขว้างและจับมันซ้ำแล้วซ้ำอีกนั่นจะเร็วกว่าการสร้างข้อยกเว้นใหม่ทุกครั้งที่ฉันโยนหรือไม่

19
มีวิธีสร้าง getters และ setters ใน Eclipse โดยอัตโนมัติหรือไม่?
ฉันกำลังทำงานในAndroidโครงการใหม่( Java) และสร้างวัตถุที่มีตัวแปรจำนวนมาก เนื่องจากฉันวางแผนที่จะเพิ่มตัวตั้งค่าและตัวตั้งค่าสำหรับพวกเขาทั้งหมดฉันจึงสงสัยว่า: มีทางลัดในEclipseการสร้างตัวตั้งค่าและตัวตั้งค่าในชั้นเรียนที่กำหนดหรือไม่


4
อะไรคือความแตกต่างระหว่างค้นหาทันใจกับ LocalDateTime
ฉันรู้แล้ว: การค้นหาทันใจเป็นเพียงการประทับเวลา "ทางเทคนิค" (นาโนวินาที) สำหรับการคำนวณ LocalDateTimeค่อนข้างแสดงวันที่ / นาฬิการวมถึงเขตเวลาสำหรับมนุษย์ ยังคงอยู่ในตอนท้าย IMO ทั้งสองสามารถใช้เป็นประเภทสำหรับกรณีการใช้งานส่วนใหญ่ ตัวอย่าง: ปัจจุบันฉันกำลังทำงานแบทช์ที่ฉันต้องการคำนวณการวิ่งครั้งต่อไปตามวันที่และฉันพยายามหาข้อดี / ข้อเสียระหว่างสองประเภทนี้ (นอกเหนือจากข้อได้เปรียบความแม่นยำระดับนาโนวินาทีของ Instant และส่วนของโซนเวลา ของ LocalDateTime) คุณสามารถตั้งชื่อตัวอย่างแอพพลิเคชั่นได้หรือไม่โดยควรใช้เฉพาะ Instant หรือ LocalDateTime แก้ไข: ระวังเอกสารที่อ่านผิดสำหรับ LocalDateTime เกี่ยวกับความแม่นยำและโซนเวลา
256 java  datetime  java-8 

17
วิธีการหมดเวลาของเธรด
ฉันต้องการเรียกใช้เธรดในระยะเวลาที่แน่นอน หากยังไม่แล้วเสร็จภายในเวลานั้นฉันต้องการฆ่าทิ้งข้อยกเว้นหรือจัดการบางอย่าง จะทำอย่างไร? วิธีหนึ่งในการทำตามที่ฉันคิดออกจากหัวข้อนี้ คือการใช้ TimerTask ภายในเมธอด run () ของเธรด มีวิธีแก้ปัญหาที่ดีกว่านี้หรือไม่? แก้ไข: เพิ่มรางวัลตามที่ฉันต้องการคำตอบที่ชัดเจน รหัส ExecutorService ที่ระบุด้านล่างไม่สามารถแก้ไขปัญหาของฉันได้ ทำไมฉันถึงควรหลับ () หลังจากทำการประมวลผล (บางรหัส - ฉันไม่มีส่วนจัดการกับรหัสนี้) หากรหัสเสร็จสมบูรณ์และ sleep () ถูกขัดจังหวะจะเป็น timeOut ได้อย่างไร งานที่ต้องดำเนินการไม่ได้อยู่ในการควบคุมของฉัน มันอาจเป็นรหัสใด ๆ ปัญหาคือรหัสชิ้นส่วนนี้อาจทำงานเป็นวงวนไม่สิ้นสุด ฉันไม่ต้องการที่จะเกิดขึ้น ดังนั้นฉันแค่ต้องการที่จะทำงานในหัวข้อแยก เธรดหลักต้องรอจนกว่าเธรดนั้นจะเสร็จสิ้นและจำเป็นต้องทราบสถานะของงาน (เช่นไม่ว่าจะหมดเวลาหรือมีข้อยกเว้นเกิดขึ้นหรือประสบความสำเร็จ) หากงานเข้าสู่วงวนไม่สิ้นสุดเธรดหลักของฉันจะคอยเรื่อย ๆ ซึ่งไม่ใช่สถานการณ์ในอุดมคติ

6
การดีบักแบบรีโมตสำหรับแอ็พพลิเคชัน Java
ฉันมีจาวาแอปพลิเคชันที่ทำงานบนเครื่องลินุกซ์ ฉันรันแอปพลิเคชัน java โดยใช้สิ่งต่อไปนี้: java myapp -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000, suspend=n ฉันได้เปิดพอร์ต 4000 สำหรับ TCP บนเครื่อง Linux นี้ ฉันใช้ eclipse จากเครื่อง Windows XP และลองเชื่อมต่อกับแอปพลิเคชันนี้ ฉันได้เปิดพอร์ตใน windows ด้วย เครื่องทั้งสองอยู่บน LAN แต่ฉันไม่สามารถเชื่อมต่อดีบักเกอร์กับแอปพลิเคชัน Java ได้ ผมทำอะไรผิดหรือเปล่า?

14
IntelliJ จัดระเบียบการนำเข้า
IntelliJ มีคุณสมบัติ Organize Imports เหมือนกับที่อยู่ใน Eclipse หรือไม่? สิ่งที่ฉันมีคือไฟล์ Java ที่มีหลายคลาสขาดการนำเข้า ตัวอย่าง: package com.test; public class Foo { public Map map; public JTable table; } ในคราสฉันสามารถใช้จัดระเบียบการนำเข้าโดยอัตโนมัติและจะนำเข้าทั้งสองและjava.util.Map javax.swing.JTableใน IntelliJ ฉันต้องไปทีละชั้นแล้วเลือกจากนั้นกด Alt-Enter มีคุณสมบัติเพิ่มประสิทธิภาพการนำเข้า แต่สิ่งที่ดูเหมือนว่าจะทำคือเรียงลำดับและขยายการนำเข้าที่มีอยู่ ฉันใช้ IntelliJ 10.5

7
การเพิ่มส่วนหัวสำหรับ HttpURLConnection
ฉันกำลังพยายามเพิ่มส่วนหัวสำหรับคำขอของฉันโดยใช้HttpUrlConnectionแต่วิธีการsetRequestProperty()ไม่ทำงาน ฝั่งเซิร์ฟเวอร์ไม่ได้รับการร้องขอใด ๆ กับส่วนหัวของฉัน HttpURLConnection hc; try { String authorization = ""; URL address = new URL(url); hc = (HttpURLConnection) address.openConnection(); hc.setDoOutput(true); hc.setDoInput(true); hc.setUseCaches(false); if (username != null && password != null) { authorization = username + ":" + password; } if (authorization != null) { byte[] encodedBytes; encodedBytes = …
254 java  http 

13
การสแกนหมายเหตุประกอบ Java เมื่อรันไทม์ [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน3 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ วิธีที่ดีที่สุดในการค้นหา classpath ทั้งหมดสำหรับคลาสที่มีคำอธิบายประกอบคืออะไร ฉันทำห้องสมุดและฉันต้องการอนุญาตให้ผู้ใช้ใส่คำอธิบายประกอบในชั้นเรียนของพวกเขาดังนั้นเมื่อเว็บแอปพลิเคชันเริ่มต้นฉันต้องสแกน classpath ทั้งหมดเพื่อหาคำอธิบายประกอบบางอย่าง คุณรู้ว่าห้องสมุดหรือสิ่งอำนวยความสะดวก Java ทำเช่นนี้? แก้ไข: ฉันกำลังคิดถึงบางสิ่งบางอย่างเช่นฟังก์ชั่นใหม่สำหรับ Java EE 5 Web Services หรือ EJB คุณใส่คำอธิบายประกอบชั้นเรียนของคุณด้วย@WebServiceหรือ@EJBและระบบค้นหาชั้นเรียนเหล่านี้ในขณะที่โหลดเพื่อให้สามารถเข้าถึงได้จากระยะไกล

10
แผนที่ / แคชตามเวลาของ Java พร้อมปุ่มหมดอายุ [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ มีใครบ้างที่รู้เกี่ยวกับ Java Map หรือแหล่งข้อมูลมาตรฐานที่คล้ายกันซึ่งจะทำการลบข้อมูลโดยอัตโนมัติหลังจากหมดเวลาที่กำหนด นี่หมายถึงความแก่ชราที่ซึ่งรายการเก่า ๆ นั้น“ หมดอายุ” โดยอัตโนมัติ โดยเฉพาะอย่างยิ่งในห้องสมุดโอเพนซอร์สที่สามารถเข้าถึงได้ผ่าน Maven? ฉันรู้วิธีที่จะใช้งานฟังก์ชั่นของตัวเองและเคยทำมาแล้วหลายครั้งในอดีตดังนั้นฉันจึงไม่ขอคำแนะนำในแง่นั้น แต่เพื่อเป็นแนวทางสำหรับการอ้างอิงที่ดี โซลูชันที่ใช้WeakReferenceเช่นWeakHashMapไม่ใช่ตัวเลือกเนื่องจากคีย์ของฉันน่าจะเป็นสตริงที่ไม่ได้อยู่ภายในและฉันต้องการหมดเวลาที่กำหนดได้ซึ่งไม่ได้ขึ้นอยู่กับตัวรวบรวมขยะ Ehcacheเป็นตัวเลือกที่ฉันไม่ต้องการพึ่งพาเนื่องจากต้องการไฟล์การกำหนดค่าภายนอก ฉันกำลังมองหาโซลูชันที่ใช้รหัสเท่านั้น
253 java  caching  dictionary 

6
javac ไม่ได้รับการยอมรับว่าเป็นคำสั่งภายในหรือภายนอก, โปรแกรมที่ทำงานได้หรือแบตช์ไฟล์ [ปิด]
ปิด. คำถามนี้เป็นคำถามที่ไม่สามารถทำซ้ำหรือเกิดจากความผิดพลาด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันพบข้อผิดพลาดขณะพยายามคอมไพล์โปรแกรม Java ฉันใช้ Windows (นี่เป็นปัญหาเฉพาะของ Windows) และฉันติดตั้ง JDK ล่าสุดแล้ว ฉันได้ลองวิธีแก้ปัญหาที่เกี่ยวข้องกับPATHตัวแปรแล้ว แต่ข้อผิดพลาดยังคงมีอยู่ เอาต์พุตคอนโซล: C:\>set path=C:Program Files (x86)\Java\jdk1.7.0\bin C:\>javac Hello.java 'javac' is not recognized as an internal or external command, operable program or batch file.

3
ใช้กรณีสำหรับ RxJava schedulers
ใน RxJava มี5 ตัวเลือกที่แตกต่างกันให้เลือก: ทันที () : สร้างและส่งคืน Scheduler ที่ทำงานทันทีบนเธรดปัจจุบัน trampoline () : สร้างและส่งคืน Scheduler ที่จัดคิวงานบนเธรดปัจจุบันที่จะดำเนินการหลังจากงานปัจจุบันเสร็จสมบูรณ์ newThread () : สร้างและส่งคืน Scheduler ที่สร้างเธรดใหม่สำหรับแต่ละหน่วยงาน การคำนวณ () : สร้างและส่งคืน Scheduler สำหรับการคำนวณ สามารถใช้สำหรับการวนรอบเหตุการณ์การประมวลผลการเรียกกลับและงานคำนวณอื่น ๆ อย่าทำงานที่ถูกผูกไว้กับ IO บนตัวกำหนดตารางเวลานี้ ใช้ Schedulers io ()แทน io () : สร้างและส่งคืน Scheduler สำหรับงานที่มีขอบเขต IO การใช้งานได้รับการสนับสนุนโดยเธรดพู Executionor ที่จะเติบโตตามที่ต้องการ สามารถใช้สำหรับการบล็อก IO แบบอะซิงโครนัส …

10
แทนที่ปุ่มย้อนกลับเพื่อทำหน้าที่เหมือนปุ่มโฮม
เมื่อกดปุ่มย้อนกลับฉันต้องการให้แอปพลิเคชันของฉันเข้าสู่สถานะหยุดทำงานแทนที่จะเป็นสถานะที่ถูกทำลาย ในเอกสาร Android มันระบุ: ... ไม่ใช่ทุกกิจกรรมที่มีพฤติกรรมที่ถูกทำลายเมื่อกด BACK เมื่อผู้ใช้เริ่มเล่นเพลงในแอปพลิเคชั่น Music แล้วกด BACK แอพพลิเคชั่นจะแทนที่พฤติกรรมปกติหลังป้องกันไม่ให้กิจกรรมของผู้เล่นถูกทำลายและเล่นเพลงต่อไปแม้ว่ากิจกรรมจะไม่ปรากฏให้เห็นอีกต่อไป ฉันจะทำซ้ำฟังก์ชั่นนี้ในแอปพลิเคชันของตัวเองได้อย่างไร ฉันคิดว่าต้องมีความเป็นไปได้สามอย่าง ... จับปุ่มย้อนกลับกด (ตามด้านล่าง) แล้วเรียกวิธีการใด ๆ ที่ปุ่มโฮมเรียก @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK)) { Log.d(this.getClass().getName(), "back button pressed"); } return super.onKeyDown(keyCode, event); } จับการกดปุ่มย้อนกลับจากนั้นหลอกการกดปุ่มโฮม บันทึกการกดปุ่มย้อนกลับจากนั้นเริ่มกิจกรรมของหน้าจอหลักทำให้กิจกรรมของแอปพลิเคชันของฉันเข้าสู่สถานะหยุดทำงานได้อย่างมีประสิทธิภาพ แก้ไข: ฉันรู้เกี่ยวกับบริการและกำลังใช้งานแอปพลิเคชันที่เกี่ยวข้องกับปัญหานี้ คำถามนี้เกี่ยวกับการทำให้กิจกรรมเข้าสู่สถานะหยุดแทนที่จะเป็นสถานะทำลายเมื่อกดปุ่มย้อนกลับ

16
วิธีง่ายๆในการค้นหาว่ามีสองรายการที่แตกต่างกันมีองค์ประกอบที่เหมือนกันหรือไม่?
วิธีที่ง่ายที่สุดในการค้นหาคือถ้ารายการสองรายการมีองค์ประกอบเดียวกันในไลบรารี Java มาตรฐานหรือไม่ ไม่สำคัญว่าทั้งสองรายการจะเป็นอินสแตนซ์เดียวกันหรือไม่และไม่สำคัญว่าพารามิเตอร์ประเภทของรายการจะแตกต่างกันหรือไม่ เช่น List list1 List<String> list2; // ... construct etc list1.add("A"); list2.add("A"); // the function, given these two lists, should return true อาจมีบางอย่างจ้องมองฉันในหน้าฉันรู้ :-) แก้ไข: เพื่อชี้แจงฉันกำลังมองหาองค์ประกอบที่แน่นอนเดียวกันและจำนวนขององค์ประกอบในการสั่งซื้อ
253 java  collections 

5
คุณระบุเวอร์ชันคอมไพเลอร์ Java ในไฟล์ pom.xml อย่างไร
ฉันเขียนโค้ด maven บน netbeans ที่มีประมาณ 2,000 บรรทัดขึ้นไป เมื่อฉันรวบรวมมันบน netbeans ทุกอย่างใช้ได้ แต่ถ้าฉันต้องการเรียกใช้บนบรรทัดคำสั่งฉันจะได้รับข้อผิดพลาดเหล่านี้: generics are not supported in -source 1.3 (use -source 5 or higher to enable generics) ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>(); generics are not supported in -source 1.3 (use -source 5 or higher to enable generics) HashSet<Double> resid_List = new …
252 java  maven  pom.xml 

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