Ответ
В прямом смысле, термина "военный билет" в Java или стандартной компьютерной терминологии не существует. Это бытовое понятие, связанное с военной службой.
Если вопрос метафорически намекает на документ, подтверждающий статус, доступ или безопасность, то в контексте многопоточного программирования можно говорить о механизмах синхронизации и потокобезопасности.
Аналоги в Java для контроля доступа и безопасности в многопоточной среде:
- Синхронизированные коллекции:
Collections.synchronizedList(new ArrayList())— обеспечивают безопасность за счёт блокировки на весь объект. - Потокобезопасные коллекции из
java.util.concurrent:ConcurrentHashMap— высокая производительность за счёт блокировок на уровне сегментов или ячеек.CopyOnWriteArrayList— создаёт новую копию массива при изменении, безопасно для частого чтения.
- Атомарные классы:
AtomicInteger,AtomicReference— для атомарных операций над отдельными переменными (см. предыдущий вопрос).
Пример "пропуска" в ConcurrentHashMap:
ConcurrentHashMap<String, Integer> accessRegistry = new ConcurrentHashMap<>();
// Потокобезопасное добавление "пропуска"
accessRegistry.put("userId-12345", SecurityLevel.ALLOWED);