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

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

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

4
ความแตกต่างระหว่างบทบาทและสิ่งที่ได้รับสิทธิ์ในการรักษาความปลอดภัยของสปริง
มีแนวคิดและการใช้งานใน Spring Security เช่นGrantedAuthorityอินเทอร์เฟซเพื่อรับสิทธิ์ในการอนุญาต / ควบคุมการเข้าถึง ฉันต้องการให้การดำเนินการที่อนุญาตเช่นcreateSubUsersหรือdeleteAccountsซึ่งฉันอนุญาตให้ผู้ดูแลระบบ (มีบทบาทROLE_ADMIN) ฉันสับสนเนื่องจากบทเรียน / การสาธิตที่ฉันเห็นทางออนไลน์ ฉันพยายามเชื่อมต่อสิ่งที่ฉันอ่าน แต่ฉันคิดว่าเราปฏิบัติต่อทั้งสองอย่างสลับกันได้ ฉันเห็นการhasRoleบริโภคGrantedAuthorityสตริงหรือไม่ ฉันเข้าใจผิดแน่นอนในการทำความเข้าใจ แนวคิดเหล่านี้ใน Spring Security มีอะไรบ้าง ฉันจะจัดเก็บบทบาทของผู้ใช้แยกจากหน่วยงานผู้มีอำนาจสำหรับบทบาทนั้นได้อย่างไร ฉันยังดูที่org.springframework.security.core.userdetails.UserDetailsอินเทอร์เฟซที่ใช้ในการรับรองความถูกต้อง - ผู้ให้บริการอ้างอิง DAO ซึ่งใช้User(หมายเหตุล่าสุด GrantedAuthority): public User(String username, String password, boolean enabled, boolean accountNonExpired, boolean credentialsNonExpired, boolean accountNonLocked, Collection<? extends GrantedAuthority> authorities) หรือมีวิธีอื่นในการแยกความแตกต่างระหว่างสองอีกหรือไม่ หรือมันไม่ได้รับการสนับสนุนและเราต้องทำด้วยตัวเอง?

7
จัดรูปแบบทันทีเป็นสตริง
ฉันพยายามจัดรูปแบบสตริงเป็นสตริงโดยใช้ java 8 time-api ใหม่และรูปแบบ: Instant instant = ...; String out = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(instant); ใช้รหัสข้างต้นฉันได้รับการยกเว้นซึ่งบ่นว่าฟิลด์ไม่ได้รับการสนับสนุน: java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: YearOfEra at java.time.Instant.getLong(Instant.java:608) at java.time.format.DateTimePrintContext.getValue(DateTimePrintContext.java:298) ...

30
การดูเนื้อหาของไฟล์. jar
อะไรจะเป็นวิธีที่ง่ายที่สุดในการดูคลาส, เมธอด, คุณสมบัติ, ฯลฯ ภายในไฟล์ jar? ฉันกำลังมองหาบางสิ่งที่เทียบเท่ากับLutz Roeder .NET Reflector ที่มีประโยชน์มาก- สำหรับ Java
226 java  jar  viewer 

8
Mockito matcher และอาร์เรย์ของดั้งเดิม
ด้วย Mockito ฉันต้องการverify()เรียกวิธีด้วยbyte[]ในรายการอาร์กิวเมนต์ แต่ไม่พบวิธีเขียนสิ่งนี้ myMethod( byte[] ) ฉันแค่ต้องการบางสิ่งเช่นanyByteArray()นี้จะทำอย่างไรกับ Mockito
226 java  mockito 

8
วิธีอิมพอร์ตใบรับรอง. cer ไปยังที่เก็บคีย์ java
ในระหว่างการพัฒนาไคลเอนต์ Java เว็บเซอร์ฉันพบปัญหา การรับรองความถูกต้องสำหรับเว็บเซอร์กำลังใช้ใบรับรองไคลเอ็นต์ชื่อผู้ใช้และรหัสผ่าน ใบรับรองไคลเอนต์ที่ฉันได้รับจาก บริษัท ที่อยู่เบื้องหลังเว็บเซอร์เวอร์อยู่ใน.cerรูปแบบ เมื่อฉันตรวจสอบไฟล์โดยใช้โปรแกรมแก้ไขข้อความมันมีเนื้อหาดังต่อไปนี้: -----BEGIN CERTIFICATE----- [Some base64 encoded data] -----END CERTIFICATE----- ฉันสามารถนำเข้าไฟล์นี้เป็นใบรับรองใน Internet Explorer (โดยไม่ต้องป้อนรหัสผ่าน!) และใช้มันเพื่อตรวจสอบสิทธิ์กับ webservice ฉันสามารถนำเข้าใบรับรองนี้ไปยังที่เก็บคีย์ได้โดยการเปิดบรรทัดแรกและบรรทัดสุดท้ายโดยแปลงเป็นยูนิกซ์ขึ้นบรรทัดใหม่และรัน base64-decode ไฟล์ผลลัพธ์สามารถอิมพอร์ตไปยังที่เก็บคีย์ (โดยใช้keytoolคำสั่ง) เมื่อฉันแสดงรายการใน keystore รายการนี้เป็นชนิดtrustedCertEntryที่รายการนี้เป็นชนิดที่ เนื่องจากประเภทรายการนี้ (?) ฉันไม่สามารถใช้ใบรับรองนี้เพื่อตรวจสอบสิทธิ์กับเว็บเซอร์ ฉันเริ่มคิดว่าใบรับรองที่ให้ไว้เป็นใบรับรองสาธารณะที่ใช้สำหรับการตรวจสอบสิทธิ์ ... วิธีแก้ปัญหาที่ฉันพบคือการนำเข้าใบรับรองใน IE และส่งออกเป็น.pfxไฟล์ ไฟล์นี้สามารถโหลดเป็นที่เก็บคีย์และสามารถใช้เพื่อพิสูจน์ตัวตนกับเว็บเซอร์ อย่างไรก็ตามฉันไม่สามารถคาดหวังให้ลูกค้าทำตามขั้นตอนเหล่านี้ทุกครั้งที่ได้รับใบรับรองใหม่ ดังนั้นฉันต้องการโหลด.cerไฟล์ลงใน Java โดยตรง ความคิดใด ๆ ข้อมูลเพิ่มเติม: บริษัท ที่อยู่เบื้องหลังเว็บเซอร์บอกฉันว่าควรมีการร้องขอใบรับรอง (โดยใช้ IE & …

12
Java จัดการกับ underflow และ overflows จำนวนเต็มอย่างไรและคุณจะตรวจสอบได้อย่างไร
Java จัดการกับจำนวนเต็มอันเดอร์โฟลว์และโอเวอร์โฟลว์อย่างไร จากนั้นคุณจะตรวจสอบ / ทดสอบว่าสิ่งนี้เกิดขึ้นได้อย่างไร

22
จะบังคับให้รวบรวมขยะใน Java ได้อย่างไร
เป็นไปได้ไหมที่จะบังคับให้มีการรวบรวมขยะใน Java แม้ว่ามันจะยุ่งยากหรือไม่ ฉันรู้System.gc();และRuntime.gc();พวกเขาแนะนำให้ทำ GC เท่านั้น ฉันจะบังคับ GC ได้อย่างไร

17
การแจ้งเตือนการจับมือ SSL: ข้อผิดพลาดที่ไม่รู้จักตั้งแต่อัพเกรดเป็น Java 1.7.0
ฉันอัพเกรดจาก Java 1.6 เป็น Java 1.7 วันนี้ ตั้งแต่นั้นเกิดข้อผิดพลาดเมื่อฉันพยายามสร้างการเชื่อมต่อกับเว็บเซิร์ฟเวอร์ของฉันผ่าน SSL: javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name at sun.security.ssl.ClientHandshaker.handshakeAlert(ClientHandshaker.java:1288) at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1904) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1027) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1262) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1289) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1273) at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:523) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1296) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254) at java.net.URL.openStream(URL.java:1035) นี่คือรหัส: SAXBuilder builder = new SAXBuilder(); Document document = null; try { url = new …
225 java  ssl 

30
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: การเชื่อมโยงล้มเหลวในการสื่อสาร
ฉันทำงานเพื่อรับฐานข้อมูลของฉันเพื่อพูดคุยกับโปรแกรม Java ของฉัน ใครสามารถให้โปรแกรมตัวอย่างที่รวดเร็วและสกปรกแก่ฉันโดยใช้ JDBC ได้หรือไม่ ฉันได้รับข้อผิดพลาดค่อนข้างน่าทึ่ง: Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:409) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1122) …
225 java  mysql  jdbc 

22
Hibernate - คอลเล็กชันที่มี cascade =” all-delete-orphan” ไม่ได้ถูกอ้างอิงโดยอินสแตนซ์เอนทิตีของการเป็นเจ้าของอีกต่อไป
ฉันประสบปัญหาดังต่อไปนี้เมื่อพยายามอัปเดตเอนทิตีของฉัน: "A collection with cascade=”all-delete-orphan” was no longer referenced by the owning entity instance". ฉันมีเอนทิตีหลักและมีSet<...>เอนทิตีลูกบางอย่าง เมื่อฉันพยายามอัปเดตฉันจะได้รับการอ้างอิงทั้งหมดเพื่อตั้งค่าเป็นคอลเล็กชันนี้และตั้งค่า รหัสต่อไปนี้แสดงถึงการทำแผนที่ของฉัน: @OneToMany(mappedBy = "parentEntity", fetch = FetchType.EAGER) @Cascade({ CascadeType.ALL, CascadeType.DELETE_ORPHAN }) public Set<ChildEntity> getChildren() { return this.children; } ฉันพยายามทำความสะอาด Set <.. > เท่านั้นตามนี้: วิธี "เป็นไปได้" ในการแก้ปัญหาแต่มันไม่ทำงาน หากคุณมีความคิดใด ๆ โปรดแจ้งให้เราทราบ ขอบคุณ!

9
วิธีตั้งค่าเขตเวลาของ java.util.Date?
ฉันแยกวิเคราะห์java.util.Dateจาก a แล้วStringแต่เป็นการตั้งค่าเขตเวลาท้องถิ่นเป็นเขตเวลาของdateวัตถุ โซนเวลาที่ไม่ได้ระบุไว้ในStringจากการที่Dateจะแยก ฉันต้องการตั้งค่าเขตเวลาเฉพาะของdateวัตถุ ฉันจะทำสิ่งนั้นได้อย่างไร

7
Java List.add () UnsupportedOperationException
ฉันพยายามที่จะเพิ่มวัตถุกับList<String>อินสแตนซ์ UnsupportedOperationExceptionแต่มันพ่น ไม่มีใครรู้ว่าทำไม รหัส Java ของฉัน: String[] membersArray = request.getParameterValues('members'); List<String> membersList = Arrays.asList(membersArray); for (String member : membersList) { Person person = Dao.findByName(member); List<String> seeAlso; seeAlso = person.getSeeAlso(); if (!seeAlso.contains(groupDn)){ seeAlso.add(groupDn); person.setSeeAlso(seeAlso); } } ข้อความแสดงข้อผิดพลาด: java.lang.UnsupportedOperationException java.util.AbstractList.add (ไม่ทราบแหล่งที่มา) java.util.AbstractList.add (ไม่ทราบแหล่งที่มา) javax.servlet.http.HttpServlet.service (HttpServlet.java:641) javax.servlet.http.HttpServlet.service (HttpServlet.java:722)

13
Jackson enum การทำให้เป็นอันดับและ DeSerializer
ฉันใช้ JAVA 1.6 และ Jackson 1.9.9 ฉันมีปัญหา public enum Event { FORGOT_PASSWORD("forgot password"); private final String value; private Event(final String description) { this.value = description; } @JsonValue final String value() { return this.value; } } ฉันได้เพิ่ม @JsonValue ดูเหมือนว่าจะทำงานให้เป็นวัตถุ: {"event":"forgot password"} แต่เมื่อฉันพยายามทำให้หมดความหวังฉันจะได้รับ Caused by: org.codehaus.jackson.map.JsonMappingException: Can not construct instance of com.globalrelay.gas.appsjson.authportal.Event …

15
อะไรคือความแตกต่างระหว่าง Thread start () และ Runnable run ()
สมมติว่าเรามี Runnables สองรายการนี้: class R1 implements Runnable { public void run() { … } … } class R2 implements Runnable { public void run() { … } … } แล้วความแตกต่างระหว่างสิ่งนี้คืออะไร: public static void main() { R1 r1 = new R1(); R2 r2 = new R2(); r1.run(); r2.run(); } และนี่: public …

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