Security متوسط

استخدم واجهة RandomGenerator لاختيار خوارزميات أرقام عشوائية بالاسم دون الارتباط بفئة محددة.

✕ Java 8
// Hard-coded to one algorithm
Random rng = new Random();
int value = rng.nextInt(100);

// Or thread-local, but still locked in
int value = ThreadLocalRandom.current()
    .nextInt(100);
✓ Java 17+
// Algorithm-agnostic via factory
var rng = RandomGenerator.of("L64X128MixRandom");
int value = rng.nextInt(100);

// Or get a splittable generator
var rng = RandomGeneratorFactory
    .of("L64X128MixRandom").create();
هل ترى مشكلة في هذا الكود؟ أخبرنا.
🔧

مستقل عن الخوارزمية

اختر أفضل خوارزمية RNG بالاسم دون تغيير بنية الكود.

خوارزميات أفضل

الوصول إلى مولّدات LXM الحديثة ذات الخصائص الإحصائية المتفوقة.

🔗

واجهة برمجية موحّدة

واجهة واحدة تغطي Random و ThreadLocalRandom و SplittableRandom والمزيد.

الأسلوب القديم
new Random() / ThreadLocalRandom
الأسلوب الحديث
مصنع RandomGenerator
منذ JDK
17
الصعوبة
متوسط
واجهة RandomGenerator
متاح

متاح منذ JDK 17 (سبتمبر 2021، JEP 356).

قدّم JDK 17 الـ RandomGenerator كواجهة مشتركة لجميع تطبيقات RNG. بدلاً من ترميز new Random() أو ThreadLocalRandom يمكنك اختيار الخوارزميات بالاسم عبر مصنع مما يُسهّل التبديل بين الخوارزميات المحسَّنة لحالات استخدام مختلفة.

مشاركة 𝕏 🦋 in