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

Java SE เวอร์ชัน 7 เปิดตัวในปี 2554 คุณลักษณะใหม่เมื่อเปรียบเทียบกับเวอร์ชัน 6 ได้แก่ การรองรับภาษาไดนามิกพอยน์เตอร์ที่บีบอัดส่วนขยายภาษาขนาดเล็กการเข้ารหัสเส้นโค้งรูปไข่โปรโตคอลเครือข่ายใหม่ความสามารถในการใช้สตริงเป็นค่าเคสใน a สลับคำสั่งและส่วนขยายไลบรารีระบบต่างๆ

30
ไม่มีการรวบรวมในสภาพแวดล้อมนี้ บางทีคุณกำลังใช้งาน JRE มากกว่า JDK
ฉันกำลังรวบรวมโครงการใน Eclipse โดยใช้ m2eclipse ฉันตั้งค่าเส้นทาง JDK ใน Eclipse ดังนี้: Windows-->preferences-->installed jres--> jdk1.7.xx path แต่นี่แสดงข้อผิดพลาด [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? [INFO] 1 error [INFO] ------------------------------------------------------------- [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] …

7
จุดของตัวดำเนินการไดมอนด์ (<>) ใน Java 7 คืออะไร
ตัวดำเนินการไดมอนด์ใน java 7 อนุญาตให้ใช้โค้ดดังนี้: List&lt;String&gt; list = new LinkedList&lt;&gt;(); อย่างไรก็ตามใน Java 5/6 ฉันสามารถเขียน: List&lt;String&gt; list = new LinkedList(); ความเข้าใจของฉันเกี่ยวกับการลบประเภทคือสิ่งเหล่านี้เหมือนกันทุกประการ (ทั่วไปจะถูกลบออกที่รันไทม์อยู่แล้ว) ทำไมต้องกังวลกับเพชรเลย? ฟังก์ชั่น / ประเภทความปลอดภัยใหม่อนุญาตให้มีอะไรบ้าง ถ้ามันไม่ได้ผลการทำงานใหม่ ๆ ทำไมพวกเขาพูดถึงมันเป็นคุณสมบัติ? ความเข้าใจของฉันเกี่ยวกับแนวคิดนี้มีข้อบกพร่องหรือไม่

27
ติดตั้ง Java 7 บน Mac OS X แล้ว แต่ Terminal ยังใช้เวอร์ชัน 6 อยู่
ฉันติดตั้ง JDK 7u7 ที่ดาวน์โหลดจากเว็บไซต์ของ oracle แต่หลังจากการติดตั้งเทอร์มินัลยังคงแสดง java เวอร์ชัน 6 $java -version java version "1.6.0_35" Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811) Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode) ความคิดใดว่าทำไม java 7 ไม่ปรากฏขึ้น? ตอบ: ตกลงปัญหาได้รับการแก้ไขแล้ว นี่คือคำตอบ: ฉันพบว่าเทอร์มินัลของฉันมี. bash_profile และตัวแปร home java ถูกตั้งค่าเป็น 1.6 export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home" นี่คือบรรทัดที่ทำให้เกิดปัญหาทุกครั้งที่ฉันเปิดหน้าต่างเทอร์มินัลใหม่ เพียงแค่ลบบรรทัดนี้จะแก้ปัญหา คุณยังคงต้องทำตามสิ่งที่ @aleroot พูด …
391 java  macos  java-7 

9
“ Java Concurrency In Practice” ยังคงใช้ได้หรือไม่ [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ คือJava Concurrency ในการปฏิบัติยังคงถูกต้อง? ฉันสงสัยว่าแนวคิดแนวคิดและการนำไปปฏิบัติที่อธิบายไว้ในหนังสือเล่มนี้ยังคงสอดคล้องกับ Java เวอร์ชันล่าสุดหรือไม่ ฉันถามเพราะฉบับล่าสุดทำในปี 2549


24
แสดงรายการไฟล์ซ้ำใน Java
ฉันจะแสดงรายการไฟล์ทั้งหมดซ้ำในไดเรกทอรีใน Java ซ้ำได้อย่างไร เฟรมเวิร์กมียูทิลิตีใด ๆ หรือไม่? ฉันเห็นการใช้งานแฮ็คจำนวนมาก แต่ไม่มีจากกรอบหรือnio
258 java  file  recursion  java-7  nio 

8
คุณสมบัติภาษา Java 7 พร้อม Android
แค่สงสัยว่ามีใครลองใช้คุณสมบัติภาษา Java 7 ใหม่กับ Android หรือไม่ ฉันรู้ว่า Android อ่าน bytecode ที่ Java พ่นออกมาและเปลี่ยนเป็น dex ดังนั้นฉันเดาคำถามของฉันคือมันสามารถเข้าใจ bytecode ของ Java 7 ได้หรือไม่?
188 java  android  bytecode  java-7 

8
วิธีการตั้งค่า -source 1.7 ใน Android Studio และ Gradle
ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อพยายามรวบรวมโครงการของฉันใน Android Studio: Gradle: error: diamond operator is not supported in -source 1.6 ฉันมี 1.7 ชุดเป็นเป้าหมายในการกำหนดลักษณะโครงการทั้งหมดที่ฉันพบ เส้นทางที่แสดงใน SDK โครงการภายใต้ 1.7 SDK นั้นเป็นเส้นทางที่ถูกต้องในการติดตั้ง Java 1.7 แม้ตอนที่ฉันเรียกใช้ java -version ในเทอร์มินัลมันก็บอกฉันว่าฉันกำลังรันบน java 1.7 ฉันได้ลองตั้งค่าตัวแปร env JAVA_HOME เป็น: /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home ข้อผิดพลาดจะไม่หายไป ฉันจะกำจัดข้อผิดพลาดได้อย่างไร

2
Java SafeVarargs คำอธิบายประกอบมีมาตรฐานหรือแนวปฏิบัติที่ดีที่สุดหรือไม่?
ฉันเพิ่งเจอ@SafeVarargsคำอธิบายประกอบjava Googling สำหรับสิ่งที่ทำให้ฟังก์ชั่น Variadic ใน Java ไม่ปลอดภัยทำให้ฉันค่อนข้างสับสน (heap poisoning? erased types?) ดังนั้นฉันอยากรู้บางสิ่ง: สิ่งที่ทำให้ฟังก์ชั่น Java variadic ไม่ปลอดภัยใน@SafeVarargsแง่ (อธิบายโดยเฉพาะอย่างยิ่งในรูปแบบของตัวอย่างในเชิงลึก)? ทำไมคำอธิบายประกอบนี้ถึงดุลยพินิจของโปรแกรมเมอร์? นี่ไม่ใช่สิ่งที่คอมไพเลอร์ควรตรวจสอบใช่ไหม มีมาตรฐานบางอย่างที่ต้องปฏิบัติตามเพื่อให้แน่ใจว่าการทำงานของเขาปลอดภัยแน่นอน varags? หากไม่เป็นเช่นนั้นวิธีปฏิบัติที่ดีที่สุดที่จะทำให้แน่ใจได้คืออะไร?

16
วิธีตั้งค่าจาวาเวอร์ชันเฉพาะเป็น Maven
บนเครื่องของฉันฉันมีสองรุ่นจาวาติดตั้ง: (1.6 และ 1.7 ติดตั้งด้วยตนเองโดยฉัน) ฉันต้องการทั้งคู่สำหรับโครงการต่าง ๆ แต่สำหรับ Maven ฉันต้องการ 1.7 ตอนนี้ Maven ของฉันใช้เวอร์ชัน 1.6 java ฉันจะตั้งค่า Maven ให้ใช้ 1.7 ได้อย่างไร
165 maven  java-7  java-6 

5
โค้ด Java 8 สามารถคอมไพล์ให้รันบน Java 7 JVM ได้หรือไม่?
Java 8 แนะนำคุณสมบัติภาษาใหม่ที่สำคัญเช่นการแสดงออกแลมบ์ดา การเปลี่ยนแปลงเหล่านี้ในภาษานั้นมาพร้อมกับการเปลี่ยนแปลงที่สำคัญเช่นนั้นในโค้ดไบต์ที่คอมไพล์ซึ่งจะป้องกันไม่ให้รันบนเครื่องเสมือน Java 7 โดยไม่ต้องใช้ตัวแปลงสัญญาณซ้ำบางตัวหรือไม่?

5
ฉันควรใช้ลองกับทรัพยากรกับ JDBC อย่างไร
ฉันมีวิธีรับผู้ใช้จากฐานข้อมูลด้วย JDBC: public List&lt;User&gt; getUser(int userId) { String sql = "SELECT id, name FROM users WHERE id = ?"; List&lt;User&gt; users = new ArrayList&lt;User&gt;(); try { Connection con = DriverManager.getConnection(myConnectionURL); PreparedStatement ps = con.prepareStatement(sql); ps.setInt(1, userId); ResultSet rs = ps.executeQuery(); while(rs.next()) { users.add(new User(rs.getInt("id"), rs.getString("name"))); } rs.close(); ps.close(); con.close(); } …

8
java.nio.file.Path สำหรับรีซอร์ส classpath
มี API เพื่อรับ classpath ทรัพยากร (เช่นสิ่งที่ฉันได้รับจากClass.getResource(String)) เป็นjava.nio.file.Path? เป็นการดีที่ฉันต้องการใช้PathAPI ใหม่ที่แปลกใหม่กับแหล่งข้อมูล classpath
143 java  java-7  nio2 

2
วิธีตั้งค่า IntelliJ IDEA Project SDK
ฉันเพิ่งติดตั้ง IntelliJ IDEA และเมื่อฉันพยายามสร้างโครงการแรกของฉันมันขอให้ฉันตั้งค่า Project SDK เมื่อฉันคลิกที่ "JDK" ระบบจะขอให้ฉันเลือกโฮมไดเร็กทอรีของ JDK ดังที่แสดงในภาพนี้ ฉันมีปัญหาในการค้นหาว่าอยู่ที่ไหน

2
Java: int array เริ่มต้นด้วยองค์ประกอบที่ไม่ใช่ศูนย์
ตาม JLS intอาร์เรย์ควรเติมด้วยศูนย์หลังจากเริ่มต้น อย่างไรก็ตามฉันต้องเผชิญกับสถานการณ์ที่ไม่เป็นอยู่ พฤติกรรมดังกล่าวเกิดขึ้นก่อนใน JDK 7u4 และยังเกิดขึ้นในการอัปเดตทั้งหมดในภายหลัง (ฉันใช้การใช้งาน 64 บิต) รหัสต่อไปนี้แสดงข้อยกเว้น: public static void main(String[] args) { int[] a; int n = 0; for (int i = 0; i &lt; 100000000; ++i) { a = new int[10]; for (int f : a) if (f != 0) throw new RuntimeException("Array …

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