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

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

8
วิธีอนุญาตการเชื่อมต่อเครือข่ายทุกประเภท HTTP และ HTTPS ใน Android (9) Pie
จาก Android 9 Pie ตอนนี้คำขอที่ไม่มีการเข้ารหัสจะไม่ทำงาน และตามค่าเริ่มต้นระบบจะคาดหวังให้คุณใช้ TLS เป็นค่าเริ่มต้น คุณสามารถอ่านคุณสมบัตินี้ได้ที่นี่ดังนั้นหากคุณส่งคำขอผ่าน HTTPS เท่านั้นคุณก็ปลอดภัย แต่สิ่งที่เกี่ยวกับแอปที่ส่งคำขอผ่านไซต์ต่างๆเช่นแอปที่คล้ายเบราว์เซอร์ ฉันจะเปิดใช้งานคำขอสำหรับการเชื่อมต่อทุกประเภท HTTP และ HTTPS ใน Android 9 Pie ได้อย่างไร

13
อะไรคือความแตกต่างระหว่างชนิด“ ทั่วไป” ใน C ++ และ Java
Java มี generics และ C ++ ให้รูปแบบการเขียนโปรแกรมที่แข็งแกร่งมากกับtemplates ดังนั้นอะไรคือความแตกต่างระหว่าง C ++ และ Java generics?

15
การใช้เมธอดหรือคลาสที่เลิกใช้ใน Java ผิดหรือไม่?
ฉันกำลังใช้ eclipse เพื่อพัฒนาเว็บแอปพลิเคชัน เพียงแค่วันนี้ฉันได้อัพเดตเวอร์ชัน struts ของฉันโดยการเปลี่ยนไฟล์ JAR ฉันได้รับคำเตือนในบางสถานที่ซึ่งวิธีการไม่ได้รับการสนับสนุน แต่รหัสทำงานได้ดี ฉันอยากรู้บางสิ่ง การใช้เมธอดหรือคลาสที่เลิกใช้ใน Java ผิดหรือไม่? จะเกิดอะไรขึ้นถ้าฉันไม่เปลี่ยนวิธีการใด ๆ และเรียกใช้แอปพลิเคชันของฉันด้วยคำเตือนที่ฉันมีจะเกิดปัญหาด้านประสิทธิภาพหรือไม่
153 java  methods  deprecated 

15
System.nanoTime () ไร้ประโยชน์อย่างสมบูรณ์หรือไม่
ดังที่บันทึกไว้ในบล็อกโพสต์ระวังของ System.nanoTime () ใน Java , บนระบบ x86, System.nanoTime ของ Java () ส่งคืนค่าเวลาโดยใช้ตัวนับCPU ที่เฉพาะเจาะจง ตอนนี้ให้พิจารณากรณีต่อไปนี้ที่ฉันใช้เพื่อวัดเวลาการโทร: long time1= System.nanoTime(); foo(); long time2 = System.nanoTime(); long timeSpent = time2-time1; ขณะนี้ในระบบมัลติคอร์อาจเป็นไปได้ว่าหลังจากการวัดเวลา 1 เธรดจะถูกกำหนดเวลาให้กับโปรเซสเซอร์อื่นซึ่งมีตัวนับน้อยกว่า CPU ก่อนหน้านี้ ดังนั้นเราสามารถรับค่าใน time2 ซึ่งน้อยกว่า time1 ดังนั้นเราจะได้รับค่าลบใน timeSpent เมื่อพิจารณาถึงกรณีนี้แล้ว System.nanotime นั้นไร้ประโยชน์มากในตอนนี้หรือไม่? ฉันรู้ว่าการเปลี่ยนเวลาของระบบไม่ส่งผลกระทบต่อ nanotime นั่นไม่ใช่ปัญหาที่ฉันอธิบายข้างต้น ปัญหาคือ CPU แต่ละตัวจะเก็บตัวนับที่แตกต่างกันนับตั้งแต่เปิดตัว ตัวนับนี้สามารถต่ำกว่าบน CPU ตัวที่สองเมื่อเทียบกับ …
153 java  nanotime 

7
เหตุใดฉันจึงควรใช้ Hamcrest-Matcher และ assertThat () แทน assertXXX แบบดั้งเดิม () - วิธีการ
เมื่อฉันดูตัวอย่างในคลาส Assert JavaDoc assertThat("Help! Integers don't work", 0, is(1)); // fails: // failure message: // Help! Integers don't work // expected: is <1> // got value: <0> assertThat("Zero is one", 0, is(not(1))) // passes assertEquals( 0, 1 )ฉันไม่ได้เห็นข้อได้เปรียบใหญ่กว่าสมมติว่า มันอาจจะดีสำหรับข้อความถ้าโครงสร้างมีความซับซ้อนมากขึ้น แต่คุณเห็นข้อดีมากกว่านี้ไหม? การอ่าน?
153 java  testing  junit  junit4  hamcrest 

11
จะหาซอร์สโค้ด Java JDK ได้ที่ไหน [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันต้องการจะดูว่าวิธีการใน Java API ทำอะไร ดังนั้นฉันต้องการซอร์สโค้ด JDK ก่อนที่ฉันจะติดตั้งลินุกซ์ใหม่ฉันมีsrc.zipแพ็คเกจที่มีซอร์สโค้ดอย่างเป็นทางการอยู่ในนั้น ฉันต้องบอก Eclipse ว่าไฟล์นี้อยู่ที่ไหนและฉันสามารถดูรหัสได้ แต่ตอนนี้ฉันไม่มีไฟล์อีกต่อไป ... ดังนั้นคำถามคือฉันจะหาได้ที่ไหน
153 java 

7
เปลี่ยนเทมเพลตผู้แต่งใน Android Studio
ฉันต้องการเปลี่ยนผู้สร้างอัตโนมัติที่ปรากฏขึ้นเมื่อฉันสร้างไฟล์ใน AndroidStudio /** * Created by a556520 on 16/01/14. */ public class POI { ผู้เขียนใช้เวลา 'a556520' แต่ฉันต้องการที่จะปรากฏชื่อของฉันไม่ใช่จำนวนพนักงาน เป็นไปได้ไหม ฉันไม่พบในการตั้งค่า


13
คุณส่งคืนอ็อบเจ็กต์ JSON จาก Java Servlet อย่างไร
คุณส่งคืนอ็อบเจ็กต์ JSON ในรูปแบบ servlet Java ได้อย่างไร ก่อนหน้านี้เมื่อทำ AJAX กับ servlet ฉันได้คืนสตริง มีประเภทของวัตถุ JSON ที่ต้องใช้หรือไม่หรือคุณเพียงแค่คืนค่าสตริงที่ดูเหมือนว่าวัตถุ JSON เช่น String objectToReturn = "{ key1: 'value1', key2: 'value2' }";
153 java  json  servlets 

4
ชื่อเครื่องปัจจุบัน Java และผู้ใช้ที่เข้าสู่ระบบ?
เป็นไปได้หรือไม่ที่จะได้รับชื่อผู้ใช้ที่ล็อกอินอยู่ในปัจจุบัน (Windows / Unix) และชื่อโฮสต์ของเครื่อง? ฉันคิดว่ามันเป็นเพียงคุณสมบัติของคลาสสภาพแวดล้อมแบบคงที่ ฉันพบสิ่งนี้สำหรับชื่อผู้ใช้ com.sun.security.auth.module.NTSystem NTSystem = new com.sun.security.auth.module.NTSystem(); System.out.println(NTSystem.getName()); และนี่สำหรับชื่อเครื่อง: import java.net.InetAddress; ... String computerName; ... try { computerName = InetAddress.getLocalHost().getHostName(); } catch(Exception ex) { ... } คนแรกสำหรับ Windows ใช่หรือไม่ และอันที่สองจะทำอะไรถ้าคุณยังไม่มีชื่อโฮสต์
153 java  environment 

9
วิธีใช้ BigInteger
ฉันมีรหัสชิ้นนี้ซึ่งใช้งานไม่ได้: BigInteger sum = BigInteger.valueOf(0); for(int i = 2; i < 5000; i++) { if (isPrim(i)) { sum.add(BigInteger.valueOf(i)); } } ผลรวมของตัวแปรอยู่เสมอ 0 ฉันทำอะไรผิด
153 java  biginteger 

9
การรวบรวมล้มเหลวในการทำให้สมบูรณ์: ประเภทโปรแกรมมีอยู่แล้ว: com.google.android.gms.internal.measurement.zzabn
เมื่อรวบรวมโครงการของฉันฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้: Program type already present: com.google.android.gms.internal.measurement.zzabn Message{kind=ERROR, text=Program type already present: com.google.android.gms.internal.measurement.zzabn, sources=[Unknown source file], tool name=Optional.of(D8)} หรือ D8: Program type already present: com.google.android.gms.internal.measurement.zzabo ด้วย stacktrace ต่อไปนี้ใน Gradle Log at com.android.builder.profile.Recorder$Block.handleException(Recorder.java:55) at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:104) at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:212)\\nat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73) at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39) at …

8
เป็นไปได้หรือไม่ที่จะแก้ปัญหา“ คำสั่งคอมไพเลอร์ทั่วไปของ T ถูกสร้างขึ้นสำหรับพารามิเตอร์ varargs”?
นี่เป็นเวอร์ชันที่ง่ายของโค้ดที่เป็นปัญหาคลาสทั่วไปหนึ่งคลาสใช้คลาสอื่นที่มีพารามิเตอร์ชนิดทั่วไปและต้องการส่งหนึ่งประเภททั่วไปไปยังวิธีที่มีพารามิเตอร์ varargs: class Assembler<X, Y> { void assemble(X container, Y... args) { ... } } class Component<T> { void useAssembler(T something) { Assembler<String, T> assembler = new Assembler<String, T>(); //generates warning: // Type safety : A generic array of T is // created for a varargs parameter assembler.assemble("hello", something); } …
153 java  generics 

5
Mockito จับคู่อาร์กิวเมนต์ของคลาสใด ๆ
มีวิธีจับคู่อาร์กิวเมนต์คลาสใด ๆ ของรูทีนตัวอย่างด้านล่างหรือไม่? class A { public B method(Class<? extends A> a) {} } ฉันจะส่งคืนnew B()คลาสโดยไม่คำนึงว่าคลาสใดถูกส่งเข้ามาเสมอmethod? ความพยายามต่อไปนี้ใช้สำหรับกรณีเฉพาะที่Aตรง A a = new A(); B b = new B(); when(a.method(eq(A.class))).thenReturn(b); แก้ไข : ทางออกหนึ่งคือ (Class<?>) any(Class.class)

26
ลำดับการสตรีม Java 8 แบบย้อนกลับ
คำถามทั่วไป: อะไรคือวิธีที่เหมาะสมในการย้อนกลับสตรีม สมมติว่าเราไม่ทราบว่าองค์ประกอบใดของสตรีมที่ประกอบไปด้วยอะไรคือวิธีทั่วไปในการย้อนกลับสตรีมใด ๆ คำถามเฉพาะ: IntStreamนำเสนอวิธีการแบบช่วงเพื่อสร้างจำนวนเต็มในช่วงที่เฉพาะเจาะจงIntStream.range(-range, 0)ตอนนี้ฉันต้องการย้อนกลับจากการเปลี่ยนช่วงจาก 0 ไปเป็นค่าลบจะไม่ทำงานและฉันไม่สามารถใช้Integer::compare List<Integer> list = Arrays.asList(1,2,3,4); list.stream().sorted(Integer::compare).forEach(System.out::println); กับIntStreamฉันจะได้รับรวบรวมข้อผิดพลาดนี้ ข้อผิดพลาด: (191, 0) ajc: วิธีการsorted()ในประเภทIntStreamไม่สามารถใช้ได้กับข้อโต้แย้ง ( Integer::compare) ฉันคิดถึงอะไรที่นี่

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