TGViewer
Java Backend | YeaHub Java Backend | YeaHub @yeahub_java_backend · 920 subscribers
Post #222 312
#полезное
🫠 Внутренности Java switch

Как компилятор выбирает, какую инструкцию использовать?

Первое, что нужно знать: любой switch в Java компилируется в одну из двух JVM-инструкций:

> tableswitch

> lookupswitch

Прежде чем разбирать, как работает каждая из них, давайте посмотрим, как компилятор решает, какую выбрать.

Следующий код сгенерирует tableswitch:

public String tableSwitch() {
return switch (value) {
case 1 -> "one";
case 2 -> "two";
case 4 -> "four";
default -> "other";
};
}


А вот этот код сгенерирует lookupswitch:

public String lookupSwitch() {
return switch (value) {
case 1 -> "one";
case 10 -> "ten";
case 100 -> "one hundred";
default -> "other";
};
}


👉Новости 👉База вопросов
More from @yeahub_java_backend
  1. Oct 9, 2026#podcast #spring 📚 Spring АйО Русскоязычное сообщество Spring-разработчиков с актуальной,…
  2. Oct 8, 2026#Собес #aggregate #function 🤔 Что такое агрегатные функции в SQL? 💬 Кратко: Агрегатные ф…
  3. Oct 7, 2026#Собес #. 🤔 DIS Group задача . 💬 Вопросы: - Что такое Git и GitHub? 👉 Все вопросы из эт…
  4. Oct 5, 2026#Собес #bucket #hashmap 🤔 Что такое bucket в HashMap и что в нем хранится? 💬 Кратко: Buc…
  5. Oct 2, 2026#documentation #яндекс #алгоритмы 📚 Структурный подход к алгоритмам: от теории к практике…
  6. Oct 1, 2026#Собес #LLM #RAG #metrics 🤔 Какие метрики собирал в проектах с LLM/RAG? Как доставлял их…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →