ทำไมถึงได้รับเลือก181783497276652981
และ?8682522807148012
Random.java
นี่คือซอร์สโค้ดที่เกี่ยวข้องจาก Java SE JDK 1.7:
/**
* Creates a new random number generator. This constructor sets
* the seed of the random number generator to a value very likely
* to be distinct from any other invocation of this constructor.
*/
public Random() {
this(seedUniquifier() ^ System.nanoTime());
}
private static long seedUniquifier() {
// L'Ecuyer, "Tables of Linear Congruential Generators of
// Different Sizes and Good Lattice Structure", 1999
for (;;) {
long current = seedUniquifier.get();
long next = current * 181783497276652981L;
if (seedUniquifier.compareAndSet(current, next))
return next;
}
}
private static final AtomicLong seedUniquifier
= new AtomicLong(8682522807148012L);
ดังนั้นการกล่าวอ้างnew Random()
ไม่มีพารามิเตอร์เมล็ดใด ๆ ใช้เวลาปัจจุบัน "uniquifier เมล็ดพันธุ์" และ XORs System.nanoTime()
มันด้วย จากนั้นจะใช้181783497276652981
เพื่อสร้างเมล็ดพันธุ์ที่ไม่ซ้ำกันเพื่อเก็บไว้ในครั้งต่อไปnew Random()
เรียกว่า
ตัวอักษร181783497276652981L
และ8682522807148012L
ไม่ได้อยู่ในค่าคงที่ แต่จะไม่ปรากฏที่อื่น
ตอนแรกความคิดเห็นทำให้ฉันเป็นผู้นำได้ง่าย ค้นหาออนไลน์สำหรับบทความที่ทำให้บทความที่เกิดขึ้นจริง 8682522807148012
ไม่ปรากฏในกระดาษ แต่181783497276652981
ไม่ปรากฏ - เป็น substring ของหมายเลขอื่น1181783497276652981
ซึ่งเป็น181783497276652981
ที่มี1
เพิ่มด้านหน้า
กระดาษอ้างว่า1181783497276652981
เป็นตัวเลขที่ให้ผล "บุญ" ที่ดีสำหรับเครื่องกำเนิดไฟฟ้าที่สอดคล้องกันเชิงเส้น ตัวเลขนี้ถูกคัดลอกไปยัง Java ผิดพลาดหรือไม่? ไม่181783497276652981
มีบุญที่ยอมรับ?
และทำไมถึงถูก8682522807148012
เลือก?
ค้นหาออนไลน์สำหรับจำนวนทั้งอัตราผลตอบแทนไม่มีคำอธิบายใดเพียงหน้านี้ที่ยังสังเกตเห็นลดลงในด้านหน้าของ1
181783497276652981
สามารถเลือกหมายเลขอื่นที่จะใช้งานได้เช่นเดียวกับตัวเลขสองตัวนี้หรือไม่? ทำไมหรือทำไมไม่?
8682522807148012
เป็นมรดกของรุ่นก่อนหน้าของชั้นเรียนที่สามารถเห็นได้ในการแก้ไขที่ทำในปี 2010 181783497276652981L
ดูเหมือนว่าจะมีการพิมพ์ผิดจริงและคุณสามารถยื่นรายงานข้อผิดพลาด
seedUniquifier
สามารถโต้แย้งได้อย่างมากในกล่อง 64 คอร์ เธรดโลคัลจะปรับขนาดได้มากกว่า