Найти в Дзене
Nostalgie wawes

Вселенная Java.

Области применения платформы java. Источник: НГУ им. Лобачевского Перед вами представлена многоуровневая архитектура Java, демонстрирующая, как разные версии JVM (Java Virtual Machine, проще - «прослойка» между кодом и аппаратной платформой) адаптированы под различные устройства и задачи — от карт данных и мобильных терминалов до серверных систем. Ведь Java изначально - это не про банковский софт, не про апплеты в вашем браузере (на заре 1990х г.). Java разрабатывалась в Sun Microsystems ИМЕННО для рынка микроэлектроники и «умных» бытовых устройств. Проект стартовал в 1990 г. как The Stealth Project, затем был переименован в Green Project. Его цель — создать язык программирования для следующего поколения смарт-устройств (микроэлектроники, бытовых приборов с логикой). Подробнее тут: https://dzen.ru/a/Z13uY-x0yzcP4lNE?share_to=link Какие проблемы решали разработчики Sun, создавая инновацию? избыточная сложность C++; отсутствие автоматической сборки мусора (требовалось ручное управл
Области применения платформы  java.  Источник: НГУ им. Лобачевского
Области применения платформы java. Источник: НГУ им. Лобачевского

Перед вами представлена многоуровневая архитектура Java, демонстрирующая, как разные версии JVM (Java Virtual Machine, проще - «прослойка» между кодом и аппаратной платформой) адаптированы под различные устройства и задачи — от карт данных и мобильных терминалов до серверных систем.

Ведь Java изначально - это не про банковский софт, не про апплеты в вашем браузере (на заре 1990х г.). Java разрабатывалась в Sun Microsystems ИМЕННО для рынка микроэлектроники и «умных» бытовых устройств. Проект стартовал в 1990 г. как The Stealth Project, затем был переименован в Green Project. Его цель — создать язык программирования для следующего поколения смарт-устройств (микроэлектроники, бытовых приборов с логикой). Подробнее тут: https://dzen.ru/a/Z13uY-x0yzcP4lNE?share_to=link

Какие проблемы решали разработчики Sun, создавая инновацию?

  • избыточная сложность C++;
  • отсутствие автоматической сборки мусора (требовалось ручное управление памятью);
  • трудности с портированием кода на разные устройства.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Итак, справа налево на картинке:


1. Java 2 Micro Edition (ME) — версия языка для мобильных и встраиваемых устройств, прямое продолжение идей, заложенных в проекте Star7. Изначально Java создавалась не для ПК, а для микроэлектроники. Star7 стал «лабораторией» для проверки этих идей, а Java ME воплотила их в массовых встраиваемых устройствах.

  • JVM-реализация: KVM (Kilo Virtual Machine) и Card VM.
  • Особенности:
    рассчитана на устройства с ограниченными ресурсами (например, 32 КБ памяти);
    поддерживает профили
    CLDC (Connected Limited Device Configuration) для базовых мобильных устройств (сотовые телефоны, пейджеры) и CDC (Connected Device Configuration) для более продвинутых (PDA, коммуникаторы);
    используется в
    POS-терминалах, мобильных телефонах, смарт-картах.
  • Цель: обеспечить работу Java-приложений на устройствах с минимальной памятью и вычислительными возможностями.
Первый в мире PDA "Star7" и "маскот" java - ассистент Duke
Первый в мире PDA "Star7" и "маскот" java - ассистент Duke

2. Java 2 Standard Edition (SE) — для ПК и ноутбуков.

  • JVM-реализация: "стандартная" JVM с HotSpot.
  • Особенности:
    работает на PC, ноутбуках, сетевом оборудовании (set-top box, net TV);
    требует
    около 1 МБ памяти — больше, чем ME, но меньше, чем EE;
    ориентирована на
    десктопные приложения, утилиты, средний уровень серверных задач, баланс между производительностью и ресурсоёмкостью.

3. Java 2 Enterprise Edition (EE) — для серверных и корпоративных решений. Это наш любимый сегодня банковский софт, а т.ж. крупные медицинские энтерпрайзы, соц. сети и проекты в сфере испортозамещения.

  • JVM-реализация: усиленная JVM с расширенной поддержкой многопоточности и масштабируемости.
  • Особенности:
    предназначена для серверов, рабочих станций (workstation);
    требует
    от 10 МБ памяти и выше;
    включает
    JSP, Java Servlets, EJB — инструменты для создания сложных веб- и корпоративных приложений;
    поддерживает
    распределённые системы, интеграцию с базами данных, веб-сервисы;
    используется в
    банковских системах, ERP, CRM.

Архитектура Java демонстрирует гибкость и универсальность платформы: от компактных мобильных приложений до мощных серверных систем. Каждая версия JVM оптимизирована под свою нишу, сохраняя при этом совместимость кода на уровне Java Language. Это делает Java востребованной в самых разных сферах — от IoT до сектора крупных корпоративных закрытых систем. Написаны десятки книг и трудов, поистине целая вселенная.

На сегодня я веду поиски исходных кодов тех лет, когда Джеймс Гослинг горел идеей продвинуть на рынок прототип "Star7" - первого в мире персонального цифрового ассистента (PDA) с графическим интерфейсом, революционной идеи на тот момент настолько, что повергало людей в шок. К сожалению, не нашедшего своей аудитории, т.к. значительно опережал свое время.
К слову говоря, у меня есть идея обратиться к Джеймсу Гослингу напрямую с таким вопросом, ибо у меня в наличии есть его аккаунт на mastodon - децентрализованной альтернативе Twitter с акцентом на свободу пользователей. Кто знает, возможно какую-то инфо о событиях тех лет можно будет нарыть :)

Мои задумки и мысли.
Сегодня в моей коллекции пока: исходные коды первых мессенджеров ICQ и JIMM (около 1998 - 2000 г.г.), что тоже неплохо и уже круто, т.к. там уже можно увидеть КАК создавался первый коммерческий софт на java ME. Хоть это и на 5-7 лет позже того хайпа, что создал Sun Microsystems.

В моих задумках - сделать графический граф (простите за тавтологию) либо масштабируемую схему, где будет очень хорошо видно развитие java как концепции от начала до наших дней.

Stay tuned!