Эмулятор: qemu-system-x86_64: предупреждение: хост не поддерживает запрошенную функцию: CPUID.01H: ECX.sse4.2 [бит 20]

A ClassCastException появляется, когда вы пытаетесь применить экземпляр объекта к типу, которого нет. Кастинг работает только тогда, когда заброшенный объект следует за отношением «есть» к типу, который вы пытаетесь выполнить. Для примера

Apple myApple = new Apple();
Fruit myFruit = (Fruit)myApple;

Это работает, потому что яблоко - это «плод». Однако, если мы отменим это.

Fruit myFruit = new Fruit();
Apple myApple = (Apple)myFruit;

Это вызовет исключение ClasCastException, потому что Fruit не является (всегда) Apple.

Хорошей практикой является защита любых явных приемов с помощью instanceof сначала проверьте:

if (myApple instanceof Fruit) {
  Fruit myFruit = (Fruit)myApple;
}
0
задан sina motevari 18 March 2019 в 22:19
поделиться

1 ответ

Вы должны будете использовать CPU, который поддерживает набор команд SSE4.2; например. Nehalem или новее - иначе вы можете запускать только x86 изображения, что идеально подходит для тестирования. Я использую их по соображениям производительности, даже если бы смог запустить x86_64 изображения. ARM64 аппаратное обеспечение - это то, что на самом деле имеет значение для тестирования в наши дни.

Этот вопрос, вероятно, должен раскрыть, какой CPU вы даже используете, который может быть устаревшим CPU, учитывая дату первоначального выпуска архитектуры Nehalem, которая представила SSE4.2.

Для справки: Intel .

0
ответ дан Martin Zeitler 18 March 2019 в 22:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: