Java Platform, Standard Edition, сокращенно Java SE (ранее Java 2 Standard Edition или J2SE) — стандартная версия платформы Java 2, предназначенная для создания и исполнения апплетов и приложений, рассчитанных на индивидуальное пользование или на использование в масштабах малого предприятия. Не включает в себя многие возможности, предоставляемые более мощной и расширенной платформой Java 2 Enterprise Edition (J2EE), рассчитанной на создание коммерческих приложений масштаба крупных и средних предприятий.
Пакет java.lang содержит фундаментальные классы и интерфейсы, близко привязанные к языку и системе во время выполнения. Сюда входят корневые классы, которые формируют иерархию классов, типы, привязанные к определению языка, основные исключения, математические функции, классы поддержки многопоточности, функции безопасности, а также классы, позволяющие получить информацию относительно операционной системы, на которой выполняется программа.
Основные классы в java.lang: Object — этот класс является корнем иерархии классов в Java; Enum — базовый класс для перечислимого типа (с версии J2SE 5.0); Class — класс является основным в подсистеме интроспекции Java; ClassLoader — абстрактный класс, определяет, как загружаются классы. Ваше приложение может создавать подклассы, расширяющие ClassLoader, реализуя его методы. Это позволяет загружать классы другими способами, нежели тот, которым выполняется обычная загрузка в системе времени выполнения Java. Однако обычно вы не должны этого делать; Throwable — класс является базовым для иерархии классов исключений; Error, Exception, RuntimeException — базовые классы для каждого подтипа исключений; Thread — класс, содержащий операции над потоками исполнения; String — класс для представления строк и их значений; StringBuffer и StringBuilder — классы для работы со строками (StringBuilder с версии J2SE 5.0); Comparable — интерфейс для поддержки обобщённого сравнения и упорядочения объектов (с версии J2SE 1.2); Iterable — интерфейс для поддержки улучшенного цикла for (с версии J2SE 5.0); Process, Runtime, SecurityManager, System — выполняют «системные операции». Управляют динамической загрузкой классов, созданием внешних процессов, получением информации об окружающей среде (например, времени суток), и следят за выполнением политик безопасности; Math и StrictMath — содержат основные математические функции, такие, как вычисление синуса, косинуса и квадратного корня (StrictMath с версии J2SE 1.3); Классы-обёртки над примитивными типами, которые превращают их в объекты; Классы исключений для основных исключительных ситуаций языка и среды исполнения.
Все классы из пакета java.lang автоматически подключаются в каждый исходный файл программы. Явное подключение не требуется