Skip to content
This repository has been archived by the owner on Dec 3, 2019. It is now read-only.

yarkinsv/money-transfer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Установка

mvn clean install

Задание

  1. Запустить программу командой java -jar <путь до скомпилированной shaded jar'ки>
  2. Запустить скрипт run_tests.py
  3. С помощью jvisualvm подключиться к работающей программе и проанализировать метрики.

На каждом этапе выполнения задания, собирайте следующую информацию:

  • на сколько загружен CPU
  • сколько в среднем потребляется памяти, заметен ли в программе memory leak
  • как часто происходит сборка мусора
  • сколько в среднем выполняется запуск сценария 1, как быстро увеличивается это время
  • какие операции из значимых (т.е. без учета работы системных функций, в т.ч. веб сервера) занимают больше всего процессорного времени
  • на основе этой информации решите, что в коде можно оптимизировать, и кратко обоснуйте свое решение
  • проведите оптимизацию и повторите сбор информации

Также можете провести свои оптизации в коде, даже если не видите для этого формацльных метрик в jvisualvm.

Для финальной версии программы сделайте Pull Request на github'е, в названии пулл реквеста напишите ваше имя, а в комментариях к пулл реквесту напишите ваш анализ

После того как вы исправите все найденные баги, проведите дополнительные эксперименты:

  • попробуйте использовать разные GC и сравните как они себя ведут в плане потребления ресурсов, опишите найденные вами различия и выберите по вашему мнению подходящий GC для этого приложения
  • полностью перепишите AccountDAOImpl и UserDAOImpl избавившись от базы данных, и реализовав все функции на основе HashMap и других структур, которые будут работать наиболее эффективно для тестового сценария 1. Получилось ли увеличить производительность программы?

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published