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

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

12
Java มีคำสั่งใช้หรือไม่?
Java มีคำสั่งการใช้งานที่สามารถใช้เมื่อเปิดเซสชันในโหมดไฮเบอร์เนตหรือไม่? ใน C # เป็นสิ่งที่ชอบ: using (var session = new Session()) { } ดังนั้นวัตถุจึงอยู่นอกขอบเขตและปิดโดยอัตโนมัติ

14
วิธีที่สะอาดที่สุดในการสร้างสตริง SQL ใน Java
ฉันต้องการสร้างสตริง SQL เพื่อจัดการฐานข้อมูล (อัปเดตลบแทรกเลือกประเภทของสิ่งนั้น) - แทนที่จะใช้วิธีการต่อสายอักขระที่น่ากลัวโดยใช้ "+" และเครื่องหมายคำพูดนับล้านซึ่งไม่สามารถอ่านได้ดีที่สุด - ที่นั่น จะต้องเป็นวิธีที่ดีกว่า ฉันคิดว่าจะใช้ MessageFormat - แต่มันควรจะใช้สำหรับข้อความของผู้ใช้แม้ว่าฉันคิดว่ามันจะทำงานได้ดี แต่ฉันคิดว่าน่าจะมีอะไรที่สอดคล้องกับการดำเนินการประเภท SQL ในไลบรารี java sql มากกว่า Groovy จะดีหรือไม่?
108 java  sql  oracle  string 

6
ขึ้นบรรทัดใหม่ใน JLabel
ฉันจะแสดงขึ้นบรรทัดใหม่ได้JLabelอย่างไร? ตัวอย่างเช่นหากฉันต้องการ: สวัสดีชาวโลก! อื่น ๆ นี่คือสิ่งที่ฉันมีในตอนนี้: JLabel l = new JLabel("Hello World!\nblahblahblah", SwingConstants.CENTER); นี่คือสิ่งที่แสดง: สวัสดีชาวโลก - - ' ยกโทษให้ฉันถ้านี่เป็นคำถามโง่ ๆ ฉันแค่เรียนรู้พื้นฐานการสวิง ...

6
คุณจะได้รับ "การอ้างอิงวัตถุ" ของวัตถุใน java ได้อย่างไรเมื่อ toString () และ hashCode () ถูกแทนที่
ฉันต้องการพิมพ์ "การอ้างอิงวัตถุ" ของวัตถุใน Java เพื่อวัตถุประสงค์ในการดีบัก คือตรวจสอบให้แน่ใจว่าวัตถุนั้นเหมือนกัน (หรือต่างกัน) ขึ้นอยู่กับสถานการณ์ ปัญหาคือคลาสที่เป็นปัญหาสืบทอดมาจากคลาสอื่นซึ่งได้ลบล้างทั้ง toString () และ hashCode () ซึ่งโดยปกติจะให้ id แก่ฉัน สถานการณ์ตัวอย่าง: การรันแอ็พพลิเคชันแบบมัลติเธรดโดยที่ฉัน (ระหว่างการพัฒนา) ต้องการตรวจสอบว่าเธรดทั้งหมดใช้อินสแตนซ์ของออบเจ็กต์ทรัพยากรเดียวกันหรือไม่
108 java  object  hashcode 

4
Activity.finish () ทำงานอย่างไรใน Android
ใครช่วยให้คำอธิบายว่าเกิดอะไรขึ้นเมื่อActivityเรียกfinish()ใช้วิธีนี้ มันออกทันทีหรือไม่หรือทำหน้าที่ที่เรียกว่าเสร็จสมบูรณ์?
108 java  android 

15
การแปลงจำนวนเต็มเป็น Long
ฉันต้องการรับค่าของฟิลด์โดยใช้การสะท้อน มันเกิดขึ้นจนฉันไม่แน่ใจเสมอว่าประเภทข้อมูลของฟิลด์คืออะไร สำหรับสิ่งนั้นและเพื่อหลีกเลี่ยงการทำซ้ำรหัสบางอย่างฉันได้สร้างวิธีการต่อไปนี้: @SuppressWarnings("unchecked") private static <T> T getValueByReflection(VarInfo var, Class<?> classUnderTest, Object runtimeInstance) throws Throwable { Field f = classUnderTest.getDeclaredField(processFieldName(var)); f.setAccessible(true); T value = (T) f.get(runtimeInstance); return value; } และใช้วิธีนี้เช่น: Long value1 = getValueByReflection(inv.var1(), classUnderTest, runtimeInstance); หรือ Double[] value2 = getValueByReflection(inv.var2(), classUnderTest, runtimeInstance); ปัญหาคือดูเหมือนว่าฉันไม่สามารถส่งIntegerไปที่Long: java.lang.ClassCastException: java.lang.Integer cannot be cast …
108 java  reflection  casting 

14
สปริงบูตเริ่มต้นการเชื่อมต่อ H2 jdbc (และคอนโซล H2)
ฉันแค่พยายามดูเนื้อหาฐานข้อมูล H2 สำหรับฐานข้อมูล H2 แบบฝังซึ่ง spring-boot สร้างขึ้นเมื่อฉันไม่ได้ระบุอะไรใน application.properties และเริ่มต้นด้วย mvn spring: run ฉันสามารถเห็น hibernate JPA สร้างตาราง แต่ถ้าฉันพยายามเข้าถึงคอนโซล h2 ที่ URL ด้านล่างฐานข้อมูลไม่มีตาราง http://localhost:8080/console/ ฉันเห็นคำแนะนำเช่นนี้: ดูเนื้อหาของฐานข้อมูล H2 แบบฝังที่เริ่มต้นโดย Spring แต่ฉันไม่รู้ว่าจะใส่ XML ที่แนะนำในสปริงบูตได้ที่ไหนและแม้ว่าฉันจะทำฉันก็ไม่ต้องการให้ h2console พร้อมใช้งานอีกต่อไปเมื่อมีการกำหนดค่าฐานข้อมูลภายนอกดังนั้นจึงมีแนวโน้มที่ฉันจะต้องจัดการสิ่งนี้ ด้วยรหัสเงื่อนไขบางประเภท (หรืออาจจะอนุญาตให้สปริงจัดการโดยอัตโนมัติในกรณีที่ดีที่สุดที่ฉันรวม H2 เมื่อเปิดใช้งานโปรไฟล์ maven เท่านั้น) ใครมีโค้ดตัวอย่างที่แสดงวิธีทำให้คอนโซล H2 ทำงานในการบูต (และวิธีค้นหาว่าสตริงการเชื่อมต่อ jdbc ที่สปริงใช้คืออะไร)
108 java  spring  jpa  h2  spring-boot 

10
Java obfuscator ที่ดีที่สุด? [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดขึ้นมาใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน9 ปีที่ผ่านมา ฉันกำลังพัฒนาซอฟต์แวร์รักษาความปลอดภัยและต้องการทำให้โค้ดจาวาของฉันสับสนดังนั้นจึงไม่สามารถทำวิศวกรรมย้อนกลับได้ java obfuscator ที่น่าเชื่อถือที่สุดคืออะไร?
108 java  obfuscation 

11
ความแตกต่างระหว่างวิธีการคงที่และวิธีเริ่มต้นในอินเทอร์เฟซ
ฉันเรียนรู้ผ่านอินเทอร์เฟซเมื่อสังเกตเห็นว่าตอนนี้คุณสามารถกำหนดวิธีการแบบคงที่และเริ่มต้นในอินเทอร์เฟซได้ public interface interfacesample2 { public static void method() { System.out.println("hello world"); } public default void menthod3() { System.out.println("default print"); } } กรุณาอธิบายความแตกต่างของทั้งสองอย่างและหากมีตัวอย่างว่าเราจะใช้สิ่งนี้เมื่อใดก็จะดี สับสนเล็กน้อยเกี่ยวกับอินเทอร์เฟซ
108 java  java-8 

13
วิธีรับความสูงและความกว้างของภาพโดยใช้ java
มีวิธีอื่นนอกเหนือจากการใช้ImageIO.readเพื่อรับความสูงและความกว้างของภาพหรือไม่? เนื่องจากฉันพบปัญหาที่ล็อคเธรด at com.sun.medialib.codec.jpeg.Decoder.njpeg_decode(Native Method) at com.sun.medialib.codec.jpeg.Decoder.decode(Decoder.java:87) at com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageReader.decode(CLibJPEGImageReader.java:73) - locked <0xd96fb668> (a com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageReader) at com.sun.media.imageioimpl.plugins.clib.CLibImageReader.getImage(CLibImageReader.java:320) - locked <0xd96fb668> (a com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageReader) at com.sun.media.imageioimpl.plugins.clib.CLibImageReader.read(CLibImageReader.java:384) - locked <0xd96fb668> (a com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageReader) at javax.imageio.ImageIO.read(ImageIO.java:1400) at javax.imageio.ImageIO.read(ImageIO.java:1322) ข้อผิดพลาดนี้เกิดขึ้นบนเซิร์ฟเวอร์แอป Sun เท่านั้นดังนั้นฉันจึงสงสัยว่าเป็นข้อผิดพลาดของ Sun

16
แบบสอบถาม Jdbctemplate สำหรับสตริง: EmptyResultDataAccessException: ขนาดผลลัพธ์ไม่ถูกต้อง: คาดว่า 1, 0 จริง
ฉันใช้ Jdbctemplate เพื่อดึงค่า String เดียวจาก db นี่คือวิธีการของฉัน public String test() { String cert=null; String sql = "select ID_NMB_SRZ from codb_owner.TR_LTM_SLS_RTN where id_str_rt = '999' and ID_NMB_SRZ = '60230009999999'"; cert = (String) jdbc.queryForObject(sql, String.class); return cert; } ในสถานการณ์ของฉันเป็นไปได้ที่จะไม่ได้รับผลกระทบจากข้อความค้นหาของฉันดังนั้นคำถามของฉันคือฉันจะแก้ไขข้อความแสดงข้อผิดพลาดต่อไปนี้ได้อย่างไร EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0 สำหรับฉันแล้วดูเหมือนว่าฉันควรจะคืนค่าว่างแทนที่จะโยนข้อยกเว้น ฉันจะแก้ไขปัญหานี้ได้อย่างไร? ขอบคุณล่วงหน้า.


6
วิธีตั้งค่าผู้ใช้ที่พิสูจน์ตัวตนด้วยตนเองใน Spring Security / SpringMVC
หลังจากผู้ใช้ใหม่ส่งแบบฟอร์ม 'บัญชีใหม่' ฉันต้องการล็อกอินผู้ใช้นั้นด้วยตนเองเพื่อที่พวกเขาจะได้ไม่ต้องเข้าสู่ระบบในหน้าถัดไป หน้าล็อกอินแบบฟอร์มปกติที่ผ่านตัวสกัดกั้นการรักษาความปลอดภัยแบบสปริงทำงานได้ดี ในตัวควบคุมรูปแบบบัญชีใหม่ฉันกำลังสร้าง UsernamePasswordAuthenticationToken และตั้งค่าใน SecurityContext ด้วยตนเอง: SecurityContextHolder.getContext().setAuthentication(authentication); ในหน้าเดียวกันนั้นฉันตรวจสอบในภายหลังว่าผู้ใช้เข้าสู่ระบบด้วย: SecurityContextHolder.getContext().getAuthentication().getAuthorities(); สิ่งนี้ส่งคืนหน่วยงานที่ฉันตั้งไว้ก่อนหน้านี้ในการตรวจสอบสิทธิ์ ทั้งหมดเป็นอย่างดี. แต่เมื่อมีการเรียกรหัสเดียวกันนี้ในหน้าถัดไปที่ฉันโหลดโทเค็นการตรวจสอบความถูกต้องจะเป็นเพียง UserAnonymous ฉันไม่ชัดเจนว่าเหตุใดจึงไม่เก็บการรับรองความถูกต้องที่ฉันตั้งไว้ในคำขอก่อนหน้านี้ ความคิดใด ๆ ? เป็นไปได้ไหมว่ารหัสเซสชันไม่ได้รับการตั้งค่าอย่างถูกต้อง? มีบางอย่างที่อาจเขียนทับการรับรองความถูกต้องของฉันหรือไม่? บางทีฉันอาจต้องการขั้นตอนอื่นเพื่อบันทึกการรับรองความถูกต้อง? หรือมีบางอย่างที่ฉันต้องทำเพื่อประกาศการรับรองความถูกต้องทั่วทั้งเซสชันแทนที่จะร้องขอเพียงครั้งเดียว แค่มองหาความคิดบางอย่างที่อาจช่วยให้ฉันเห็นว่าเกิดอะไรขึ้นที่นี่

5
วิธีรับ UTC + 0 date ใน Java 8
ฉันมีปัญหากับคลาส Date ใน Java คลาสวันที่ส่งคืนวันที่เครื่องในเครื่อง แต่ฉันต้องการ UTC-0 ฉัน googled และพบวิธีแก้ปัญหาที่ยอดเยี่ยมสำหรับ JavaScript แต่สำหรับ Java ไม่มีประโยชน์อะไร วิธีรับ UTC + 0 date ใน Java 8

7
Android - เริ่มบริการเมื่อบูต
จากทุกสิ่งที่ฉันเคยเห็นใน Stack Exchange และที่อื่น ๆ ฉันได้ตั้งค่าทุกอย่างอย่างถูกต้องเพื่อเริ่ม IntentService เมื่อระบบปฏิบัติการ Android บูท น่าเสียดายที่มันไม่ได้เริ่มต้นในการบูตและฉันไม่ได้รับข้อผิดพลาดใด ๆ บางทีผู้เชี่ยวชาญสามารถช่วย ... ประจักษ์: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.phx.batterylogger" android:versionCode="1" android:versionName="1.0" android:installLocation="internalOnly"> <uses-sdk android:minSdkVersion="8" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.BATTERY_STATS" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <service android:name=".BatteryLogger"/> <receiver android:name=".StartupIntentReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> </application> …

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