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

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

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 

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 

6
ความแตกต่างระหว่าง JVM และ HotSpot?
HotSpot คืออะไรและเกี่ยวข้องกับ JVM และ OpenJDK อย่างไร มันเป็นห้องสมุดหรือไม่? มันทำอะไรกันแน่? นอกจากนี้ความแตกต่างระหว่าง OpenJDK และ HotSpot คืออะไร?
147 java  jvm-hotspot 

4
ReservedCodeCacheSize และ InitialCodeCacheSize คืออะไร
ใครจะกรุณาอธิบายสิ่งที่ตัวเลือก JVM ReservedCodeCacheSizeและInitialCodeCacheSizeมีอะไรบ้าง โดยเฉพาะเมื่อใด / เหตุใดฉันจึงต้องการเปลี่ยนแปลง ฉันจะตัดสินใจได้อย่างไรว่าขนาดที่เหมาะสมคืออะไร? นี่คือสิ่งที่เอกสารกล่าวว่า: -XX: ReservedCodeCacheSize = 32m ขนาดแคชของรหัสที่สงวนไว้ (เป็นไบต์) - ขนาดแคชโค้ดสูงสุด [Solaris 64-bit, amd64 และ -server x86: 2048m; ใน 1.5.0_06 และรุ่นก่อนหน้า Solaris 64 บิตและ 64: 1024 ม.]
89 java  jvm  jvm-hotspot 

4
การรัน jmap ทำให้ไม่สามารถเปิดไฟล์ซ็อกเก็ตได้
ฉันต้องรันjmapเพื่อที่จะถ่ายฮีปดัมพ์ของกระบวนการของฉัน แต่jvmกลับ: Unable to open socket file: target process not responding or HotSpot VM not loaded The -F option can be used when the target process is not responding ดังนั้นฉันจึงใช้-F: ./jmap -F -dump:format=b,file=heap.bin 10330 Attaching to process ID 10331, please wait... Debugger attached successfully. Server compiler detected. JVM version is …
88 java  linux  jvm  jvm-hotspot 

1
แฟล็ก UseCompressedOops JVM ทำอะไรและฉันควรใช้เมื่อใด
แฟล็ก HotSpot JVM -XX:+UseCompressedOopsทำอะไรและฉันควรใช้เมื่อใด ฉันจะเห็นความแตกต่างของประสิทธิภาพและการใช้งานหน่วยความจำประเภทใดเมื่อใช้บนอินสแตนซ์ Java 64 บิต (เทียบกับไม่ได้ใช้งาน)
85 java  memory  jvm  jvm-hotspot 

4
การใช้ CPU ต่ำเกินไปของ Java Application แบบหลายเธรดบน Windows
ฉันกำลังทำงานกับแอปพลิเคชัน Java เพื่อแก้ปัญหาการเพิ่มประสิทธิภาพเชิงตัวเลข - ปัญหาการเขียนโปรแกรมเชิงเส้นขนาดใหญ่ให้แม่นยำยิ่งขึ้น ปัญหาเดียวสามารถแบ่งออกเป็นปัญหาย่อยที่เล็กกว่าที่สามารถแก้ไขได้ในแบบคู่ขนาน เนื่องจากมีปัญหาย่อยมากกว่าคอร์ CPU ฉันจึงใช้ ExecutorService และกำหนดแต่ละปัญหาย่อยเป็น Callable ที่ได้รับการส่งไปยัง ExecutorService การแก้ปัญหาย่อยต้องเรียกไลบรารี่เนทีฟซึ่งเป็นตัวแก้ปัญหาการโปรแกรมเชิงเส้นในกรณีนี้ ปัญหา ฉันสามารถรันแอพพลิเคชั่นบน Unix และระบบ Windows ที่มีฟิสิคัลคอร์สูงสุด 44 คอร์และหน่วยความจำสูงสุด 256g แต่เวลาในการคำนวณบนวินโดวส์นั้นมีลำดับความสำคัญสูงกว่าบน Linux สำหรับปัญหาใหญ่ Windows ไม่เพียง แต่ต้องใช้หน่วยความจำเพิ่มมากขึ้น แต่การใช้งาน CPU ในช่วงเวลานั้นลดลงจาก 25% ในช่วงเริ่มต้นเป็น 5% หลังจากผ่านไปสองสามชั่วโมง นี่คือภาพหน้าจอของตัวจัดการงานใน Windows: ข้อสังเกต เวลาในการแก้ปัญหาสำหรับอินสแตนซ์ขนาดใหญ่ของปัญหาโดยรวมอยู่ในช่วงชั่วโมงต่อวันและใช้หน่วยความจำมากถึง 32 กรัม (บน Unix) เวลาแก้ปัญหาสำหรับปัญหาย่อยอยู่ในช่วง ms ฉันไม่พบปัญหานี้ในปัญหาเล็ก ๆ ที่ใช้เวลาเพียงไม่กี่นาทีในการแก้ไข …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.