Pekala, herhangi bir öneri veya çözüm sunmak için çok geç, ama yine de benzer türden bir sorunla karşı karşıyaydım, biraz daha araştırma odaklı. Temel olarak e-öğrenme platformlarında Java dersi için programlama ödevleri için bir hazırlık ve otomatik değerlendirmeler sağlamaya çalışıyordum.
- Bunun bir yolu, ayrı bir sanal makineler (JVM değil), ancak her öğrenci için minimum yapılandırma olası işletim sistemine sahip gerçek sanal makineler oluşturmak olabilir.
- Java için JRE'yi veya kitaplıkları, öğrencilerin bu makinelerde derlemesini ve yürütmesini istediğiniz program dillerine göre yükleyin.
Bunun oldukça karmaşık ve çok sayıda görev olduğunu biliyorum, ancak Oracle Virtual Box, sanal makineleri dinamik olarak oluşturmak veya klonlamak için Java API sağlıyor.
https://www.virtualbox.org/sdkref/index.html (Unutmayın, VMware bile aynısını yapmak için API sağlar)
Ve asgari büyüklük ve konfigürasyon Linux dağıtımı için burada bu bir başvurabilir http://www.slitaz.org/en/ ,
Öyleyse şimdi eğer öğrenciler karıştırırsa veya yapmaya çalışırsa, bellek veya dosya sistemi veya ağ iletişimi, soket, maksimum kendi VM'sine zarar verebilir.
Ayrıca bu sanal makinelere dahili olarak Java için Sandbox (güvenlik yöneticisi) gibi ek güvenlik sağlayabilir veya Linux'ta kullanıcıya özel hesaplar oluşturabilir ve böylece erişimi kısıtlayabilirsiniz.
Bu yardımcı olur umarım !!
Thread.stop
Java kitaplık kodunda sorunlara neden olur. Benzer şekilde, Java kitaplık kodu da izinler gerektirecektir. Çok daha iyi sağlamak içinSecurityManager
kullanmakjava.security.AccessController
. Sınıf yükleyici muhtemelen kullanıcı kodunun kendi sınıflarına da erişime izin vermelidir.