Оглавление |
---|
Материалы
Презентация: Типы данных в Java
Проект с примерами: lesson2.zip
Задачи
CurrencyExchenge
Необходимо реализовать класс Money с поддержкой валют и методами add, subtract, multiply, devide
Постановка: CurrencyExchange.zip
Чтобы открыть проект в Idea:
- Cкачать и распаковать
- В Idea выбрать File→Open и выбрать распакованную директорию с проектом
Quantity
Необходимо реализовать класс Quantity с поддержкой единиц измерения и арифметических операций: add, subtract, multiply, divide
Проект: Quantity.zip
Структура JVM
Структура памяти
В документации полностью описаны области памяти в JVM - https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html
Пример с разбором структур памяти в Java: https://javadevblog.com/chto-takoe-heap-i-stack-pamyat-v-java.html
Сборщик мусора
Документация по GC - https://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html
Детали по Copy-Collection и Mark-Sweep-Compact: https://habr.com/ru/post/112676/
Встроеные инструменты
jvisualvm - мониторинг состояния JVM
jconsole - мониторинг ресурсов, работы GC
Примеры
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
static char[] alphabet; static { alphabet = new char[26]; for (char c = 'a'; c <= 'z'; c++) { alphabet[c - 'a'] = c; } } public static void main(String ... args) { while(true) { String word = ""; for (int i = 0; i < 1000; i++) { word += alphabet[(int)(Math.random()*26)]; } System.out.println("word = " + word); } } private static recurrent(int i) { recurrent(++i); } |
...
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
Currency usd = Currency.getInstance("USD"); Currency eur = Currency.getInstance("EUR"); Currency gbp = Currency.getInstance("GBP"); System.out.println("usd = " + usd); System.out.println("eur = " + eur); System.out.println("gbp = " + gbp); System.out.println(usd.getDisplayName()); System.out.println(usd.getDefaultFractionDigits()); |
Задачи
CurrencyExchenge
Необходимо реализовать класс Money с поддержкой валют и методами add, subtract, multiply, devide
Постановка: CurrencyExchange.zip
Чтобы открыть проект в Idea:
- Cкачать и распаковать
- В Idea ds,выбрать File→Open и выбрать распакованную директорию с проектом
Quantity
Необходимо реализовать класс Quantity с поддержкой единиц измерения и арифметических операций: add, subtract, multiply, divide
...