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

Java Virtual Machine (JVM) เปิดใช้งานชุดของโปรแกรมซอฟต์แวร์คอมพิวเตอร์และโครงสร้างข้อมูลเพื่อใช้โมเดลเครื่องเสมือนสำหรับการทำงานของโปรแกรมคอมพิวเตอร์และสคริปต์อื่น ๆ ใช้แท็กนี้สำหรับคำถามที่เกี่ยวข้องกับเครื่องมือที่จัดทำโดย JVM หรือวิธีการทำงานในสถานการณ์เฉพาะ

30
วิธีแก้ไข java.lang.UnsupportedClassVersionError: รุ่น Major.minor ไม่สนับสนุน
ฉันกำลังพยายามใช้Notepad ++เป็นเครื่องมือในการแก้ไข, เรียกใช้, คอมไพล์และอื่น ๆ ฉันติดตั้งJREแล้วและได้ตั้งค่าตัวแปรพา ธ ของฉันไปยัง.../binไดเรกทอรี เมื่อฉันเรียกใช้ "Hello world" ใน Notepad ++ ฉันได้รับข้อความนี้: java.lang.UnsupportedClassVersionError: test_hello_world : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) ......................................... ฉันคิดว่าปัญหานี่เป็นเรื่องเกี่ยวกับรุ่น; Java บางเวอร์ชันอาจเก่าหรือใหม่เกินไป ฉันจะแก้ไขได้อย่างไร ฉันควรติดตั้ง JDK และตั้งค่าตัวแปรเส้นทางของฉันเป็น JDK แทนที่จะเป็น JRE หรือไม่ อะไรคือความแตกต่างระหว่างPATHตัวแปรใน JRE หรือ JDK


11
ฉันจะเขียน micro-benchmark ที่ถูกต้องใน Java ได้อย่างไร
ตั้งอยู่ในส่วนของStack Overflow ที่อยู่ : การตั้งค่าเริ่มต้นของ Java หรือไม่? คุณเขียน (และรัน) เกณฑ์มาตรฐานขนาดเล็กที่ถูกต้องใน Java ได้อย่างไร ฉันกำลังมองหาตัวอย่างโค้ดและความคิดเห็นที่แสดงถึงสิ่งต่าง ๆ ที่ควรพิจารณา ตัวอย่าง: เกณฑ์มาตรฐานควรวัดเวลา / การวนซ้ำหรือการวนซ้ำ / เวลาและทำไม? ที่เกี่ยวข้อง: การเปรียบเทียบเกณฑ์มาตรฐานของนาฬิกาจับเวลายอมรับได้หรือไม่

11
ฉันจะบอกได้อย่างไรว่าฉันใช้ JVM 64- บิตหรือ JVM 32- บิต (จากภายในโปรแกรม)
ฉันจะทราบได้อย่างไรว่า JVM ที่แอปพลิเคชันของฉันทำงานคือ 32 บิตหรือ 64 บิต โดยเฉพาะฟังก์ชั่นหรือคุณสมบัติใดที่ฉันสามารถใช้เพื่อตรวจจับสิ่งนี้ภายในโปรแกรม?

28
ไม่สามารถ inline bytecode ที่สร้างด้วย JVM เป้าหมาย 1.8 เป็น bytecode ที่กำลังสร้างด้วย JVM target 1.6
เมื่อพยายามเรียกใช้ตัวอย่าง CorDapp ( https://github.com/corda/cordapp-example ) ผ่าน IntelliJ ฉันได้รับข้อผิดพลาดดังต่อไปนี้: ไม่สามารถ inline bytecode ที่สร้างด้วย JVM เป้าหมาย 1.8 เป็น bytecode ที่กำลังสร้างด้วย JVM target 1.6 ฉันจะแก้ไขการตั้งค่า IntelliJ เพื่อให้ bytecode ทั้งหมดถูกสร้างขึ้นด้วยเป้าหมาย JVM เดียวกันได้อย่างไร

19
วิธีจัดการกับข้อผิดพลาด“ java.lang.OutOfMemoryError: Java heap space” ข้อผิดพลาด?
ฉันกำลังเขียนฝั่งไคลเอ็นต์สวิงแอพลิเคชัน (นักออกแบบตัวอักษรกราฟิก) ในJava 5 เมื่อเร็ว ๆ นี้ฉันพบjava.lang.OutOfMemoryError: Java heap spaceข้อผิดพลาดเนื่องจากฉันไม่ได้ระมัดระวังในการใช้หน่วยความจำ ผู้ใช้สามารถเปิดได้ไม่ จำกัด จำนวนไฟล์และโปรแกรมเก็บวัตถุที่เปิดอยู่ในหน่วยความจำ หลังจากที่มีการวิจัยอย่างรวดเร็วผมพบว่าการยศาสตร์ใน 5.0 โปรแกรม Java Virtual Machineและคนอื่น ๆ บอกว่าบน Windows เครื่อง JVM 64MBค่าเริ่มต้นขนาดสูงสุดกองเป็น ด้วยสถานการณ์เช่นนี้ฉันจะจัดการกับข้อ จำกัด นี้ได้อย่างไร ฉันสามารถเพิ่มขนาดฮีพสูงสุดโดยใช้ตัวเลือกบรรทัดคำสั่งเป็นจาวา แต่นั่นต้องใช้การหา RAM ที่มีอยู่และเขียนโปรแกรมเรียกใช้หรือสคริปต์บางตัว นอกจากนี้ยังเพิ่มขึ้นบางส่วนจำกัดสูงสุดไม่ได้ในท้ายที่สุดได้รับการกำจัดของปัญหา ฉันสามารถเขียนรหัสของฉันใหม่เพื่อคงออบเจ็กต์ไปยังระบบไฟล์บ่อยครั้ง (การใช้ฐานข้อมูลเป็นสิ่งเดียวกัน) เพื่อเพิ่มหน่วยความจำ มันสามารถใช้งานได้ แต่ก็อาจทำงานได้มากเช่นกัน หากคุณสามารถชี้ให้ฉันเห็นรายละเอียดของแนวคิดข้างต้นหรือทางเลือกบางอย่างเช่นหน่วยความจำเสมือนอัตโนมัติขยายขนาดฮีปแบบไดนามิกนั่นจะยอดเยี่ยม

2
Java JIT โกงเมื่อใช้งานรหัส JDK หรือไม่
ฉันกำลังทำการเปรียบเทียบโค้ดบางตัวและไม่สามารถทำให้มันรันเร็วเหมือนกับjava.math.BigIntegerแม้ว่าจะใช้อัลกอริทึมแบบเดียวกันก็ตาม ดังนั้นฉันจึงคัดลอกjava.math.BigIntegerซอร์สไปยังแพ็คเกจของฉันและลองทำสิ่งนี้ //import java.math.BigInteger; public class MultiplyTest { public static void main(String[] args) { Random r = new Random(1); long tm = 0, count = 0,result=0; for (int i = 0; i < 400000; i++) { int s1 = 400, s2 = 400; BigInteger a = new BigInteger(s1 * 8, …
405 java  jvm  jit  jvm-hotspot 

11
ความแตกต่างที่แท้จริงระหว่าง“ java -server” และ“ java -client”?
มีความแตกต่างในทางปฏิบัติระหว่าง "java -server" และ "java -client" หรือไม่? ทั้งหมดที่ฉันสามารถหาได้บนเว็บไซต์ของ Sun นั้นค่อนข้างคลุมเครือ "- เซิร์ฟเวอร์เริ่มช้าลง แต่ควรทำงานได้เร็วขึ้น" ความแตกต่างที่แท้จริงคืออะไร? (ขณะนี้ใช้ JDK 1.6.0_07)
394 java  jvm  jvm-hotspot 

21
เหตุใดคุณจึงต้องทำให้การใช้งานเสร็จสิ้น ()
ฉันได้อ่านคำถาม Java มือใหม่มาหลายครั้งfinalize()แล้วและพบว่ามันช่างน่าประหลาดใจที่ไม่มีใครทำให้มันชัดเจนว่า finalize () เป็นวิธีที่ไม่น่าเชื่อถือในการล้างทรัพยากร ฉันเห็นใครบางคนแสดงความคิดเห็นว่าพวกเขาใช้มันเพื่อล้าง Connections ซึ่งน่ากลัวจริงๆเนื่องจากวิธีเดียวที่จะเข้ามาใกล้เคียงกับการรับประกันว่าการเชื่อมต่อถูกปิดคือการใช้ลอง (catch) ในที่สุด ฉันไม่ได้เรียนใน CS แต่ฉันได้เขียนโปรแกรมใน Java อย่างมืออาชีพมาเกือบทศวรรษแล้วและฉันไม่เคยเห็นใครใช้finalize()ระบบการผลิตเลย นี่ยังไม่ได้หมายความว่ามันไม่มีประโยชน์หรือคนที่ฉันทำงานด้วยถูกต้องแล้ว ดังนั้นคำถามของฉันคือกรณีใดบ้างที่มีการใช้งานfinalize()ที่ไม่สามารถจัดการได้อย่างน่าเชื่อถือมากขึ้นผ่านกระบวนการหรือไวยากรณ์อื่นภายในภาษา โปรดระบุสถานการณ์ที่เฉพาะเจาะจงหรือประสบการณ์ของคุณเพียงแค่ทำซ้ำตำราเรียนภาษา Java หรือการใช้งานที่ตั้งใจไว้ไม่เพียงพอเนื่องจากไม่ใช่เจตนาของคำถามนี้
371 java  jvm 


5
คำศัพท์ภาษาฮีป Java: คนรุ่นเก่าและรุ่นถาวร
ฉันพยายามที่จะเข้าใจในสิ่งที่แนวความคิดของหนุ่มสาว , เก่าและถาวรชั่วอายุอยู่ในคำศัพท์กอง Java และมากขึ้นโดยเฉพาะการมีปฏิสัมพันธ์ระหว่างสามชั่วอายุคน คำถามของฉันคือ: คนรุ่นใหม่คืออะไร? คนรุ่นเก่าคืออะไร? รุ่นถาวรคืออะไร คนสามชั่วอายุโต้ตอบกันและเกี่ยวข้องกันอย่างไร

16
การตั้งค่า JVM ที่ดีที่สุดสำหรับ Eclipse คืออะไร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ การตั้งค่า JVM ที่ดีที่สุดที่คุณพบเมื่อใช้ Eclipse คืออะไร
315 eclipse  jvm 

19
ฉันจะตั้งค่าพร็อกซีที่จะใช้โดย JVM ได้อย่างไร
หลายครั้งที่แอพ Java จำเป็นต้องเชื่อมต่ออินเทอร์เน็ต ตัวอย่างที่พบบ่อยที่สุดเกิดขึ้นเมื่อมันกำลังอ่านไฟล์ XML และจำเป็นต้องดาวน์โหลดสคีมาของมัน ฉันอยู่หลังพร็อกซีเซิร์ฟเวอร์ ฉันจะตั้งค่า JVM ของฉันให้ใช้พร็อกซีได้อย่างไร
307 java  proxy  jvm 

26
ไม่สามารถจองพื้นที่เพียงพอสำหรับกองวัตถุ
ฉันได้รับข้อยกเว้นต่อไปนี้ซ้ำ ๆ ทุกครั้งที่ฉันพยายามเรียกใช้โปรแกรม เกิดข้อผิดพลาดระหว่างการเริ่มต้นของ VM ไม่สามารถจองพื้นที่เพียงพอสำหรับกองวัตถุ ไม่สามารถสร้างเครื่องเสมือน Java ฉันพยายามเพิ่มหน่วยความจำเสมือน (ขนาดหน้า) และขนาด RAM แต่ก็ไม่มีประโยชน์ ฉันจะกำจัดข้อผิดพลาดนี้ได้อย่างไร
277 java  jvm  heap 

12
คลาส JavaLaunchHelper ถูกนำมาใช้ในทั้งสอง ... libinstrument.dylib หนึ่งในสองจะถูกนำมาใช้ อันไหนไม่ถูกกำหนด
ฉันอัพเกรดเป็นJava 7u40ล่าสุดบนMacOS Xและเริ่มได้รับข้อความต่อไปนี้บนคอนโซลเมื่อเรียกใช้แอปพลิเคชันของฉันโดยใช้ Eclipse แอปใช้งานได้ดี แต่ฉันต้องการค้นหาสาเหตุของปัญหาและหวังว่าจะสามารถแก้ไขได้ objc[10012]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined. ไม่มีใครรู้ว่าทำไมข้อความนี้จึงพิมพ์ออกมาและจะแก้ไขได้อย่างไร?
274 java  eclipse  macos  jvm  jvm-hotspot 

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