Регистры (registers) Стек (stack) Куча (heap) Статическое хранилище (static) Постоянное хранилище - код программы Не-оперативная память (streams, persistent) Тип данных Примеры Место хранения Примитивы int, long, float, double, boolean, byte Стек Объекты new Object() Сам объект – Куча Ссылка - Стек java.lang.String Кэш в куче String StringBuffer – thread safe StringBuilder – not thread safe Целые вычисления: int (4 байта), long (8 байт) Неограниченные целые: BigInteger Плавающая точка: double Фиксированная точка: BigDecimal Точность в BigDecimal Точность для хранения и отображения Округления в BigDecimal Деление суммы на N частей Валюта (Currency) Курсы обмена (Currency Exchange Rates) Единицы измерения (Units Of Measure) ◦ Типы ЕИ ◦ Основные ЕИ ◦ Дополнительные ЕИ Конвертация единиц измерения Реализовать класс Money с поддержкой валют и арифметических операции: add, substract, multiply, divide Реализовать класс Quantity с поддержкой единиц измерения и арифметических операций: add, substruct, multiply, divide В классе Money или Quantity реализовать деление на N равных частей