ΠΡΠΎΡΠ°ΠΉΠ»Π΅Ρ java: ΠΡΠΊΡΡΡΡΠ²ΠΎ Java-ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ β JUG.ru
ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΡΠΎΡΠ°ΠΉΠ»Π΅Ρ — ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡΠΎΡΠ°ΠΉΠ»Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΡΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΠΠ.
ΠΠ°Π½Π½ΡΠΉ ΠΊΡΡΡ ΡΡΠ°Π²ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ±ΠΎΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ
- ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ Β Π·Π°Π΄Π°Ρ
- ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠ°ΠΌΠΈ, ΠΈΠ΄ΡΡΠΈΠΌΠΈ
Π²Β ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅Β ΡΒ JDK
Visual VM, Java Flight Recorder ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ - Π·Π°ΠΊΡΠ΅ΠΏΠΈΡΡ Π·Π½Π°Π½ΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°Π±ΠΎΡΠΎΠΉ ΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
ΠΡΡΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π»Π΅ΠΊΡΠΈΠΎΠ½Π½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠ΅Π΄ΡΡΡΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°
Π¦Π΅Π½Π½ΠΎΡΡΡ ΠΊΡΡΡΠ°
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅, Π·Π°Π΄Π°ΡΠΈ ΡΡΠ΅Π±ΡΡΡΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠ° Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π½Π΅ ΡΠ°ΡΡΠΎ. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π°ΡΡΠΈΡΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π²Π»Π°Π΄Π΅ΡΡ ΡΡΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΎΠΏΡΡΠ΅.
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠ° Π² ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π΄ΡΠ°ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ (ΠΎΡ Π½Π΅Π΄Π΅Π»Ρ ΠΈ ΠΌΠ΅ΡΡΡΠ΅Π² Π΄ΠΎ ΡΡΠΈΡΠ°Π½Π½ΡΡ
Π΄Π½Π΅ΠΉ).
ΠΠ°Π½Π½ΡΠΉ ΡΡΠ΅Π±Π½ΡΠΉ ΠΊΡΡΡ Π΄Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΈ Π½Π°Π²ΡΠΊΠΈ Π΄Π»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠ° Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅.
ΠΡΡΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π±ΠΎΠ»ΡΡΠΈΡ
Π΄Π°Π½Π½ΡΡ
(Big Data).
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠ°Ρ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ / Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡΡ Java (Π²ΡΠ΅Ρ ΡΡΠΎΠ²Π½Π΅ΠΉ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ), Big Data ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ, SRE (Site Reliability Engineer).
Π‘ΠΏΠΈΡΠΎΠΊ ΠΠ Π΄Π»Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°ΡΡΠΈ
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡΠΌΠΈ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌ ΠΊΡΡΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ.
Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΠ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΡΡΠ΅Π½ΠΈΠ½Π³Π°.
- ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Java (JDK) ΠΎΡ Oracle — Π²Π΅ΡΡΠΈΡ Π½Π΅ Π½ΠΈΠΆΠ΅ 8u144
- Apache Maven — Π²Π΅ΡΡΠΈΡ Π½Π΅ Π½ΠΈΠΆΠ΅ 3.0.5
- git ΠΊΠ»ΠΈΠ΅Π½Ρ
- Π»ΡΠ±Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Java
ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π»ΡΠ±Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°.
Π ΡΡΠ΅Π½Π΅ΡΠ΅
ΠΠ»Π΅ΠΊΡΠ΅ΠΉ Π Π°Π³ΠΎΠ·ΠΈΠ½ — Π°Π²ΡΠΎΡ ΠΊΡΡΡΠ° ΠΈ ΡΡΠ΅Π½Π΅Ρ, ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»Π΅Π΅ 10 Π»Π΅Ρ ΠΎΠΏΡΡΠ° Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΡΠΎΠΊΠΎ Π½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΈΠ½Π΄ΡΡΡΡΠΈΡΡ . ΠΠ»Π΅ΠΊΡΠ΅ΠΉ Π°ΠΊΡΠΈΠ²Π½ΡΠΉ Π΄ΠΎΠΊΠ»Π°Π΄ΡΠΈΠΊ Π½Π° ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΡ ΠΈ Π·Π°ΡΡΠ±Π΅ΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΠ ΠΈ ΠΊΠΎΠ½ΡΡΠΈΠ±ΡΡΡΠΎΡ Π² OpenSource.
ΠΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ 8 Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ°Ρ (90 ΠΌΠΈΠ½ΡΡ).
Π‘Π΅ΠΊΡΠΈΡ 1
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. ΠΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ²Π΅ΡΡ Ρ Π²Π½ΠΈΠ·. ΠΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠΈΠΏΠΎΠ²ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ Π΄Π΅ΡΠ΅Π²ΠΎ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ. ΠΠ°Π·ΠΎΠ²Π°Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² JDK.
Π‘Π΅ΠΊΡΠΈΡ 2
ΠΠΎΠΈΡΠΊ «Π³ΠΎΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°» ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΡΡΠΌΠΏΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°ΠΌΠΏΠΎΠ² ΠΏΠΎΡΠΎΠΊΠΎΠ². Π Π°Π±ΠΎΡΠ° Ρ VisualVM. ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΡΠΌΠΏΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ: Π΄Π΅ΡΠ΅Π²ΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ², flame graph.
Π‘Π΅ΠΊΡΠΈΡ 3
Π‘Π±ΡΠΎΠΊΠ° ΠΌΡΡΠΎΡΠ° ΠΈ Π΅Π³ΠΎ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΠ½Π°Π»ΠΈΠ· Π»ΠΎΠ³ΠΎΠ² ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ°. Π‘ΠΎΠ±ΡΡΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ° Π² Mission Control / Java Flight Recorder. ΠΡΠΈΡΠ΅ΡΠΈΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ±ΠΎΡΡΠΈΠΊΠ° ΠΌΡΡΠΎΡΠ°.
Π‘Π΅ΠΊΡΠΈΡ 4
ΠΠ½Π°Π»ΠΈΠ· ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ JVM. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΠΈΡΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΊΠ»Π°ΡΡΠΎΠ² Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΠΏΠ°ΠΌΡΡΡ. ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°ΠΌΠΏΠ° ΠΏΠ°ΠΌΡΡΠΈ JVM ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ Π½ΠΈΠΌ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° Π·Π°ΠΏΡΠΎΡ OQL Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°ΠΌΠΏΠΎΠ².
Π‘Π΅ΠΊΡΠΈΡ 5
Π£Π³Π»ΡΠ±Π»ΡΠ½Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ Java Flight Recorder. Π‘Π΅ΠΌΠΏΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π»Π»ΠΎΠΊΠ°ΡΠΈΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°.
Π‘Π΅ΠΊΡΠΈΡ 6
ΠΠ°ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΌΡ ΡΡΠΌΠΏΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°ΠΌΠΏΠΎΠ² ΠΏΠΎΡΠΎΠΊΠΎΠ². ΠΠ΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡΠ΅Π½ΠΊΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π΄Π»Ρ ΡΡΠΌΠΏΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π‘Π΅ΠΊΡΠΈΡ 7
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ ΡΠ·ΠΊΠΈΡ ΠΌΠ΅ΡΡ. Π’ΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Visual VM. Π’ΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ BTrace. ΠΠ½Π°Π»ΠΈΠ· ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ. ΠΠ΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΌΠ΅ΠΆΠΏΠΎΡΠΎΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ (deadlocks) ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ.
Π‘Π΅ΠΊΡΠΈΡ 8
ΠΠ°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π»Π΅ΠΊΡΠΈΡ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π»Ρ Π½Π΅ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠΈ. ΠΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Java Π»ΡΡΡΠ΅: JProfiler ΠΈΠ»ΠΈ YourKit?
ΠΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Π»ΡΡΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΡΡΠΈ? 90% Π½Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ-ΡΡΠΎ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ. ΠΡΡΠ³ΠΈΠ΅ 10% — ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ webapps/servlet (Ρ ΠΎΡΠ΅Π½Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ JSP ΠΈ Π±Π΅Π· Π‘ΠΠ ΠΠΠΠΠ’ΠΠ!). Π¦Π΅Π»Π΅Π²ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Sr Ρ 39-Π»Π΅ΡΠ½ΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ ΡΠ°Π±ΠΎΡΡ Π² ΠΎΡΡΠ°ΡΠ»ΠΈ. ΠΠ°ΠΌ Π½ΡΠΆΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Sun JDK 5 ΠΈ.
ΠΠ° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡΠ° (2008-10-02) JProfiler Π±ΡΠ» Π½Π° 5.1.4, Π° YourKit-Π½Π° 7. 5. ΠΠΎΡ ΠΎΠΆΠ΅, ΡΠΊΠΎΡΠΎ Π²ΡΠΉΠ΄Π΅Ρ YourKit 8.0.
java
performance
jprofiler
yourkit
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Trenton Β Β
02 ΠΎΠΊΡΡΠ±ΡΡ 2008 Π² 18:02
1 ΠΎΡΠ²Π΅Ρ
- Jprofiler ΠΏΡΠΎΡΠ΅Π΄ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ
ΠΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠΎ ΡΡΡΠ°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Ρ JProfiler 7.1.1, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° HTTP, ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ΅ ΠΎΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Firebug ΠΈΠ»ΠΈ ΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠ° — 2.5s ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ 7.5s. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅Π°Π½ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. JProfiler Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠΊΠ°Π·ΡΠ²Π°Π» ΡΠ²ΠΎΡ…
- ΠΠΌΠ΅Π΅Ρ ΠΠΈ JProfiler ΠΠΈΠ΄ ΠΠ±Π»Π°ΡΡΠΈ ΠΠΎΡΡΠΈΠΆΠΈΠΌΠΎΡΡΠΈ, ΠΠΎΠ΄ΠΎΠ±Π½ΡΠΉ YourKit?
Π― Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΡ Π΄Π°ΠΌΠΏ ΠΊΡΡΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ jmap. YourKit ΠΈΠΌΠ΅Π΅Ρ Reachability scope, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΈΡ ΠΎΠ±Π»Π°ΡΡΡΡ Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎΡΡΠΈ, ΡΠΎ Π΅ΡΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ/Π΄ΠΎΡΡΡΠΏΠ½Ρ Π»ΠΈ ΠΎΠ½ΠΈ ΠΈΠ· ΠΊΠΎΡΠ½Π΅ΠΉ GC http://www.yourkit. com/docs/95/help/Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎΡΡΡ.jsp ΠΠ½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Objects…
38
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΊΠ°ΠΊ JProfiler 4, ΡΠ°ΠΊ ΠΈ YourKit 7.5, ΠΈ YourKit Π²ΡΠΈΠ³ΡΡΠ²Π°Π΅Ρ ΡΡΠΊΠΈ Π²Π½ΠΈΠ·. ΠΡΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΌΠ΅Π½Π΅Π΅ ΠΈΠ½Π²Π°Π·ΠΈΠ²Π½ΠΎ, ΡΠ΅ΠΌ JProfile, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Ρ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌ Π°Π³Π΅Π½ΡΠΎΠΌ YourKit, ΡΠ΅Π³ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ΄Π΅Π»Π°Π» Π±Ρ Ρ JProfiler.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π°Π½Π°Π»ΠΈΠ·Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ YourKit, Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ΅Π½ (Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄), ΡΡΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΠΏΠΎΠΈΡΠΊ ΠΏΠ΅ΡΠ²ΠΎΠΏΡΠΈΡΠΈΠ½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
skaffman Β Β
02 ΠΎΠΊΡΡΠ±ΡΡ 2008 Π² 20:32
17
ΠΡΠ»ΠΈ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π½Π° jdk >=1.6_07, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° jvisualvm, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Steve B. Β Β
02 ΠΎΠΊΡΡΠ±ΡΡ 2008 Π² 18:20
16
ΠΠ΅Π΄Π°Π²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π² ΠΊΠ°ΠΊ JProfiler, ΡΠ°ΠΊ ΠΈ Yourkit, Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ yourkit Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΠΈΡ Π°Π½Π°Π»ΠΈΠ· ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΠ°ΠΌΡΡΡΡ ΠΈ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅Ρ jprofiler Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ½Π°Π»ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ Yourkit ΠΊΠ°ΠΆΠ΅ΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΠΌ ΠΈ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ. ΠΠ»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π° yourkit ΠΌΠ½Π΅ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΅ΡΠΈΡΡ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΏΡΡΠ°Π»ΡΡ ΡΠ΅ΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ yourkit. JProfiler ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΡΡ ΠΈ ΠΊΡΠ°ΡΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Ρ ΡΠΎΡΠ½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΡΠΎΡΠ΅Π½ΡΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄. Π― Π΅ΡΠ΅ Π½Π΅ Π½Π°ΡΠ΅Π» ΡΡΠΎΠ³ΠΎ Π² Π²Π°ΡΠ΅ΠΌ Π½Π°Π±ΠΎΡΠ΅. ΠΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ yourkit ΠΏΡΠΎΡΡΠΎ Π΄Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠ±ΠΎΡΠΊΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠ½ΠΎΠΉ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΡΠ΅ ΡΡΡΡΡΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ².
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Jeramyn Β Β
20 ΠΌΠ°Ρ 2010 Π² 14:56
- ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΠ°ΡΠ°Π»ΠΎΠ³ Π£Π΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° YourKit
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ YourKit ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΡΠ²ΠΎΠΈ Π±Π°Π½ΠΊΠΈ? ΠΡ ΠΈΡΠΏΡΡΡΠ²Π°Π΅ΠΌ ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ Tomcat Π½Π° CloudFoundry (Π·Π°ΠΏΡΡΠΊ Ubuntu 10.10) Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π³Π΅Π½ΡΠ° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ YourKit: Cannot start: failed to create jar file:. ..
- Π Π°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΈΡΠ΅Ρ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠ° Java. ΠΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ Compuware (ΠΏΡΠΎΠ΄ΡΠΊΡ dynaTrace), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ Π²ΡΠ΄Π°Π²Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ Π²ΠΈΠ΄ Π²ΡΠ²ΠΎΠ΄Π° Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ CPU (ΠΏΡΠΈΠΌΠ΅Ρ): (Ρ ΠΎΡΠΎΡΠΎ, Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, rest Π²ΠΎΠΏΡΠΎΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΡΠ΅Π½ Π±Π΅Π· ΡΡΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ) Π’ΠΎ, ΡΡΠΎ Π΄Π°Π΅Ρ Π²Π°ΠΌ…
9
Π― ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» JProbe, OptimizeIt ΠΈ YourKit, ΠΈ Π²ΡΠ΅ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΠ· 3-Ρ ΠΌΠΎΠΈΡ ΡΠ°ΠΌΡΡ Π»ΡΠ±ΠΈΠΌΡΡ -YourKit.
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ±ΠΎΠΉΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π² JProbe — ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΎΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΌΠΊΠ° perf ΠΊ Π°Π½Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΡ (Ρ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ°ΠΌΠΈ ΠΈ ΡΠ°ΠΉΠΌΠΈΠ½Π³Π°ΠΌΠΈ). Π― Π½Π°ΡΠ΅Π» ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Alex Miller Β Β
03 ΠΎΠΊΡΡΠ±ΡΡ 2008 Π² 04:32
8
ΠΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΡΠΎΠΌΠ΅ JXInsight, Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π°Π½Π°Π»ΠΈΠ· ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ :
http://www. jinspired.com/ΠΏΡΠΎΠ΄ΡΠΊΡΡ/jxinsight/ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°.html
http://www.jinspired.com/ΠΏΡΠΎΠ΄ΡΠΊΡΡ/jxinsight/olapvsoltp.html
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π·ΠΎΠ½Π΄ΠΎΠ² JXInsight ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅, ΡΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ netbeans Π½Π° 20x ΠΈ yourkit 100x Π ΡΠ΅ΡΡΠ°Ρ SPECjvm2008.
http:/ / blog.jinspired.com/? p=272
Π― ΡΠ²Π»ΡΡΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡΠΎΠΌ JXInsight, ΠΏΠΎΡΡΠΎΠΌΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΡΠ΅Π΄Π²Π·ΡΡ, Π½ΠΎ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Ρ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π±ΠΎΠ»Π΅Π΅ ΠΊΠ²Π°Π»ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π² ΠΎΡΡΠ°ΡΠ»ΠΈ Java, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊΠΎΠ΅ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ ΠΏΠΎΡΠ²ΡΡΠΈΠ» ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 8 Π»Π΅Ρ Π°Π½Π°Π»ΠΈΠ·Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java/J2EE Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅.
Π― Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ JXInsight ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΡΠ΅Π°Π½ΡΠ° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ adhoc. Π£ Π½Π°Ρ Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ 4000 ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ² Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ 600 Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·Π»ΠΈΡΠ½ΠΈΠΌ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ/ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ΅ΡΠ²ΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π‘ ΡΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ,
Π£ΠΈΠ»ΡΡΠΌ
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Unknown Β Β
20 ΠΎΠΊΡΡΠ±ΡΡ 2008 Π² 11:19
7
Π‘ Java 7 Update 40, Oracle Π²ΠΊΠ»ΡΡΠΈΠ» Java mission control (ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°ΡΡΡ JRockit JDK) — ΠΎΡΠ΅Π½Ρ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡ Ρ yourkit/jprofiler.
ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅ ΠΈ ΡΠ΄ΠΈΠ²ΠΈΡΠ΅ΡΡ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
MRalwasser Β Β
03 Π½ΠΎΡΠ±ΡΡ 2013 Π² 22:45
5
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΈ ΡΠΎ, ΠΈ Π΄ΡΡΠ³ΠΎΠ΅, ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΉ Π³ΠΎΠ»ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ JProfiler (Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ 6), ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΏΡΠΎΡΠ΅ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π²ΡΠΏΡΡΠΊΠ°Ρ YourKit ΠΈΠΌΠ΅Π» Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ snaphots, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠΎ ΡΡΠ»ΠΎ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
larsk Β Β
15 Π½ΠΎΡΠ±ΡΡ 2009 Π² 11:20
4
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ YourKit . .. ΠΎΠ½ ΡΠΌΠΎΠ³ ΠΎΡΠΊΡΡΡΡ 4 Π³ΠΈΠ³Π°Π±Π°ΠΉΡΠ° ΠΊΡΡΠΈ Π΄Π°ΠΌΠΏΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅Π³ΠΎ 1 Π³ ΠΊΡΡΠΈ. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Jprofiler Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΡΡΠΈ ΡΠ°Π·Π±ΠΈΠ»ΡΡ!
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Adnan Memon Β Β
12 ΡΠ΅Π½ΡΡΠ±ΡΡ 2009 Π² 02:48
3
Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» yourkit, ΠΈ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ, Π»ΡΡΡΠΈΠΉ ΠΈΠ· Π²ΡΠ΅Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π² java (Π·Π° ΡΡΠΈ Π³ΠΎΠ΄Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈΡ ). ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» jprofiler, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ ΠΌΠΎΠ³Ρ Π΄Π°ΡΡ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
james Β Β
02 ΠΎΠΊΡΡΠ±ΡΡ 2008 Π² 20:18
1
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» YourKit. Π― Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» JProfiler. Π― ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» OptimizeIt ΡΠ°Π½ΡΡΠ΅. Π£ ΠΌΠ΅Π½Ρ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΎ YourKit. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΉ ΠΈ Ρ ΠΎΡΠΎΡΠΈΠΉ GUI ΠΈ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ΄Π½Π° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ», — ΡΡΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ CPU Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, WAIS Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°).
ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΎΡΠ΅Π½Ρ ΡΠ°Π·ΡΠΌΠ½ΠΎ (ΠΎΠΊΠΎΠ»ΠΎ $1100 Π·Π° 5 Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ, Ρ Π΄ΡΠΌΠ°Ρ)
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Rejeev Divakaran Β Β
03 ΠΎΠΊΡΡΠ±ΡΡ 2008 Π² 03:49
1
YourKit-ΡΡΠΎ Π·Π΄ΠΎΡΠΎΠ²ΠΎ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² NetBeans-ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΊΡΡΡΠΎ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
stephmara Β Β
03 ΠΎΠΊΡΡΠ±ΡΡ 2008 Π² 19:02
1
ΠΡΠΊΠ°Π· ΠΎΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ: Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΎΡΠ²Π΅Ρ.
Ρ Π½ΠΈΡ
Π΅ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° / ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ UNLIKE Π΄ΡΡΠ³ΠΈΠ΅ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ : http: / / www.jinspired.com / products/jxinsight /
ΠΡΠΎΡ ΠΏΠΎΡΡ Π½Π° theserverside Π½Π° JDBInsight : http:/ / www.theserverside.com / news/thread.tss?thread_id=13488
DISCLAIMER : Ρ NOT ΡΠ²ΡΠ·Π°Π½ Ρ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
anjanb Β Β
02 ΠΎΠΊΡΡΠ±ΡΡ 2008 Π² 22:02
1
ΠΠ»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΈ Π³ΡΡΠ·Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ JIP ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
thoroughly Β Β
02 ΠΎΠΊΡΡΠ±ΡΡ 2008 Π² 18:41
1
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ JProfiler Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ Π»Π΅Ρ ΠΈ ΠΎΡΠ΅Π½Ρ Π΄ΠΎΠ²ΠΎΠ»Π΅Π½ ΠΈΠΌ. IntelliJ, ΠΏΠΎΡ ΠΎΠΆΠ΅, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ²ΠΎΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ YourKit ΠΈ JProfiler, ΡΠ°ΠΊ ΡΡΠΎ Ρ Π±Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠ», ΡΡΠΎ ΠΈΡ Π½Π°Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΎΡ ΠΎΠΆΠΈ. Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Ρ Π½ΠΈΡ ΠΎΠ±ΠΎΠΈΡ Π΅ΡΡΡ ΠΏΡΠΎΠ±Π½Π°Ρ Π²Π΅ΡΡΠΈΡ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Javamann Β Β
02 ΠΎΠΊΡΡΠ±ΡΡ 2008 Π² 20:26
1
Yourkit
ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΈΠ·ΠΊΠΈΠ΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ
ΠΎΠ΄Ρ, ΡΡΠ°Π±ΠΈΠ»Π΅Π½, ΠΏΡΠΎΡΡ Π² ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΠΉ JVM (Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ dll) ΠΈ ΠΌΠΎΡΠ½ΡΠΉ.
ΠΠ»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°ΠΌΠΏΠΎΠ² ΠΊΡΡΠΈ ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ°Π΅ΡΡΡ ΠΊ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΡ ΠΏΠ°ΠΌΡΡΠΈ Eclipse .
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
kohlerm Β Β
10 ΠΎΠΊΡΡΠ±ΡΡ 2008 Π² 15:15
0
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ JProfiler ΠΈ Π½Π°Ρ ΠΎΠΆΡ Π΅Π³ΠΎ Π² ΡΠ΅Π»ΠΎΠΌ OK. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ «dynamical instrumentation» ΡΠΆΠ°ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π²Π·ΡΡΠ° Π΄Π»Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
quant_dev Β Β
14 ΠΈΡΠ½Ρ 2009 Π² 10:30
0
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ TPTP. Π»ΡΡΡΠ°Ρ Π΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ Π² Eclipse, Π½ΠΎ ΠΏΠ»ΠΎΡ ΠΎ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ Eclipse ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Unknown Β Β
01 ΡΠ΅Π½ΡΡΠ±ΡΡ 2009 Π² 16:07
0
+1 Π΄Π»Ρ yourkit — — — using 7.0 on dev boxes in windows
not used JProfiler for a while — Π½Π΅ ΠΌΠΎΠ³Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΡΠ»ΡΡΡΠΈΡΡΡΡ Π·Π° ΡΡΠΎ Π²ΡΠ΅ΠΌΡ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
anjanb Β Β
02 ΠΎΠΊΡΡΠ±ΡΡ 2008 Π² 21:49
0
ΠΡΠΎΡΡΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΡΡΡΠΏΠ»Π΅Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Netbeans — ΠΎΠ½ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Ρ ΠΎΡΠΎΡ. ΠΠΎ Ρ Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π½ΠΈ ΡΠ΅ΠΌ, Π½ΠΈ Π΄ΡΡΠ³ΠΈΠΌ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Will Hartung Β Β
02 ΠΎΠΊΡΡΠ±ΡΡ 2008 Π² 22:15
0
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΠΎΠ»ΡΠΊΠΎ JProfiler (ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ JProbe). ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΌΠΎΠ³Ρ ΡΡΠ΄ΠΈΡΡ, ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ YourKit ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ, ΠΏΠΎ-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡ, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ JDK 1.4.2. ΠΡΠΎ Π½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ Π»ΡΠ΄Π΅ΠΉ, Π½ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
David M. Karr Β Β
02 ΠΎΠΊΡΡΠ±ΡΡ 2008 Π² 18:58
0
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ YourKit. ΠΠ½ ΡΠ°ΠΌΡΠΉ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΡΠΉ ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΉ!
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
pan40 Β Β
13 ΡΠ½Π²Π°ΡΡ 2014 Π² 07:55
ΠΠΎΡ ΠΎΠΆΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ:
ΠΡΡΡΠΈΠΉ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Java Π½Π° Mac
Π Π°Π½ΡΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» YourKit, ΠΈ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π» ΠΎΡΠ»ΠΈΡΠ½ΠΎ, Π½ΠΎ Π½Π° ΠΌΠΎΠΉ Π²ΠΊΡΡ ΠΎΠ½ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄ΠΎΡΠΎΠ³ΠΎΠΉ. ΠΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΈΠ»ΠΈ ΠΎΡΠΊΡΡΡΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Java Π΄Π»Ρ Mac, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ ΠΆΠ΅ Ρ ΠΎΡΠΎΡΠΎ, ΠΊΠ°ΠΊ…
ΠΠΎΡΠ΅ΠΌΡ Yourkit 8.X ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ java 5 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ?
ΠΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ yourkit profiler Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ» ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΈΡ Π²Π΅Π±-ΡΠ°ΠΉΡΠ΅: YourKit Java ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ 8.0.30 ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²Π΅ΡΡΠΈΡ 8.0 Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»Ρ Java 5 ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π ΠΏΡΠΎΡΠΈΠ»Ρ Java 6 ΠΈ Java…
Java ΠΏΡΠΎΡΠΈΠ»ΠΈΡΡΡΡΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ CPU ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» JProfiler, JProbe, AppSight, YourKit Π΄Π»Ρ Π²ΡΡΡΠ½Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅Ρ CPU. ΠΠΎ YourKit Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π»ΡΡΡΠ΅ Π΄ΡΡΠ³ΠΈΡ . ΠΡΡΡ Π»ΠΈ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π»ΡΡΡΠ΅ ?
Jprofiler ΠΏΡΠΎΡΠ΅Π΄ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ
ΠΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠΎ ΡΡΡΠ°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Ρ JProfiler 7.1.1, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° HTTP, ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ΅ ΠΎΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Firebug ΠΈΠ»ΠΈ ΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠ° — 2.5s…
ΠΠΌΠ΅Π΅Ρ ΠΠΈ JProfiler ΠΠΈΠ΄ ΠΠ±Π»Π°ΡΡΠΈ ΠΠΎΡΡΠΈΠΆΠΈΠΌΠΎΡΡΠΈ, ΠΠΎΠ΄ΠΎΠ±Π½ΡΠΉ YourKit?
Π― Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΡ Π΄Π°ΠΌΠΏ ΠΊΡΡΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ jmap. YourKit ΠΈΠΌΠ΅Π΅Ρ Reachability scope, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΈΡ ΠΎΠ±Π»Π°ΡΡΡΡ Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎΡΡΠΈ, ΡΠΎ Π΅ΡΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ/Π΄ΠΎΡΡΡΠΏΠ½Ρ Π»ΠΈ ΠΎΠ½ΠΈ ΠΈΠ·…
ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΠ°ΡΠ°Π»ΠΎΠ³ Π£Π΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° YourKit
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ YourKit ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΡΠ²ΠΎΠΈ Π±Π°Π½ΠΊΠΈ? ΠΡ ΠΈΡΠΏΡΡΡΠ²Π°Π΅ΠΌ ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ Tomcat Π½Π° CloudFoundry (Π·Π°ΠΏΡΡΠΊ Ubuntu 10.10) Ρ…
Π Π°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΈΡΠ΅Ρ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠ° Java. ΠΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ Compuware (ΠΏΡΠΎΠ΄ΡΠΊΡ dynaTrace), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ Π²ΡΠ΄Π°Π²Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ Π²ΠΈΠ΄ Π²ΡΠ²ΠΎΠ΄Π° Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ CPU (ΠΏΡΠΈΠΌΠ΅Ρ): (Ρ ΠΎΡΠΎΡΠΎ, Ρ…
Π»ΡΡΡΠΈΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Π΄Π»Ρ J2ME
ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ j2me ? Π² WTK Π΅ΡΡΡ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅Ρ, Π½ΠΎ ΠΎΠ½ Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡ ΠΈ ΠΏΠΎΠ»Π΅Π·Π΅Π½. JProfiler-ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΎ, Π½ΠΎ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ j2me. Π΅ΡΡΡ Π»ΠΈ…
ΠΠ΅Π³ΠΊΠΈΠΉ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Π²ΡΠ±ΠΎΡΠΊΠΈ Ρ JProfiler (AsyncGetCallTrace)
ΠΠ΅Π΄Π°Π²Π½ΠΎ Ρ ΠΏΡΠΎΡΠΈΡΠ°Π» Π·Π°ΠΏΠΈΡΡ Π² Π±Π»ΠΎΠ³Π΅ ΠΠΆΠ΅ΡΠ΅ΠΌΠΈ ΠΡΠ½ΡΠΎΠ½Π° (Google) ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΡΠΉ ΠΈ Π»Π΅Π³ΠΊΠΈΠΉ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Π²ΡΠ±ΠΎΡΠΊΠΈ. ΠΠ½ ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π½Π° Π½Π΅Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ AsyncGetCallTrace Π²…
ΠΠ°ΠΊ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ YourKit -agentpath Π² docker ENTRYPOINT
Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ YourKit Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ docker deployment, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ linux. Ρ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ-agentpath Π²ΠΎ Π²ΡΠ΅ΠΌΡ ENTRYPOINT. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ docker ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ…
ΠΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΡΠΎΠΌΠ΅ JXInsight, Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡΡΠΈΠ½Π½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ : Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ JXInsight Probe ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ NetBeans Ρ 20x ΠΈ 100x YourKit Π² SPECjvm2008. Π’Π΅ΡΡΡ Π― Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡ JXInsight, ΠΏΠΎΡΡΠΎΠΌΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π²Π·ΡΡΡΠΉ, Π½ΠΎ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Ρ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π±ΠΎΠ»Π΅Π΅ ΠΊΠ²Π°Π»ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ Java, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Ρ ΠΏΡΠΎΠ²Π΅Π» ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 8 Π»Π΅Ρ Π°Π½Π°Π»ΠΈΠ· ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java / J2EE Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅. Π― Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡ, ΡΡΠΎ JXInsight ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π°Π½ΡΠ° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π£ Π½Π°Ρ Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ 4000 ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ² Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ 600 ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ / ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Ρ ΠΆΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π°. Π‘ ΡΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π£ΠΈΠ»ΡΡΠΌ ΠΡΠ²Π΅Ρ, Π΄Π°Π½Π½ΡΠΉ Π£ΠΈΠ»ΡΡΠΌΠΎΠΌ ΠΠ°ΡΡΠΎΠΌ Oct 20 & ap0; 08 Π΄ΠΎ 14:19 Π― Π½Π°ΠΏΠΈΡΠ°Π» ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠΏΡΡΠΊΡ ΡΠ΄Π΅Π»Π°ΡΡ Β«Π³Π»ΡΠ±ΠΎΠΊΠΈΠΉ Π²ΡΠ±ΠΎΡΒ» Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΡΡΠ½ΡΡ, ΠΎΠ½ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΎΠ±ΡΠ°Π·ΡΠ΅, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π±ΡΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ ΠΎΠ±ΡΠ°Π·ΡΠΎΠ², Π²Ρ Π±Π΅ΡΠ΅ΡΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±ΠΎΠ»ΡΡΠΈΡ Π²ΡΠ±ΠΎΡΠΎΠΊ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° I (ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ) ΡΡΠΎΠΈΡ Π²Π°ΠΌ ΠΏΡΠΎΡΠ΅Π½ΡΠΎΠ² X ΠΎΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΡΠ΅ΠΊ Π½Π° X% ΠΎΠ±ΡΠ°Π·ΡΠΎΠ². ΠΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅ ΠΎΠ± ΡΡΠΎΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ — ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ . Π‘ΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°ΠΏΡΡΠ΅Π½Π°. ΠΡΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° I Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΠ΅ΠΊΠ΅ X% Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠΎ, Π΅ΡΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΈΡΡΠ΅Π·Π½Π΅Ρ, ββX% Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΡΡΠ΅Π·Π½Π΅Ρ. ΠΡΠΎ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ I ΠΈΠ»ΠΈ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ°ΠΉΠΌΠ΅ΡΡ ΠΈ ΡΡΠ΅ΡΡΠΈΠΊΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠΌΡΡΠ»Π°. Π Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅, Π²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ Π²ΡΠ·ΠΎΠ²Π°, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ΄. Π‘ΡΠΌΠΏΠ»Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ»ΠΊΠ΅, ΡΡΠΎ Π»ΡΡΡΠ΅ Π·Π½Π°ΡΡ Π°Π΄ΡΠ΅Ρ I Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ (ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π²Ρ ΠΈΡΠ΅ΡΠ΅), ΡΠ΅ΠΌ ΠΠ½Π°ΠΉΡΠ΅ ΡΠΈΡΠ»ΠΎ X% ΡΠΎΡΠ½ΠΎ. ΠΡΠ»ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΠΎΠΊΠΎΠ»ΠΎ 30% Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π² ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ, Π½Π΅ΡΠΆΠ΅Π»ΠΈ Π²Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ 5%? ΠΡ Π²ΡΠ΅ Π΅ΡΠ΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ΡΡΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ, Π½Π΅ ΠΌΠ΅Π½ΡΡΠ΅, Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π°Π½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΎΡΠ½ΠΎ Π·Π½Π°Π΅ΡΠ΅ X. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ ΠΎΠ±ΡΠ°Π·ΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°, Π½ΠΎ, ΡΠ΅ΡΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, Ρ ΡΡΠ΅Π» Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π°ΠΆΠ°Π² Π½Π° Π΄Π²Π΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Shift. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ 20 ΠΎΠ±ΡΠ°Π·ΡΠΎΠ², ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ Π±ΡΠ΄Π΅ΡΠ΅ Π±ΡΠ°ΡΡ ΠΎΠ±ΡΠ°Π·ΡΡ Π² Π½ΡΠΆΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ (Ρ. Π. ΠΠ΅ Π΄ΠΎΠΆΠΈΠ΄Π°ΡΡΡ ΡΡΠ°ΡΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ), ΡΡΠΎ Π±ΡΠ»ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎ. ΠΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΡΡΠΎΡΠ» Π±Ρ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠΌΠ΅Ρ ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°Π΅Ρ, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π΅ΡΠΆΠΈΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ Shift (ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ Π² ΡΡΠΎΠΌ ΡΠΎΠ΄Π΅). ΠΠ΅Π½Ρ Π½Π΅ Π²ΠΎΠ»Π½ΠΎΠ²Π°Π»ΠΎ, ΡΡΠΎ ΠΎΠ±ΡΠ°Π·ΡΡ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ΅Π»Ρ Π·Π°ΠΊΠ»ΡΡΠ°Π»Π°ΡΡ Π½Π΅ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅ΡΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ, Π° Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΠ°ΠΌΡΠ΅ Π΄ΠΎΡΠΎΠ³ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΠΎΡΠ»Π΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΠ΅Π³ΠΎ-ΡΠΎ ΠΎΠ±ΡΠ΅Π΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΡ. ΠΠ»Π°Π²Π½ΠΎΠ΅, ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ»ΠΎ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅Ρ, Π±ΡΠ» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ. Π’ΠΎ, ΡΡΠΎ Π²ΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΡΠ°Π·Ρ Π²ΡΠ±ΠΎΡΠΊΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π±ΠΎΡ Π²ΡΠ±ΠΎΡΠΎΠΊ ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ², Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ Π²ΡΠ·ΠΎΠ²Π°. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π±ΡΠ» Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ΅ΠΌ, ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΈΠ΄ΠΎΠΌ Π±Π°Π±ΠΎΡΠΊΠΈ. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ Β«ΡΠΎΠΊΡΡΒ», ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ. Π‘Π»Π΅Π²Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ·ΠΎΠ²Π° Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π°Π΄ ΡΡΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΈΠ· ΠΎΠ±ΡΠ°Π·ΡΠΎΠ² ΡΡΠ΅ΠΊΠ°. ΠΡΠ»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠΊΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ ΠΏΠΎ Π²ΡΠ·ΠΎΠ²Ρ, ΡΠΏΡΠ°Π²Π° ΠΎΡ ΠΎΠ±ΡΠ°Π·ΡΠΎΠ² ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. Π ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠΎΠΊΡΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅Π½Ρ ΡΡΠ΅ΠΊΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Π»Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π²ΠΏΡΠ°Π²ΠΎ ΠΏΡΠΎΡΠ΅Π½Ρ Π΄Π΅Π»ΠΈΡΡΡ Π½Π° ΡΠ°ΡΡΠΎΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡΠ΄Π΅ΡΠ°. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π±ΡΠ»Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ββΡΠ°ΠΉΠ»ΠΎΠΌ, Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½Π° Π±ΡΠ»Π° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π°. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅, Π½Π°ΠΆΠ°Π² Π½Π° ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ Π½ΠΎΠ²ΡΠΌ ΡΠΎΠΊΡΡΠΎΠΌ. ΠΠ°ΡΠΈΠ°Π½Ρ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π» Π±Π°Π±ΠΎΡΠΊΡ ΠΊΠ°ΠΊ Π΄Π²ΡΠ΄ΠΎΠ»ΡΠ½ΡΡ, ΡΠΎΡΡΠΎΡΡΡΡ ΠΈΠ· ΡΠ΅ΡΠ΅Π΄ΡΡΡΠΈΡ ΡΡ ΡΠ»ΠΎΠ΅Π² ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΠΈΡ . ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΡΡ ΡΡΠ½ΠΎΡΡΡ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π·Π°ΡΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΠ½ΠΊΡΠΈΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ Π½Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠΎΠΈΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ. Π Π΅ΠΊΡΡΡΠΈΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π² ΠΎΠ±ΡΠ°Π·ΡΠ΅ ΡΡΠ΅ΠΊΠ°, ΠΎΠ½Π° Π²ΡΠ΅Π³Π΄Π° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ°Π·Π΅Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π΅Π΅. ΠΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π²Π΅ΡΠ½ΠΎ, ΡΡΠΎ ΡΠ°ΡΡΠ΅ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΎ ΠΏΡΡΠ΅ΠΌ Π΅Π³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ, — ΡΡΠΎ ΠΏΡΠΎΡΠ΅Π½Ρ ΡΡΠ΅ΠΊΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ Π΄Π΅ΡΠ΅Π²ΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ². ΠΡΠΎ Π΄Π°Π΅Ρ Π²Π°ΠΌ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΠ²Π΅ΠΉ Π΄Π΅ΡΠ΅Π²Π°ΠΠ°Π·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎ. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ±ΠΎΡΠΎΠΊ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ. ΠΡΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΎΠ±ΡΠ°Π·ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΌΠ΅ΠΆΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π½ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ±ΡΠ°Π·Π΅Ρ, ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΡΡΠ΄ΠΎΠΌ Ρ Π½Π΅ΠΉ. ΠΠ°ΠΊ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ ΡΠ°Π½Π΅Π΅, ΡΠ°ΡΡΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ Π½Π΅ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΌΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΡΠ΅ΠΌ. ΠΠ±ΡΠ°Π·Π΅Ρ Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ², ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ±ΡΠ°Π·Π΅Ρ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° Π²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ N Π΄Π»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ, Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ N ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·. ΠΠ΅Π½Ρ ΡΠ°ΡΡΠΎ ΡΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°ΠΌΠΈ. ΠΡΠ²Π΅Ρ ΠΏΡΠΎΡΡ — ΠΎΠ±Π΅ΡΠ½ΠΈΡΠ΅ Π΅Π³ΠΎ Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠΈΠΊΠ», ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ±ΠΎΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² X% Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ΄Π°Π»ΠΈΡΡ Π΅Π³ΠΎ, ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ X%, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΄Π°Π»ΠΈΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠΈΠΊΠ». ΠΡΠΎΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ Π½Π°Π·Π²Π°Π» Yapa (Π΄ΡΡΠ³ΠΎΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ), Π±ΡΠ» ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° DOS ΠΈ ΡΠ΄Π΅Π»Π°Π» Π½Π΅Π±ΠΎΠ»ΡΡΡΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ»Π° ΡΠ΅ΡΡΠ΅Π·Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ°, Ρ Π±Ρ ΠΎΡΠΊΠ°Π·Π°Π»ΡΡ Π±Ρ ΠΎΡ ΡΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΄Π»Ρ ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΠ°ΡΡΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ, ΡΡΠΎΠ±Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ Π²Π°ΠΌ, Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ». ΠΠ°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π·Π½Π°ΡΡ Π΄ΡΡΠ³ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΡΠ°ΡΡΡΠ΅, ΡΡΠΎΠ±Ρ Ρ Π²Π°Ρ Π±ΡΠ»ΠΎ Π»ΡΡΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π΅Π»Π°Π»Π° Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΡΡΡΠ½ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ, Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Ρ ΡΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ. Π’ΠΎ, ΡΡΠΎ ΡΠ°ΡΡΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° I1 ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΠ΅ΠΊ 5% Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π° I2 — ΡΡΠΎ ΡΡΠ΅ΠΊ 50% Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ²Π°Π΄ΡΠ°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΌΠΎΠ³ΡΡ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡΠΈ I2 , Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ I1 . ΠΡΠ°ΠΊ, Π²Ρ ΠΈΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ I2 . ΠΠ°ΡΠ΅ΠΌ Π²Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΠ΅ Π²ΡΠ΅ Π·Π°Π½ΠΎΠ²ΠΎ, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ I1 ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 10% Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ 20 ΠΎΠ±ΡΠ°Π·ΡΠΎΠ², ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π΅Π³ΠΎ Π·Π°ΠΌΠ΅ΡΡΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΡΡΡΠ΅ΠΊΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π΅ΡΠ΅ Ρ ΡΠΆΠ΅ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ°ΠΊΡΠΎΡ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ. ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Java Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ JConsole ΠΈ VisualVM Π’Π΅Π΄ ΠΡΠ²ΠΎΡΠ΄ ΠΠ°ΠΊ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅, Π²Ρ Π²ΡΠ΅ Π·Π½Π°Π΅ΡΠ΅ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Java? Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΈΡΠ°ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java, ΠΈΠ·ΡΡΠ°Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ. ΠΡΠΎ Π’Π΅Π΄ ΠΡΡΠ°ΡΠ΄ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java, ΡΠ°ΡΠΊΡΡΠ²Π°Ρ ΠΌΠ°Π»ΠΎΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΡΠ°ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΌΠΎΡΡ ΡΠ΅ΡΠΈΡΡ ΡΠ°ΠΌΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΈ Π΅ΡΡΡ Π²Π΅ΡΠΊΠ°Ρ ΠΏΡΠΈΡΠΈΠ½Π°. ΠΠΎΠΈΡΠΊ ΡΠ·ΠΊΠΈΡ ΠΌΠ΅ΡΡ Π² Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ» Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ Π±ΠΎΠ»ΡΡ — ΠΈ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Java ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠΊΠ°, ΠΈ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Java ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ JConsole Π² Java 5 Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ. JConsole — ΡΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Java, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ GUI. ΠΡΠΎ Π½Π΅ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ, Π½ΠΎ ΡΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ Π»ΠΈΠ½ΠΈΡ Π·Π°ΡΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π±ΠΎΡΡ Π³ΠΎΠ²ΠΎΡΠΈΡ Π²Π°ΠΌ ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ — ΠΈ ΡΡΠΎ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Google. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ 5 ΡΠ΅ΠΊΡΠ΅ΡΠΎΠ² … Π― ΠΏΠΎΠΊΠ°ΠΆΡ Π²Π°ΠΌ ΠΏΡΡΡ ΠΏΡΠΎΡΡΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° JConsole (ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΡΠΎΠ½Π° VisualVM) Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π£Π·ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠ° Java ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ° Π² ΠΊΠΎΠ΄Π΅ Java ΠΡΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» -. ΠΏΡΡΠΈ ΠΏΠΎΠ·Π½Π°Π½ΠΈΡ Π Π°Π·Π²ΠΈΠ²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΈ Π½Π°Π²ΡΠΊΠΈ. Π‘ΠΌΠΎΡΡΠΈΡΠ΅: ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Java Π½Π΅ Π·Π½Π°ΡΡ, ΡΡΠΎ ΠΈΠ· Java 5 JDK Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. JConsole (ΠΈΠ»ΠΈ, Π² Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java, VisualVM) ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΊ ΠΆΠ΅ Π»Π΅Π³ΠΊΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Java. ΠΡΠΎΡΡΠΎ Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ jconsole ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π΅ΡΠ»ΠΈ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ PATH Π΅ΡΡΡ JDK. GUI-shell, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ JDK, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΠΏΠ°ΠΏΠΊΡ bin ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ jconsole . ΠΠΎΠ³Π΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅Ρ (Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π΅ΡΡΠΈΠΈ Java ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Java Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ), Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Ρ ΠΏΡΠΎΡΡΠ±ΠΎΠΉ ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ URL-Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Java. ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠ°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ JConsole JConsole Π²ΠΊΠ»ΡΡΠ΅Π½ Π²ΠΎ Π²ΡΠ΅ Π²ΡΠΏΡΡΠΊΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Java 5. VisualVM — ΡΡΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ,ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ NetBeans, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π³Π΄Π΅-ΡΠΎ Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Java 6 12. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ Π΅ΡΠ΅ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠ»ΠΎΡΡ Π½Π° Java 6, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ JConsole. ΠΠ΄Π½Π°ΠΊΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΎΠ²Π΅ΡΠΎΠ² ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±ΠΎΠΈΠΌ ΠΏΡΠΎΡΠΈΠ»ΡΡΠΎΡΠ°ΠΌ. ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ : VisualVM Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² Java 6, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. Π‘ΠΌ. Π Π°Π·Π΄Π΅Π».) Π Java 5 ΠΏΡΠΎΡΠ΅ΡΡΡ Java Π½Π΅ Π½Π°ΡΡΡΠΎΠ΅Π½Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ -Dcom. sun.management.jmxremote ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ Π΄Π»Ρ Java 5, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΈΡ . ΠΠΎΠ³Π΄Π° JConsole ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ, Π΄Π²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π΅Π³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΠΎΡΠΈΠ»Π΅ΡΡ Π΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π°ΡΡΠ°ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠΎΠΈΡ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ Π½Π° ΠΈΡ ΠΎΡΠ΅Π½ΠΊΡ. Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ·Π½Π°ΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ JConsole — Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ΄ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ ΠΈ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΡ ΡΠ°Π·Π½ΠΈΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. (ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΈΠ»ΠΈ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌ, ΠΌΠΎΠΈΠΌ Π»ΡΠ±ΠΈΠΌΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ SwingSet2, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ JDK). Π‘Π½Π°ΡΠ°Π»Π° Ρ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ SwingSet2 Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ -verbose: gc , ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΈΠΊΠ»Ρ ΡΠ±ΠΎΡΠ° ΠΌΡΡΠΎΡΠ°, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ JConsole. Π‘ JConsole Π½Π°Π±Π»ΡΠ΄Π°Π»Π°ΡΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΊΠ»ΠΎΠ² GC, ΡΡΠΎ Π½Π΅ Π±ΡΠ»ΠΎ ΠΈΠ½Π°ΡΠ΅. ΠΠ½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°. ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΡΠ΅Π±ΡΡΡ ΡΠ²ΡΠ·ΠΈ ΡΠ΅ΡΠ΅Π· ΡΠΎΠΊΠ΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° JConsole (ΠΈΠ»ΠΈ Π½Π° Π»ΡΠ±ΠΎΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ JVMTI) Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄ / ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Tomcat Π·Π°ΠΏΡΡΠ΅Π½ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ JMX, ΡΡΠΎ JVM Π²ΠΊΠ»ΡΡΠ΅Π½ ΠΈ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΡ 9004, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ Π΅Π³ΠΎ ΠΊ JConsole (ΠΈΠ»ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠΉ JMX-ΠΊΠ»ΠΈΠ΅Π½Ρ), Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΠ°Π·Π°ΡΡ URL-Π°Π΄ΡΠ΅Ρ JMX. ΠΠΎ ΡΡΡΠΈ, Π²ΡΠ΅, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅Π½ΡΡΠ΅ Π΄Π°Π½Π½ΡΡ , ΡΠ²Π»ΡΠ΅ΡΡΡ URL-Π°Π΄ΡΠ΅ΡΠΎΠΌ. -address JMX. (ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π΅ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΡΠ΅ΡΠ΅Π· JMX ΠΈ JConsole ΡΠΌ. Π Π°Π·Π΄Π΅Π»). Π ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π°Π³ΠΈΡΡΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ, Π½ΠΎ Π²ΡΠ΅ ΡΡΠΈ ΡΠ΅Π°ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π½Π΅ΠΉ Java, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π·Π°ΠΏΡΡΡΠΈΡ ΡΡΠ°ΡΡΡ ΡΡΠ΅Π΄Ρ IDE ΠΈ Π½Π°ΡΠ½ΡΡ Π²ΠΈΠ΄Π΅ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°ΡΡΠΈ Π±Π°Π·Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΈΡΡΡΠΈΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡΠ΅ Β«ΠΊΡΠ°ΡΠ½ΡΠ΅ ΡΠ»Π°Π³ΠΈΒ», ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ Ρ.Π΄. ΠΠ΅Π½Π΅Π΅ ΠΎΠΏΡΡΠ½ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΏΠΎΠΊΡΠΎΠ΅Ρ ΡΠ»Π°Π³ΠΈ -X , ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ JVM, ΠΈΡΠ° ΡΠΏΠΎΡΠΎΠ±Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠ±ΠΎΡΡΠΈΠΊΠ° ΠΌΡΡΠΎΡΠ°. ΠΠΎΠ²ΠΈΡΠΎΠΊ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΠΎΡΠΏΡΠ°Π²ΠΈΡΡΡ ΠΏΡΡΠΌΠΎ Π² Google, Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΠΊΡΠΎ-ΡΠΎ Π½Π°ΡΠ΅Π» Π²ΠΎΠ»ΡΠ΅Π±Π½ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ Java Β«AcceleratorΒ», ΠΈ ΠΈΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ΄. ΠΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΌ-ΡΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΡΠΎΡΠ½ΡΠΌ, Π½ΠΎ Π²ΡΠ΅ ΡΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. Π±ΠΎΠ»Π΅Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ — ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ, Π° ΡΠ΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ Π² ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java, ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π΅Ρ ΠΎΠΏΡΠ°Π²Π΄Π°Π½ΠΈΡ Π JConsole Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π΄Π»Ρ ΡΠ±ΠΎΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ ! Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ: ΠΏΠ°ΠΌΡΡΡ : ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ°Π·Π½ΡΡ
ΠΊΡΡΠ΅ΠΊ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΎΡΠ΅ JVM bin; ΠΡΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ (ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ) ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ JMX, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅Π΅ΡΡΡ Java VM 5 ΠΈ Π²ΡΡΠ΅ JMX-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ Π² JVM. ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π΄Π»Ρ ΡΡΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Java ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ MBeans, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. (ΠΠ΄Π½Π°ΠΊΠΎ Π·Π°ΠΏΠΈΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° JConsole. ) ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ Tomcat Β«ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉΒ» ΠΈΠ·-Π·Π° ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ OutOfMemoryError . Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ JConsole, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Β«ΠΠ»Π°ΡΡΡΒ» ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΠΉΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΡΠ»ΠΈ ΠΈΡ ΡΠΈΡΠ»ΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ Π³Π΄Π΅-ΡΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΡΠΎΡΠΈΠ»ΡΡ ClassLoader , Π° ΠΏΡΠΎΠ±Π΅Π» PermGen ΡΠΊΠΎΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΡΠ΅ΡΠΏΠ°Π½ , ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Β«ΠΠ°ΠΌΡΡΡΒ». Π ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΡΠΎ ΡΠ°ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ, ΠΈ Π½Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²ΡΠ΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΡΠ΅Π΄Ρ Java ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π² JConsole, Π° Π΅ΡΠ΅ Π»ΡΡΡΠ΅ — Π² VisualVM ΠΠ°ΡΠ½ΠΈΡΠ΅ Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ MBeans, Π³Π΄Π΅ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ , Π·Π°ΡΠ΅ΠΌ HotSpotDiagnostic. . ΠΡΠ±Π΅ΡΠΈΡΠ΅ Operations , ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ dumpHeap Π² ΠΏΡΠ°Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° (String) dumpheap ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ Π΄Π°ΠΌΠΏΠ°, ΠΎΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²ΡΠ΅ΠΉ ΠΊΡΡΠΈ JVM ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π΅Π³ΠΎ Π² ΡΠ°ΠΉΠ»Π΅. ΠΠΎΠ·ΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ VisualVM — Π΄Π»Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΌΠΊΠ°. (ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ VisualVM ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² Java 6, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.) ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ JConsole Ρ ΠΎΡΠΎΡ, Π½ΠΎ Π΅ΡΡΡ Π»ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ· Π½ΠΈΡ Π΅ΡΡΡ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ΅ΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠ΅ΠΌ JConsole. Π JConsole Ρ ΠΎΡΠΎΡΠ°Ρ Π½ΠΎΠ²ΠΎΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Β«Ρ ΠΎΡΠΎΡΠ΅ΠΌ ΡΡΠ°ΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅ JavaΒ»: , Π£ΡΠΈΠ»ΠΈΡΠ° ΠΌΠΎΠ³Π»Π° Π½Π°ΠΏΠΈΡΠ°ΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ Java-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. JDK Π΄Π°ΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ JConsole, ΡΠΎΠ·Π΄Π°Π²Π°Ρ Π½ΠΎΠ²ΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ (ΡΠΌ. Π Π°Π·Π΄Π΅Π»). Π VisualVM, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΠΎΠΌ ΠΏΠΎΠ²Π΅ΡΡ NetBeans, ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΏΠ»Π°Π³ΠΈΠ½Π° ΠΈΠ΄Π΅Ρ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π»ΡΡΠ΅. ΠΡΠ»ΠΈ JConsole (Π° ΡΠ°ΠΊΠΆΠ΅ VisualVM ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ) — ΡΡΠΎ Π½Π΅ ΡΠΎ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ, ΠΈΠ»ΠΈ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΠΌΡ, ΡΡΠΎ Π²Ρ ΠΈΡΠ΅ΡΠ΅, ΠΈΠ»ΠΈ Π½Π΅Ρ, ΠΊΠ°ΠΊ Π²Ρ ΠΏΠΎΠΆΠ΅Π»Π°Π΅ΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅. Π Π΅ΡΠ»ΠΈ Java-ΠΊΠΎΠ΄ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΡΠΆΠ΅Π»ΡΠΌ, Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ Groovy, JRuby ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· Π΄ΡΠΆΠΈΠ½Ρ Π΄ΡΡΠ³ΠΈΡ JVM-ΡΠ·ΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π±ΡΡΡΡΠ΅Π΅. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ΅Π·. JMX, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΡΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡ, ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Java Π½Π΅ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ JConsole ΠΈΠ»ΠΈ VisualVM — Π² ΠΊΠ΅ΡΠ΅ JDK Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ Π² ΡΡΠΎΠΌ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Β«Π²ΡΠΊΠΎΠΏΠ°ΡΡΒ» Π±ΠΎΠ»ΡΡΠ΅ Π΄Π°Π½Π½ΡΡ ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΎΠ½ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈ Π»Π΅Π³ΡΠ΅, ΡΠ΅ΠΌ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΈΠΌΠ΅ΡΡ ΠΌΠ΅Π½ΡΡΠ΅Π΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½Π°Ρ ΡΡΠ°ΡΡΡ :. . | > Π JDK / bin Π΅ΡΡΡ jvisualvm.exe, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ VisualVM. Π‘Π²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ ΠΈ ΠΏΡΠ΅ΡΡΠΈΠΆΠ½ΡΠΉ>. ΠΠ»Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Ρ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ. ΠΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ SUN JDK? Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Open. ΠΠ°ΠΆΠ΅ΡΡΡ, Π΅Π³ΠΎ ΡΠ°ΠΌ Π½Π΅Ρ. ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ ActualForum NNTP Server 1.5 |
β β β β β YourKit Java Profiler β ΠΎΠ±Π·ΠΎΡ, ΠΏΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΡΠ·ΡΠ²Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ SE, EE, ΡΠ΅ΡΠ²Π΅Ρ, ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ; Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ ; Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ … Π‘ΠΎΠ·Π΄Π°Π½ΠΎ YourKit
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
YourKit Java Profiler — Π²Π΅Π΄ΡΡΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΡΠ½ΠΊΠ΅ Java, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΌΡΠ΅ ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΠΎΠ½Π½ΡΠ΅, ΠΌΠΎΡΠ½ΡΠ΅ ΠΈ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. YourKit Java Profiler ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π΄Π΅ΠΆΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΠΈ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π½Π΅ΠΏΡΠ΅Π²Π·ΠΎΠΉΠ΄Π΅Π½Π½Ρ, Π½ΠΎ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Ρ. QualityYourKit ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²Π°ΠΌ ΡΠ΅ΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ Π½Π° ΡΠ°Π½Π½ΠΈΡ ΡΡΠ°Π΄ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π³Π°ΡΠ°Π½ΡΠΈΡΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π°. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Java Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ Π΄Π°ΠΆΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° ΠΈ ΡΡΠΎΠ²Π½Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ². ΠΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½ΡΠ»Π΅Π²ΡΠΌΠΈ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠΌΠΈ ΡΠ°ΡΡ ΠΎΠ΄Π°ΠΌΠΈ, Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠ±ΡΠ΅ΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° … ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Β»ProductivityYourKit ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΉ Π²ΡΠΈΠ³ΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π½Π°Π»ΠΈΡΠΈΡ Π²ΡΠ΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ YourKit, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π½ΡΠΆΠ½Ρ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΡ Π±Π΅ΡΡΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄Π°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΡΠΎΠΊΠ°Ρ ΡΠ΅Π½ΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ YourKit Java Profiler ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ, ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎ Π² ΠΈΡΠΎΠ³Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈ Π±ΡΡΡΡΠΎΠΌΡ Π²ΠΎΠ·Π²ΡΠ°ΡΡ Π²Π°ΡΠΈΡ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΈΠΉ. ΠΠ°ΡΠ° Π³ΠΈΠ±ΠΊΠ°Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΎΠ½Π½Π°Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π±ΠΎΠ½ΡΡΠ°ΠΌΠΈ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΈ Π²ΡΠ³ΠΎΠ΄Π½ΠΎΠΉ Π΄Π»Ρ Π½Π°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΠΈΠ΄Π΅ΠΎ
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
YourKit Java Profiler — Π»ΠΈΡΠ΅Π½Π·ΠΈΡ, ΡΡΡΡΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ, ΡΠ΅Π½Π°
Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠΈΡ ΠΊΡΠΏΠΈΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ, Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ
- ΠΡΡΠΈΠΊΡΠ»:
YRKT3205430 - ΠΠΠ‘:
20 % (Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΡΡΠΎΠΈΠΌΠΎΡΡΡ) - Π’ΠΈΠΏ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ:
ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ (e-mail) - Π―Π·ΡΠΊ (Π²Π΅ΡΡΠΈΡ):
ΠΠ½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ - Π‘ΡΠΎΠΊ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ»ΠΈ ΠΊΠ»ΡΡΠ° Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ:
3-14 ΡΠ°Π±ΠΎΡΠΈΡ Π΄Π½Π΅ΠΉ - ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ:
ΠΠΎΠΊΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ. 1 Π³ΠΎΠ΄ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ - ΠΠ»Π°ΡΡΠΎΡΠΌΠ°:
Windows / Mac OS / Linux - Π’ΠΈΠΏ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ:
ΠΠΎΡΡΠΎΡΠ½Π½Π°Ρ - Π’ΠΈΠΏ ΠΏΠΎΠΊΡΠΏΠ°ΡΠ΅Π»Ρ:
ΠΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠ°Ρ - ΠΠΎΡΡΡΠΏΠ½Π° ΠΎΠΏΠ»Π°ΡΠ° ΠΊΠ°ΡΡΠΎΠΉ
- ΠΡΡΠΈΠΊΡΠ»:
YRKT3205431 - ΠΠΠ‘:
20 % (Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΡΡΠΎΠΈΠΌΠΎΡΡΡ) - Π’ΠΈΠΏ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ:
ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ (e-mail) - Π―Π·ΡΠΊ (Π²Π΅ΡΡΠΈΡ):
ΠΠ½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ - Π‘ΡΠΎΠΊ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ»ΠΈ ΠΊΠ»ΡΡΠ° Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ:
3-14 ΡΠ°Π±ΠΎΡΠΈΡ Π΄Π½Π΅ΠΉ - ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ:
ΠΠΎΠΊΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ. 1 Π³ΠΎΠ΄ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ - ΠΠ»Π°ΡΡΠΎΡΠΌΠ°:
Windows / Mac OS / Linux
Β«Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π½Π΅ ΠΎΡΠΎΠ·Π½Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠ°ΠΌΠΈΒ» ΠΠ½Π΄ΡΠ΅ΠΉ ΠΠ°Π½ΡΠ³ΠΈΠ½ ΠΈ ΠΠΈΡΡΠ°Π½ ΠΠ°ΠΊΠ°ΡΡ ΠΎ Java-ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ
ΠΠ΅Π³ΠΊΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ, ΡΡΠΎ ΠΎΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ ΡΡΠΎΠΈΡ ΠΎΠΆΠΈΠ΄Π°ΡΡ Π±ΠΎΠ»ΡΡΠΈΡ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ: ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΡΡΡ ΡΠΆΠ΅ Π΄Π΅ΡΡΡΠΈΠ»Π΅ΡΠΈΡΠΌΠΈ, Π΄ΠΎ ΡΠ΅Π³ΠΎ ΡΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π΅ΡΡ Π½Π΅ Π΄ΠΎΠ΄ΡΠΌΠ°ΡΡΡΡ? ΠΠΎ Π² Java-ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΡΠΎΡΡΡΡ ΡΠ΅ΡΡΡΠ·Π½ΡΠ΅ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°ΠΌΠ½ΠΈ Π²ΡΠΎΠ΄Π΅ safepoint bias, ΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠ½Π΄ΡΠ΅ΠΉ apangin ΠΠ°Π½ΡΠ³ΠΈΠ½ (ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠΈ) Π½Π΅Π΄Π°Π²Π½ΠΎ ΡΠΎΠ·Π΄Π°Π» ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²: Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ JPoint Π² Π°ΠΏΡΠ΅Π»Π΅ ΠΎΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ» ΠΎΠΏΠ΅Π½ΡΠΎΡΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ async-profiler, ΠΊΠΎΡΠΎΡΠΎΠΌΡ safepoint bias Π½Π΅ ΡΡΡΠ°ΡΠ΅Π½. ΠΡΡΠ³ΠΎΠΉ ΡΠΊΡΠΏΠ΅ΡΡ Π² ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅ β ΠΠΈΡΡΠ°Π½ ΠΠ°ΠΊΠ°ΡΡ: ΠΎ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ Ρ safepoints ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ·Π½Π°Π»ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π΅Π³ΠΎ Π±Π»ΠΎΠ³-ΠΏΠΎΡΡΡ Β«Why (Most) Sampling Java Profilers Are Fucking TerribleΒ».
ΠΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡ Ρ Π½ΠΈΠΌΠΈ ΠΎΠ±ΠΎΠΈΠΌΠΈ ΡΡΠ°Π·Ρ, Π½Π°ΡΠ°Π² ΡΠ°Π·Π³ΠΎΠ²ΠΎΡ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ ΠΎΠ± async-profiler, Π° ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Ρ ΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Java-ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ΅Π»ΠΎΠΌ.
JUG.ru: ΠΠ΅Π΄Π°Π²Π½ΠΎ async-profiler Π±ΡΠ» ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠ½ Π½Π° GitHub ΠΈΠ· Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΠ½Π΄ΡΠ΅Ρ Π² βjvm-profiling-toolsβ β ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ jvm-profiling-tools, ΠΈ ΡΠ΅ΠΌ Π²ΡΠ·Π²Π°Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅?
ΠΠΈΡΡΠ°Π½: ΠΡΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π², ΠΏΡΠ΅ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡ ΠΎΠΆΠΈΠ΅ ΡΠ΅Π»ΠΈ. ΠΠ΄Π΅Ρ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠΎΠ±ΡΠ°ΡΡ ΠΈΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΈ ΡΡΠΈΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ Π°ΠΊΡΠΈΠ²Π½Π΅Π΅ ΠΈΡ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ.
ΠΠ½Π΄ΡΠ΅ΠΉ: ΠΠΌΠ΅Π½Π½ΠΎ. ΠΠΎΠ³Π΄Π° ΡΡΠ°Π»ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ async-profiler ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ Java-ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Ρ, Ρ ΡΠ΅ΡΠΈΠ» Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π² Π½Π΅ΠΉΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΠΊΠ°ΠΊ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΠΎΡΠΎΠΉ Π½Π΅ΠΊΠΎΠΌΡΠΎΡΡΠ½ΠΎ ΠΊΠΎΠ½ΡΡΠΈΠ±ΡΡΡΠΈΡΡ Π² ΡΡΠΆΠΎΠΉ Π»ΠΈΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΠΈΡΡΠ°Π½: Π jvm-profiling-tools Π΅ΡΡΡ Honest Profiler, async-profiler ΠΈ perf-map-agent, ΠΈ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΠΌΠ΅ Ρ ΡΠ°Π·Π½ΡΡ ΡΡΠΎΡΠΎΠ½: perf-map-agent ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π»ΠΈΠ½ΡΠΊΡΠΎΠ²ΠΎΠ³ΠΎ perf, Honest Profiler ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ AsyncGetCallTrace, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ safepoint bias, Π° async-profiler ΡΠΎΠ²ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΎ ΠΈ Π΄ΡΡΠ³ΠΎΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΈΡΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΠ½Π΄ΡΠ΅ΠΉ: ΠΠ°. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π² ΠΈΠ΄Π΅Π΅ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ ΠΎΠ±ΠΎΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² Π½ΠΈΡΠ΅Π³ΠΎ ΠΊΠΎΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π½Π΅Ρ, Π½ΠΎ ΠΏΠΎΡΠ΅ΠΌΡ-ΡΠΎ Π½ΠΈΠΊΠΎΠΌΡ Π² Π³ΠΎΠ»ΠΎΠ²Ρ ΡΡΠΎ ΡΠ°Π½ΡΡΠ΅ Π½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎ.
ΠΠΈΡΡΠ°Π½: ΠΠΎΠΎΠ±ΡΠ΅ ΡΡΠΎ Π±ΡΠ»ΠΎ Π² Solaris Studio, Π½ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Solaris Studio Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ 20 Π² ΠΌΠΈΡΠ΅.
ΠΠ½Π΄ΡΠ΅ΠΉ: ΠΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π·Π½Π°Ρ, ΠΎΠ½ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²ΡΠ·ΠΎΠ²Ρ ΡΠ΄ΡΠ°, ΡΠ°ΠΊ Π²Π΅Π΄Ρ?
ΠΠΈΡΡΠ°Π½: ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΊΠΎΠ΄, Π½ΠΎ Π½Π΅ ΡΠ΄ΡΠΎ.
JUG.ru: ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Honest Profiler ΠΈ async-profiler Π΅ΡΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Β«ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ safepoint biasΒ», ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ Π²Π·Π³Π»ΡΠ΄Π΅ Π½Π° jvm-profiling-tools Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² Π² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π²ΠΎΠΏΡΠΎΡ: Β«ΠΡ ΠΈ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π΄Π²ΡΡ ΠΏΠΎΡ ΠΎΠΆΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ?Β» Π§ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠΌ ΡΠΊΠ°Π·Π°ΡΡ?
ΠΠ½Π΄ΡΠ΅ΠΉ: Π― ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ async-profiler Π΄Π°Π»Π΅ΠΊΠΎ Π²ΠΏΠ΅ΡΠ΅Π΄ΠΈ. ΠΠ΅Π΄Ρ Π΄Π°ΠΆΠ΅ ΡΠ°ΠΌ AsyncGetCallTrace Π² HotSpot ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ Π²ΡΠ΅Π³Π΄Π°: Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ³ΡΠ°Π½ΠΈΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ JVM Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠ΅ΠΊ-ΡΡΠ΅ΠΉΡ, Ρ ΠΎΡΡ async-profiler ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΈ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠΈΡΡΠ°ΡΠΈΡΠΌΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Honest Profiler Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΡΠ΅ΠΊ-ΡΡΠ΅ΠΉΡΡ. ΠΠΎ Π΅Π³ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅ Π²ΠΎΠΊΡΡΠ³ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΠ½ ΡΠΌΠ΅Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΊΡΠ°ΡΠΈΠ²ΠΎ, Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ UI, Π° async-profiler β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Java-Π°Π³Π΅Π½Ρ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠΉ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.
ΠΠΈΡΡΠ°Π½: Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π±ΡΠ΄ΡΡΠ΅Π΅ Π·Π° async-profiler. Π ΠΌΠ½Π΅ Π±Ρ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ, ΡΡΠΎΠ±Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Honest Profiler ΠΏΠΎΠΏΠ°Π»ΠΈ Π² async-profiler. ΠΡΡΡ Π΅ΡΡ ΡΠ°Π·Π½ΠΈΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Honest Profiler ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° macOS, Π° async-profiler ΠΏΠΎΠΊΠ° Π½Π΅Ρ: ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ Ρ ΠΈΠΏΡΡΠ΅ΡΠΎΠ² Π² Π½Π°ΡΠ΅ΠΉ ΠΎΡΡΠ°ΡΠ»ΠΈ β ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ.
JUG.ru: ΠΡΠΎΠ΄Π΅ Π±Ρ ΠΠ°Π΄ΠΈΠΌ Π¦Π΅ΡΡΠΊΠΎ ΠΈΠ· ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠΎΠ² ΡΠΆΠ΅ Π΄Π΅Π»Π°Π» Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ async-profiler Π½Π° macOS?
ΠΠ½Π΄ΡΠ΅ΠΉ: ΠΡΠΎ Π±ΡΠ»ΠΎ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ perf events. Linux-ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΡΠ»ΠΎΠΌΠ°Π» ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ macOS. ΠΠΎ Π΅ΡΡΡ ΠΈ Ρ ΠΎΡΠΎΡΠΈΠ΅ Π½ΠΎΠ²ΠΎΡΡΠΈ: Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ Π½Π° Π΄Π½ΡΡ Ρ ΡΠ°Π·Π³ΠΎΠ²Π°ΡΠΈΠ²Π°Π» Ρ ΠΠΎΡΠΌΠ°Π½ΠΎΠΌ ΠΠ°ΡΡΠ΅ΡΠΎΠΌ ΠΈΠ· Apple (Π°Π²ΡΠΎΡΠΎΠΌ Netty), Π΅ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ async-profiler, ΠΈ ΠΎΠ½ Π»ΡΠ±Π΅Π·Π½ΠΎ ΡΠΎΠ³Π»Π°ΡΠΈΠ»ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Mac-ΠΏΠΎΡΡ.
JUG.ru: Π ΠΈΡΠ»Π΅ Π² async-profiler ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅Ρ Ρ ΠΈΠΏΠ° β ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎΠ± ΡΡΠΎΠΌ?
ΠΠ½Π΄ΡΠ΅ΠΉ: Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΊ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π² Java. ΠΠ΅ΡΠ²ΡΠΉ β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π±Π°ΠΉΡΠΊΠΎΠ΄Π°. ΠΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½-ΡΠΈΡΡΠ΅ΠΌ ΠΎΠ½ ΡΠΆΠ°ΡΠ΅Π½, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠ»Π°ΡΠ΅Π²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π ΡΠ΄ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ: ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Escape Analysis Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ Π°Π»Π»ΠΎΠΊΠ°ΡΠΈΠΉ Π² Ρ ΠΈΠΏΠ΅.
ΠΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ DTrace probes, ΡΡΠΎ ΡΠΎΠΆΠ΅ ΠΊΡΠ°ΠΉΠ½Π΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΠΎ, ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠ°ΡΡΠ΅ JVM.
ΠΠΎ ΡΡΠΎ Π½Π΅ Π²ΡΡ. ΠΡΡΡ Π΅ΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΡΡΠΌΠΏΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ TLAB (Thread Local Allocation Buffer). ΠΠ½ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Java Mission Control / Java Flight Recorder, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Oracle JDK, Π° Ρ OpenJDK Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠΎΡ ΠΎΠΆΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π²Π½ΡΡΡΠΈ Google, Π½ΠΎ ΡΠ°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ±ΠΎΡΠΊΠ° ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ JVM.
Π― Π½Π°ΡΡΠ» ΡΠΏΠΎΡΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ»Π°ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅, Ρ OpenJDK. Π‘Π΅ΠΉΡΠ°Ρ Π½Π΅ Π±ΡΠ΄Ρ ΠΏΠΎΠ³ΡΡΠΆΠ°ΡΡΡΡ Π² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ, Π½ΠΎ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΡΡΠΊΠ°ΠΆΡ.
ΠΠΈΡΡΠ°Π½: Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Java Mission Control ΡΠ΅ΠΉΡΠ°Ρ, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°Π»Π»ΠΎΠΊΠ°ΡΠΈΠΉ, ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ Π² JMC ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΡΠ΅Π½Ρ ΡΠ²ΠΎΠ΅ΠΎΠ±ΡΠ°Π·Π½ΠΎ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π»ΡΠ΄ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π°Π»Π»ΠΎΠΊΠ°ΡΠΈΠΉ ΡΡΠ°ΡΡ ΠΌΠ΅ΠΉΠ½ΡΡΡΠΈΠΌΠΎΠΌ.
JUG.ru: ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΡΡΠ°Π½Π½ΡΠΌ, ΡΡΠΎ Π·Π°ΠΌΠ΅ΡΠ½ΡΠ΅ ΠΏΠΎΠ΄Π²ΠΈΠΆΠΊΠΈ Π² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ Π² 2017-ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ Π±Ρ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π³ΠΎΠ΄Ρ Π½Π°Π·Π°Π΄. Π ΡΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π° ΡΠ°ΠΊΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ?
ΠΠ½Π΄ΡΠ΅ΠΉ: Java β ΠΊΠΎΡΠ΅Π½Ρ Π²ΡΠ΅Ρ Π·ΠΎΠ» π ΠΠ½Π° Π΄Π΅Π»Π°Π΅Ρ ΠΆΠΈΠ·Π½Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ Π»ΡΡΡΠ΅, ΠΈ Ρ ΡΠΆΠ΅. Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΈΠ·-Π·Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ JVM ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π½Π΅ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ, Π½ΠΎ Ρ Π΄ΡΡΠ³ΠΎΠΉ β JVM ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ API Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΈΡΡΠ°Π½: Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΌΠΈΡ Java ΠΏΠΎΡ ΠΎΠΆ Π½Π° Windows. Windows Π±ΡΠ»Π° ΡΠΆΠ°ΡΠ½ΠΎΠΉ ΠΠ‘ (Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΠ΅ΠΉΡΠ°Ρ ΠΊΡΠ΄Π° Π»ΡΡΡΠ΅), Π½ΠΎ, ΡΡΡΠ°Π΄Π°Ρ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΈΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ², ΠΎΠ½Π° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠΌΠ΅Π»Π° Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΡΠΏΠ΅Ρ . Π’Π° ΠΆΠ΅ ΠΈΡΡΠΎΡΠΈΡ ΠΈ Ρ Java. Π ΡΠ»ΡΡΠ°Π΅ Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ Java ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΠΏΠ»ΠΎΡ ΠΎ. Π― Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ²Π΅ΡΠ΅Π½ Π² ΡΠΎΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎ ΡΠ°ΠΊ.
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ JVM ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Solaris Studio, ΡΠ°ΠΊ ΡΡΠΎ Π²ΡΡ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π½ΠΈΡ . Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π±ΡΠ»ΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΈΠΌΠ΅Π»ΠΈ.
ΠΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Java ΠΏΡΠΈΡΠ»ΠΎΡΡ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΡΡ. ΠΠ°ΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π² Solaris Studio, Π½ΠΎ ΡΠΎΠ³Π΄Π° Π±ΡΠ»ΠΎ Π½ΠΈΡΠ΅Π²ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ.
ΠΠ½Π΄ΡΠ΅ΠΉ: Π‘ΡΠΈΡΠ°Ρ Π½ΡΠΆΠ½ΡΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, ΡΡΠΎ Java Π½Π΅ ΡΠ°Π²Π½ΠΎ HotSpot, ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ JVM ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π΄ΡΡΠΆΠ΅Π»ΡΠ±Π½Ρ ΠΊ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠ°ΠΌ.
ΠΠΈΡΡΠ°Π½: ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Ρ ΡΡΠΎ-ΡΠΎ ΡΠΏΡΡΡΠΈΠ», Π½ΠΎ ΠΎ ΠΊΠ°ΠΊΠΎΠΉ JVM ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ? Π― Π·Π½Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ Zing, ΠΈ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ° ΡΠ°Π±ΠΎΡΡ Ρ IBM J9β¦
ΠΠ½Π΄ΡΠ΅ΠΉ: Π‘Π΅ΠΉΡΠ°Ρ Π½Π° ΠΌΠ½Π΅ ΡΡΡΠ±ΠΎΠ»ΠΊΠ° Excelsior JET, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π²ΡΠΏΠΎΠΌΠ½ΠΈΠ» ΠΎΠ± ΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅. ΠΠ½ ΡΠΌΠ΅Π΅Ρ ΠΏΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Java Π² Π½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΈ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π·Π½Π°Ρ, ΠΎΡ safepoint bias Π½Π΅ ΡΡΡΠ°Π΄Π°Π΅Ρ.
ΠΠΈΡΡΠ°Π½: Π, ΠΎΠΊ. ΠΠΈΠΊΠΎΠ³Π΄Π° ΡΡΠΈΠΌ Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ. ΠΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π·Ρ Π±ΡΠ°ΡΡ Π½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅Ρ.
JUG.ru: AsyncGetCallTrace, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ async-profiler ΠΈ Honest Profiler, Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΌ API. ΠΠ΅ ΠΎΡΡΡΠ°Π΅ΡΡΡ Π»ΠΈ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Β«Ρ Π°ΠΊΠΎΠΌΒ»? ΠΠ΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΠ΅ΡΡ Π»ΠΈ, ΡΡΠΎ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ? ΠΠΎΠΌΠΎΠ³Π»Π° Π±Ρ Π±ΠΎΠ»Π΅Π΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Oracle Π² Π²ΠΎΠΏΡΠΎΡΠ°Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ?
ΠΠΈΡΡΠ°Π½: AsyncGetCallTrace ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΅ΡΡ Ρ Π·Π°ΠΏΡΡΠΊΠ° OpenJDK 6, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ ΠΎΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ» ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡΠΎ Β«Π½Π΅Π·Π°ΠΊΠΎΠ½Π½ΠΎΡΠΎΠΆΠ΄Π΅Π½Π½ΡΠΉ ΡΠ΅Π±Π΅Π½ΠΎΠΊΒ», Π½ΠΎ Ρ Π½Π΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π΅Π³ΠΎ ΠΌΠΎΠ³ΡΡ Π²Π·ΡΡΡ ΠΈ Π²ΡΠΊΠΈΠ½ΡΡΡ. ΠΠΎΠ³Π΄Π° ΡΡΠΎ-Π»ΠΈΠ±ΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΠΏΡΠΈΠ΅ΠΉ JVM, ΡΡΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ. Π’Π°ΠΊ ΡΡΠΎ Π΄ΡΠΌΠ°Ρ, Π½Π°ΠΌ Π½Π΅ ΡΡΠΎΠΈΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎΠ± ΡΡΠΎΠΌ. Π₯ΠΎΡΡ ΠΌΠ½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΡΠΎΡΠΎ AsyncGetCallTrace ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Ρ Π½ΠΎΠ²ΡΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Graal.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π±ΠΎΠ»Π΅Π΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠΎΠΌΠΎΠ³Π»Π° Π±Ρ. ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Oracle ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ JMC Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ»Π°ΡΠ½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°, Π° Π²ΡΠ΅ΠΌΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌΡ Java-ΠΌΠΈΡΡ ΠΎΡΡΠ°ΡΡΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ VisualVM. Π‘Π΅ΠΉΡΠ°Ρ Π² ΡΡΠΎΠΌ Π΄Π΅Π½ΡΠ³ΠΈ. Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Oracle ΠΈΡΠΏΡΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²: ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡ Java, Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΈ ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ β Ρ Π΄ΡΡΠ³ΠΎΠΉ. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π΄Π»Ρ Π½ΠΈΡ ΠΏΠΎΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ JVM-ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠΎΠ² ΠΎΠ·Π½Π°ΡΠ°Π»ΠΎ Π±Ρ ΡΡ ΡΠ΄ΡΠΈΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
Π― Π½Π΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Ρ, ΡΡΠΎ ΠΎΠ½ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ. Π― ΠΏΠΎΠ½ΡΡΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Ρ, ΡΠ΅Π³ΠΎ ΠΎΠ½ΠΈ ΡΠ΅ΠΉΡΠ°Ρ Ρ ΠΎΡΡΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ½ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ Π²Π΅ΡΠΈ Π²ΡΠΎΠ΄Π΅ JMC. Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π±ΠΎΡΠ° Π½Π°Π΄ Jigsaw Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°, Ρ Π½ΠΈΡ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ.
ΠΠ½Π΄ΡΠ΅ΠΉ: Π‘ΠΎΠ³Π»Π°ΡΡΡΡ, ΡΡΠΎ AsyncGetCallTrace β ΠΎΡΡΠ°ΡΡΠΈ Β«Ρ Π°ΠΊΠ΅ΡΡΠΊΠΈΠΉΒ» API. Π ΡΠΎΠΌΡ ΠΆΠ΅ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ: Ρ ΠΈ ΡΠ°ΠΌ ΡΠΎΠΎΠ±ΡΠ°Π» ΠΎ Π±Π°Π³Π°Ρ . ΠΠΎ ΠΏΠΎΠΊΠ° ΡΡΠΎ ΡΡΠΎ Π»ΡΡΡΠ΅Π΅, ΡΡΠΎ Π΅ΡΡΡ Π² HotSpot JVM.
JUG.ru: Π ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ, ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π²Π΅ΡΠ΅ΠΉ Π²ΡΠΎΠ΄Π΅ AsyncGetCallTrace, ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΡΡΠΎ-ΡΠΎ Π΅ΡΡ, ΡΡΠΎ ΠΎΠ±Π»Π΅Π³ΡΠΈΡ ΠΆΠΈΠ·Π½Ρ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»ΡΠΌ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠΎΠ²?
ΠΠ½Π΄ΡΠ΅ΠΉ: ΠΠ°. ΠΠ΅Π΄Π°Π²Π½ΠΎ Π² ΡΠΏΠΈΡΠΊΠ°Ρ ΡΠ°ΡΡΡΠ»ΠΊΠΈ HotSpot ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π»Π»ΠΎΠΊΠ°ΡΠΈΠΉ. Π ΠΈΡΠΎΠ³Π΅ Π΄Π°ΠΆΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ JEP, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ API Π΄Π»Ρ ΡΡΠΌΠΏΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΈΠΏΠ°. ΠΡΠΌΠ°Ρ, ΡΡΠΎ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅ΠΌΡ Π² ΡΠ°ΡΡΡΠ»ΠΊΠ°Ρ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ JEP β ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΡΡΡ. Π’Π°ΠΊ ΡΡΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Π² Java 11β¦
JUG.ru: Π§ΡΠΎ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅ ΠΎ Π±ΡΠ΄ΡΡΠ΅ΠΌ Java-ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Oracle? ΠΡΠΎΡΠ°ΠΉΠ»Π΅ΡΡ ΡΡΠ°Π½ΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ ΡΠ΅ΠΉΡΠ°Ρ?
ΠΠ½Π΄ΡΠ΅ΠΉ: ΠΡΠ΅Π½Ρ Π½Π° ΡΡΠΎ Π½Π°Π΄Π΅ΡΡΡ. Π ΡΠ²ΠΎΠΈΡ Π΄ΠΎΠΊΠ»Π°Π΄Π°Ρ Ρ ΡΡΠ°ΡΠ°ΡΡΡ Π΄ΠΎΠ½ΠΎΡΠΈΡΡ Π΄ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΌΡΡΠ»Ρ, ΡΡΠΎ Ρ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ΅ΠΉΡΠ°Ρ, Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°ΠΌΠ½ΠΈ. ΠΡΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ , Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΈΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°Ρ ΠΈ Π»ΠΎΠ²ΡΡΠΊΠ°Ρ . Π Π΄ΡΠΌΠ°Ρ, ΠΊΠΎΠ³Π΄Π° Π±ΠΎΠ»ΡΡΠ΅ Π»ΡΠ΄Π΅ΠΉ ΠΎΡΠΎΠ·Π½Π°ΡΡ ΠΌΠ°ΡΡΡΠ°Π±Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈΠΌΡΡΡΡ ΠΈΡ ΡΠ»ΡΡΡΠ°ΡΡ.
ΠΠΈΡcΠ°Π½: Π ΡΡΠ΄Π΅ Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π΅ΡΡΡ ΠΊΡΠ΄Π° ΡΠ°ΡΡΠΈ. Π‘ perf-map-agent ΠΌΡ ΠΎΠ±ΡΠ΅Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ½Π»Π°ΠΉΠ½ΠΈΠ½Π³ ΠΏΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Ρ ΠΊ async-profiler, ΡΠ½ΠΎΠ²Π° Π΅Ρ ΡΠ΅ΡΡΠ΅ΠΌ. ΠΠ½Π΅ Π±Ρ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π΅Ρ ΡΠ½ΠΎΠ²Π° Π²ΠΎΠΏΠ»ΠΎΡΡΠ½Π½ΠΎΠΉ.
ΠΡΡΠ³Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ β Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ async-profiler ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, Π³Π΄Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡΠΎΠΊ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ 100% CPU, Π° Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π²ΠΈΡΡΡ Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ, ΠΏΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ±ΠΈΠ²Π°ΡΡΡΡ Ρ ΡΠΎΠ»ΠΊΡ ΠΊΠ°ΡΡΠΈΠ½Ρ. ΠΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΈ Ρ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠ½Π΄ΡΠ΅ΠΉ: ΠΠ°. Π‘Π΅Π³ΠΎΠ΄Π½Ρ FlameGraph ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π½ΠΎ Ρ Π±Ρ ΡΠΊΠ°Π·Π°Π», ΡΡΠΎ ΠΎΠ½ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π΅Π½.
JUG.ru: ΠΡ ΠΎΠ±Π° ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ (Π² Π΄ΠΎΠΊΠ»Π°Π΄Π°Ρ ΠΈ Π±Π»ΠΎΠ³-ΠΏΠΎΡΡΠ°Ρ ), ΡΡΠΎ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΡΠΊΠ°ΠΆΡΠ½Π½ΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ. Π‘ΡΠΈΡΠ°Π΅ΡΠ΅ Π»ΠΈ Π²Ρ, ΡΡΠΎ ΠΎΡΡΠ°ΡΠ»ΠΈ ΡΠΈΠ»ΡΠ½ΠΎ Π²ΡΠ΅Π΄ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΡΠ΄ΡΠΌΠΈ ΡΡΠΎΠΉ ΠΈΡΠΊΠ°ΠΆΡΠ½Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½Ρ? ΠΠΎΠΆΠ΅Ρ Π»ΠΈ Π±ΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎ ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ ΠΎΡ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠΎΠ² ΡΠΎΠ³Π΄Π° Π²ΠΎΠΎΠ±ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π΄Π°, ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·Ρ?
ΠΠΈΡΡΠ°Π½: ΠΠ°, Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ Π²ΡΠ΅Π΄ΠΈΡ ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Java, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΡΠ°ΠΌ ΠΏΠΎΠ»Π½ΠΎ Π±ΡΠ»ΡΠΈΡΠ°. Π ΠΏΡΠΈΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅Π³ΠΎ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎ Π²Π΅ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΡΠ΄ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΠΌΠ½Π΅, ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² HashMap. Π ΠΏΡΠΈΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΡΠΌΠ°Π»ΠΈ, ΡΡΠΎ HashMap ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅Ρ ΠΈΠΌ ΡΡΠΎΠ³ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ. Π― Π½Π΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Ρ, ΡΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ Π² ΠΈΡ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² Π½ΡΠΌ, Π½ΠΎ ΠΊΠ°ΠΊ Π±Ρ ΡΠΎ Π½ΠΈ Π±ΡΠ»ΠΎ, ΠΎΠ½ΠΈ ΠΎΠ± ΡΡΠΎΠΌ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ·Π½Π°ΡΡ. Π ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΡΠΌΠΎΡΡΡΡ Π½Π° Π³ΡΠ°ΡΠΈΠΊ ΡΠ°ΡΡ ΠΎΠ΄Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ CPU, ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ΅ΠΌΡ, Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° GC. Π’ΠΎ Π΅ΡΡΡ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Β«Π±ΡΡΡΠ»ΠΎΡΠ½ΡΠΌ Π³ΠΎΡΠ»ΡΡΠΊΠΎΠΌΒ» Ρ Π½ΠΈΡ ΠΎΠΊΠ°Π·Π°Π»ΡΡ GC, ΠΎΠ½ΠΈ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΠΌΠΎΠ³ΡΡ ΡΡΠΎΠ³ΠΎ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ.
ΠΠ½Π΄ΡΠ΅ΠΉ: Π― ΡΠΎΠ³Π»Π°ΡΠ΅Π½ Ρ ΠΠΈΡΡΠ°Π½ΠΎΠΌ, Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Ρ, ΡΡΠΎ Π»ΡΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΡΠ΅ΠΌ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ. ΠΠ»Π°Π²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β Π½Π΅ ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅Ρ ΠΏΡΠΈΠ²ΠΈΡΠ°Π΅Ρ, Π° ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΡΡΡ, Ρ ΠΎΡΡ Π·Π°ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΡΠΎΠ΅ΡΡΡ Π² Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°Ρ , ΠΈ Π»ΡΠ±ΠΎΠΉ ΡΡΠΌΠΏΠ»ΠΈΡΡΡΡΠΈΠΉ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅Ρ Π΅Ρ Π»Π΅Π³ΠΊΠΎ Π²ΡΡΠ²ΠΈΡ.
ΠΠΈΡΡΠ°Π½: Π― ΡΠΎΠ³Π»Π°ΡΠ΅Π½, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π»ΡΠ΄ΠΈ Π½Π΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΡΡΡ, ΠΈ ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΠΎ Π΅ΡΠ»ΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ Π²Π°ΡΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅Ρβ¦ ΠΡ ΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° Π½Π΅Π³ΠΎ, Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΠΎΠ½ Π²ΡΠ΄Π°ΡΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ Π±Π΅ΡΡΠΌΡΡΠ»ΠΈΡΡ, ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ: Β«ΠΡΡΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΡΡΠ°Π²ΠΈΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΊΠΈΒ», ΡΠ°ΠΊΠΈΠΌ Ρ Π²Π°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π²ΡΠ²ΠΎΠ΄, ΠΈ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΎΡΠ±ΠΈΠ²Π°Π΅Ρ Ρ Π»ΡΠ΄Π΅ΠΉ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΡ.
JUG.ru: ΠΠ½Π°ΡΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠ»ΡΡΡΠΈΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ Ρ Java-ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π½Π°ΠΌ Π²ΡΠ΅ΠΌ Π½Π°Π΄ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π΄ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π½ΠΎ ΠΈ Π½Π°Π΄ Π·Π½Π°Π½ΠΈΡΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΎ Π½ΠΈΡ ?
ΠΠΈΡΡΠ°Π½: ΠΠ°. Π― Π΄ΡΠΌΠ°Ρ, ΠΌΠ°ΡΡΡΠ°Π±Π½Π°Ρ ΠΈΡΡΠΎΡΠΈΡ ΡΡΠΏΠ΅Ρ Π° Π² Java-ΠΌΠΈΡΠ΅ β ΡΡΠΎ JMH, Java Microbenchmarking Harness. Π ΠΏΡΠΈΡΠΈΠ½Π° Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΠΎΡΠ΅Π½Ρ ΡΡΠΏΠ΅ΡΠ½ΡΠΌ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΈ Π² Π°ΡΠΏΠ΅ΠΊΡΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π»ΡΡΡΠ΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΡΡ.
ΠΡΠΌΠ°Ρ, ΡΠΎ, ΡΡΠΎ ΠΠ½Π΄ΡΠ΅ΠΉ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΈ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π»ΡΠ΄ΡΠΌ, ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ.
ΠΠ½Π΄ΡΠ΅ΠΉ: ΠΠ°ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅ ΠΌΠΎΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π±ΡΠ΄ΡΡ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½Ρ, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΌΠ΅ΡΡ ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. Π‘ ΡΠ΅ΠΌ ΠΆΠ΅ JMH: Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π· Π²ΠΈΠ΄Π΅Π», ΠΊΠ°ΠΊ Π»ΡΠ΄ΠΈ ΠΏΠΈΡΠ°Π»ΠΈ Π΅ΡΡΠ½Π΄Ρ Π² JMH, Π° ΠΏΠΎΡΠΎΠΌ Π΄Π΅Π»Π°Π»ΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ. ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΡΡΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ ΡΠ°ΡΡΡΡ ΡΡΠΏΠ΅Ρ Π°.
JUG.ru: ΠΡ ΠΎΠ±Π° ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΏΠΎΠΌΠΎΡΡ ΡΡΠΎΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΠΌΠΈ Π΄ΠΎΠΊΠ»Π°Π΄Π°ΠΌΠΈ Π½Π° Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅ΠΌ Joker, ΠΈ Π²Ρ ΠΎΠ±Π° ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ°ΠΌ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ², ΡΠ°Π½Π΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡ . Π ΡΡΠΌ Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ Π½ΠΎΠ²ΠΈΠ·Π½Π°?
ΠΠΈΡΡΠ°Π½: ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ» Π½Π° QCon Π΄ΠΎΠΊΠ»Π°Π΄ βProfilers are lying hobbitsesβ, Ρ ΠΏΠΎΠ΄ΡΠΌΠ°Π», ΡΡΠΎ ΡΠ°ΠΌΠΎΠ΅ Π»ΡΡΡΠ΅Π΅ Π² Π½ΡΠΌ β ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. ΠΠΎΡΡΠΎΠΌΡ Ρ ΡΠ΅ΡΠΈΠ» ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Π½ΠΎ ΡΠ°ΠΌ Π΄ΠΎΠΊΠ»Π°Π΄ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. ΠΡ ΡΠ½ΠΎΠ²Π° Π±ΡΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠ°Ρ ΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π²Π²Π΅ΡΡΠΈ Π½Π°Ρ Π² Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΠ΅, Π½ΠΎ, Π΄ΡΠΌΠ°Ρ, Ρ Π½Π°ΡΠ½Ρ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΌΡΠ°ΡΠ½ΠΎΠ³ΠΎ, Π° Π·Π°ΡΠ΅ΠΌ Π±ΡΠ΄Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ Π²ΡΠΊΠ°ΡΠ°Π±ΠΊΠ°ΡΡΡΡ. Π ΠΏΡΠΎΡΠ»ΠΎΠΌ Π΄ΠΎΠΊΠ»Π°Π΄ Π±ΡΠ» ΡΠ΅ΡΠΈΠ΅ΠΉ ΡΡΡΠΏΡΠΈΠ·ΠΎΠ², ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ²ΡΠΈΡ ΠΊ Π²ΡΠ²ΠΎΠ΄Ρ Β«Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΒ». Π ΡΡΠΎΡ ΡΠ°Π· Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊ: Β«Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π½Π°ΠΌ Ρ ΡΡΠΈΠΌ ΡΠΏΡΠ°Π²ΠΈΡΡΡΡΒ».
ΠΠ½Π΄ΡΠ΅ΠΉ: ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Ρ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π» ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ async-profiler, Π½Π°ΡΠ°ΡΠΎΠΉ Π½Π° JPoint 2017. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΡΠΎΠΌ ΠΌΡ Ρ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΠΎΠΌΠΈΡΠ΅ΡΠΎΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎ ΠΌΠΎΠ΅Π³ΠΎ Π΄ΠΎΠΊΠ»Π°Π΄Π° Ρ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠΌ ΠΠΈΡΡΠ°Π½Π°, ΡΠ°ΠΊ ΡΡΠΎ Ρ ΡΠ΅ΡΠΈΠ» Π²Π·ΡΡΡ Π½ΠΎΠ²ΡΡ ΡΠ΅ΠΌΡ. ΠΠΎΠΊΠ° ΡΡΠΎ Ρ Π½Π΅ Π³ΠΎΡΠΎΠ² ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ, Π½ΠΎ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Joker 2017 ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΌΠΎΠΉ Π½ΠΎΠ²ΡΠΉ Π΄ΠΎΠΊΠ»Π°Π΄! Π’Π°ΠΊ ΡΡΠΎ ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π·Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΠΌΠΈ.
Java-ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ Joker, Π³Π΄Π΅ Π²ΡΡΡΡΠΏΡΡ ΠΠΈΡΡΠ°Π½ ΠΈ ΠΠ½Π΄ΡΠ΅ΠΉ, ΡΠΎΡΡΠΎΠΈΡΡΡ Π² ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³Π΅ 3-4 Π½ΠΎΡΠ±ΡΡ. ΠΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² ΡΠΏΠΈΠΊΠ΅ΡΡ Joker ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π² Π΄ΠΈΡΠΊΡΡΡΠΈΠΎΠ½Π½ΡΡ Π·ΠΎΠ½Π°Ρ , ΡΠ°ΠΊ ΡΡΠΎ ΡΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΏΡΠΎΡΠΈΡΡ ΠΈΡ ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π»ΠΈΡΠ½ΠΎ. Π ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΠ½Π΄ΡΠ΅Ρ ΠΈ ΠΠΈΡΡΠ°Π½Π°, ΡΠ°ΠΌ Π±ΡΠ΄ΡΡ Π΄Π΅ΡΡΡΠΊΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠΏΠΈΠΊΠ΅ΡΠΎΠ² β Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΠΈ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ Π±ΠΈΠ»Π΅Ρ).
.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΎΠ²Π΅ΡΡ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠ° Π² Unity
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΠΊΠΈ Unity ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅Ρ Π΄Π°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ³ΡΡ ΠΈ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ Π΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠΎΡΠ°ΠΉΠ»Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠΊΠ°Π΄ΡΠΎΠ²ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΡΠ΅ Π²ΡΡΠ²ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠ°. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ Π΄Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ³ΡΡ Π²Π½Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°. ΠΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠ° ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π§ΡΠΎΠ±Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΠΎΡΠ½ΠΎΡΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΈΠ»Π΄ Π΄Π»Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈΠ³ΡΡ Π½Π° ΡΠ΅Π»Π΅Π²ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅. Π₯ΠΎΡΡ Π½Π°ΠΈΠ»ΡΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π° Π½Π΅ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠ΅ (Development Build), ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅Ρ Unity ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠ΅.
Π§ΡΠΎΠ±Ρ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅Ρ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π² ΠΎΠΊΠ½Π΅ Build Settings (FileβBuild Settings) Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Development Build ΠΈ Autoconnect Profiler. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅Ρ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π² Profiler Controls ΡΠ΅ΡΠ΅Π· Π²ΡΠΏΠ°Π΄Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅.
ΠΡΠΎΡΠ°ΠΉΠ»Π΅Ρ Π΄Π°ΡΡ Π²Π°ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠ΅Π½Π΄Π΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ°Π΄ΡΠ°, ΡΠ°Π·Π±ΠΈΠ²Π°Ρ ΡΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, ΡΠ΅Π½Π΄Π΅Ρ, ΠΏΠ°ΠΌΡΡΡ, Π°ΡΠ΄ΠΈΠΎ, ΡΠΈΠ·ΠΈΠΊΡ, UI ΠΈ ΡΠ΅ΡΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΠ΅ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΠΉΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠΎΠ² ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ Unity. Π Π°Π·Π½ΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠΎΠ² ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ.
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅
ΠΠ΅ ΡΡΠΎΠΈΡ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΡ ΠΊΠ°ΠΌΠ½ΡΡ ΠΏΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅. ΠΠ·-Π·Π° Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΎΡΠΊΡΡΡΡΡ ΠΎΠΊΠΎΠ½ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΡΠΊΠ°ΠΊΠΈΠ²Π°ΡΡ Π»Π°Π³ΠΈ. ΠΠ°ΠΆΠ΅ ΡΠ΅Π½Π΄Π΅Ρ Π² ΡΠ°ΠΌΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ Π΄Π°ΡΡ ΠΎ ΡΠ΅Π±Π΅ Π·Π½Π°ΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΊΡΠ°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎ Ρ ΠΎΡΡ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π»Π΅Π²ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΈ Π½Π΅ ΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°.
Deep Profile
Π ΡΡΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π²ΡΠ·ΠΎΠ²Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ ΡΡΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π΅ΡΠ΅Π²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Unity 2017. 3, ΡΠ΅ΠΆΠΈΠΌ deep profile ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅, Π½ΠΎ ΠΈ Π½Π° Android, ΠΈ Π½Π° Desktop, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΡΠΊΠ΅Π½Π΄Π° Mono.
ΠΠ»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° Desktop ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ -deepprofiling
.
ΠΠ»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° Android ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ adb
.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:~$ adb shell am start -n com.company.game/com.unity3d.player.UnityPlayerActivity -e 'unity' '-deepprofiling'
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠ°ΠΌΡΡΠΈ, Π½ΠΎ Π½Π΅ Π΄Π»Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ².
- Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠ° ΡΠ»Π°Π³
read/write
ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Read/Write Enabled Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΈΠΌΠΏΠΎΡΡΠ° Π°ΡΡΠ΅ΡΠ°. ΠΡΠΎ ΡΠΆΠ΅ ΡΠ΄Π²Π°ΠΈΠ²Π°Π΅Ρ ΠΏΠ°ΠΌΡΡΡ ΠΌΠ΅ΡΠ΅ΠΉ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ Π² ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠ΅. - ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΆΠ°ΡΠΈΠ΅ Π²Π΅ΡΡΠΈΠ½ (Vertex Compression).
- Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, GetComponent Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΠ΄ Π½Π΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ. ΠΠΎΡΡΠΎΠΌΡ Unity ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΡΠΎΡΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅, Π½ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎΠ³ΠΎ Π² Π±ΠΈΠ»Π΄Π΅.
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΡΠ΅Π½Π΄Π΅ΡΠ°
Π Unity Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ΅Π½Π΄Π΅ΡΠ° Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (ΠΎΠΊΠ½ΠΎ Game). Π’ΡΠ΄Π° Π²Ρ ΠΎΠ΄ΡΡ fps, Π±Π°ΡΡΠΈ draw calls, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ VRAM, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²Π΅ΡΡΠΈΠ½ ΠΈ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ². ΠΠ»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ»ΠΎΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Stats Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΎΠΊΠ½Π° Game. ΠΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π±Π°ΡΡΠΈΠ½Π³ ΠΈ GPU ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ.
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π² ΠΎΠΊΠ½Π΅ Game
ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ΅Π½Π΄Π΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ Π²ΠΊΠ»Π°Π΄ΠΊΡ ΡΠ΅Π½Π΄Π΅ΡΠ° Π² ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠ΅.
ΠΠΊΠ»Π°Π΄ΠΊΠ° ΡΠ΅Π½Π΄Π΅ΡΠ°, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ°Ρ Π΄Π΅ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ Π·Π° ΠΊΠ°Π΄Ρ
ΠΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π²ΡΡΠ΅ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΏΡΡΡΠ°Ρ ΡΡΠ΅Π½Π° ΠΈΠΌΠ΅Π΅Ρ 5 Π²ΡΠ·ΠΎΠ²ΠΎΠ² SetPass ΠΈ 5 Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ.
- ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ² SetPass ΠΈΠ³ΡΠ°Π΅Ρ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΠ»Ρ, Ρ. ΠΊ. ΠΎΠ½ΠΎ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅.
- ΠΡΠ·ΠΎΠ²Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ (draw calls) ΡΠ²Π»ΡΡΡΡΡ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ, Π΅ΡΠ»ΠΈ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³ΠΎΠ²ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ΅. Π£ΠΌΠ΅Π½ΡΡΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΌ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³ΠΎΠΌ.
ΠΡΠ·ΠΎΠ²Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ
Π§Π°ΡΡΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Ρ ΠΏΠΎΡ ΠΎΠΆΠΈΠΌΠΈ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°ΠΌΠΈ Π²Π»ΠΈΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ ΡΠ΅Π΄ΠΊΠΈΠ΅ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°ΠΌΠΈ. Unity ΠΊΠ΅ΡΠΈΡΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ, ΡΡΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. ΠΠ»Ρ ΡΠ°Π·Π½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Unity ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°Π·Π½ΡΠ΅ Π±ΡΡΠ΅ΡΡ. ΠΡΠΎ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠ°ΠΌΡΡΡ.
ΠΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΉ ΡΠ΅Π½Π΄Π΅Ρ ΠΈ Graphics Jobs
ΠΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΉ ΡΠ΅Π½Π΄Π΅Ρ ΠΈ Graphics Jobs (Player Settings) ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π½ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Β«ΡΠ°Π·ΠΌΡΡΡΠΌΠΈΒ». ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠΈ Π² Unity.
ΠΠ°Π΄ΡΠΎΠ²ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ
ΠΠ°Π΄ΡΠΎΠ²ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ³ΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌ ΠΊΠ°Π΄ΡΠ΅ ΠΈ ΠΏΡΠΎΠΉΡΠΈΡΡ ΠΏΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠΎΠ±ΡΡΠΈΡΠΌ. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ Unity Π²ΡΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ ΡΡΠ΅Π½Ρ ΠΈ ΠΏΡΠΎΠ΄ΡΠΌΠ°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠ»Π°Π΄ΡΠΈΠΊ ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠ΅ GameObjectβΡ, ΡΠ΅Π½Π΄Π΅Ρ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»Π΅Π½. ΠΡΠΊΠ»ΡΡΠΈΠ² ΡΡΠΈ GameObjectβΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠΈΡΠ»ΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΊΠ°Π΄Ρ.
ΠΡΠ»Π°Π΄ΡΠΈΠΊ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. ΠΠ½ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΊΠ°Π΄ΡΠ°. Π’ΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ GPU-ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΡ Π΄Π°Π΄ΡΡ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠ·ΠΎΠ²Π°Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ (ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ). ΠΠ°Π΄ΡΠΎΠ²ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π² ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π° ΠΈ Π±Π°ΡΡΠΈΠ½Π³Π° (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Unity UI). ΠΠ΅ΡΠ°Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠΏΠΈΡΠ°Π½Π° Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊΠ°Π΄ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°.
ΠΡΠΎΡΠ°ΠΉΠ»Π΅Ρ ΠΏΠ°ΠΌΡΡΠΈ
Π ΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠ° ΠΏΠ°ΠΌΡΡΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎ Π½Π΅ΠΌΡ Π΅ΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
Π‘Π½ΠΈΠΌΠΎΠΊ Ρ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠ° ΠΏΠ°ΠΌΡΡΠΈ
ΠΠ°Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ°ΠΌΡΡΡ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Unity, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌΠΈ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ (Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ Unity 2017. 3). ΠΡΠΎΡΠ°ΠΉΠ»Π΅Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ· ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ Unity 2017.3 ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΡΡΠ΅Π΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Mono scripting.
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΡΡΠΈΡΡ Π² ΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ Β«Unity ProfilerΒ»
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°ΠΌ Java
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ ΠΎΠΏΡΡΠ° ΡΠ°Π±ΠΎΡΡ Π² ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ΅ Java, ΠΈ Π²Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Ρ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΡΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ (ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄Π΅Π½ΡΠ³ΠΈ Π·Π° ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ), Π²Π·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° » ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π½Π°ΠΌ Β».
Π£ΡΠ°, ΠΠ²Π³Π΅Π½ΠΈΠΉ
1. ΠΠ±Π·ΠΎΡ
ΠΠ½ΠΎΠ³Π΄Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ. ΠΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π·Π°Ρ ΠΎΡΠ΅ΡΡ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²Π½ΡΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΠΌΡΡΡ, ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΊ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°Π΄ Π΄ΡΡΠ³ΠΈΠΌ, ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Ρ. Π.ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ.
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Java — ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° Java Π½Π° ΡΡΠΎΠ²Π½Π΅ JVM. ΠΡΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ (Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ), Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈ ΡΠ±ΠΎΡΠΊΡ ΠΌΡΡΠΎΡΠ°.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Java: JProfiler, YourKit, Java VisualVM ΠΈ Netbeans Profiler.
2. JProfiler
JProfiler — Π»ΡΡΡΠΈΠΉ Π²ΡΠ±ΠΎΡ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ JProfiler ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ².
ΠΠ±Π»Π°Π΄Π°Ρ ΡΡΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ — Π² Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ JProfiler:
ΠΠ±Π·ΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ JProfiler Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ
ΠΠ°ΠΊ ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ², ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠ°ΠΊ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ , ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ , Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π½Π° Π½ΠΈΡ .
JProfiler ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ Π±Π°Π· Π΄Π°Π½Π½ΡΡ SQL ΠΈ NoSQL . ΠΠ½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ JDBC, JPA / Hibernate, MongoDB, Casandra ΠΈ HBase.
ΠΠ° ΡΠ½ΠΈΠΌΠΊΠ΅ ΡΠΊΡΠ°Π½Π° Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ JDBC ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ΅ΠΊΡΡΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ:
ΠΡΠΎΡΠΌΠΎΡΡ Π·ΠΎΠ½Π΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ JProfiler
ΠΡΠ»ΠΈ ΠΌΡ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Ρ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Π΄Π΅ΡΠ΅Π²Π° Π²ΡΠ·ΠΎΠ²ΠΎΠ² , Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Ρ Π½Π°ΡΠ΅ΠΉ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΈ Π²ΠΈΠ΄ΠΈΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΠΏΡΡΠ΅Π½Ρ , JProfiler ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΡΠΏΡΠ°Π²ΠΈΡΡΡ Ρ ΡΡΠΈΠΌ.
Live Memory — ΡΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ JProfiler, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π½Π°ΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ . ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ ΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ»ΠΈ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ Π΄Π΅ΡΠ΅Π²Π° Π²ΡΠ·ΠΎΠ²ΠΎΠ².
Π ΡΠ»ΡΡΠ°Π΅ Π΄Π΅ΡΠ΅Π²Π° Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡ Π΄Π΅ΡΠ΅Π²Π° Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΆΠΈΠ²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠΎ ΡΠ±ΠΎΡΠΊΠΎΠΉ ΠΌΡΡΠΎΡΠ° ΠΈΠ»ΠΈ ΠΈ ΡΠΎΠ³ΠΎ, ΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΅ΡΠΈΡΡ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π»ΠΈ ΡΡΠΎ Π΄Π΅ΡΠ΅Π²ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π±ΡΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈΠ»ΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΠ° ΡΠΊΡΠ°Π½Π΅ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΠ΅ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ²:
ΠΡΠΎΡΠΌΠΎΡΡ ΠΆΠΈΠ²ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ JProfiler
JProfiler ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ IDE , ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Eclipse, NetBeans ΠΈ IntelliJ.ΠΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΎΡ ΡΠ½ΠΈΠΌΠΊΠ° ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ !
3. YourKit
YourKit Java Profiler ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ (Windows, MacOS, Linux, Solaris, FreeBSD ΠΈ Ρ. Π.).
ΠΠ°ΠΊ ΠΈ JProfiler, YourKit ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΡΠ±ΠΎΡΠΎΠΊ ΠΌΡΡΠΎΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ, Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· ssh-ΡΡΠ½Π½Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ .
ΠΠΎΡ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Tomcat:
YourKit Java Profiler ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Tomcat
YourKit ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΠΌΡ Ρ ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΈΠ»Ρ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π» ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ . ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΈΠΏΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π±ΡΠ»ΠΈ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
YourKit ΠΈΠΌΠ΅Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π¦Π , ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π»Π΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° , ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠ΅Π²ΡΡ Π² ΠΏΠΎΡΠΎΠΊΠ°Ρ .ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Β«ΡΡΠΎ, Π΅ΡΠ»ΠΈΒ».
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ 5 ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ²:
Π ΠΈΡΡΠ½ΠΎΠΊ 5. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² YourKit Java Profiler
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ SQL, Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ NoSQL Π²ΡΠ·ΡΠ²Π°Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ YourKit. ΠΠ½ Π΄Π°ΠΆΠ΅ Π΄Π°Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠ°Ρ .
Π₯ΠΎΡΡ ΡΡΠΎ Π½Π΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡΠ΅Π³ΠΎ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ YourKit Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ Ρ ΠΎΡΠΎΡΠΈΠΌ Π²ΡΠ±ΠΎΡΠΎΠΌ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ»ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π³ΡΡΠΏΠΏ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΏΠΎΠΊΡΠΏΠΎΠΊ Ρ ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ.
4. Java VisualVM
Java VisualVM — ΡΡΠΎ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ, Π½ΠΎ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ Java Development Kit (JDK). ΠΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π² JDK, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ JConsole , jstat , jstack , jinfo ΠΈ jmap .
ΠΠΈΠΆΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΎΠ±Π·ΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ΅Π°Π½ΡΠ° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Java VisualVM:
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° Tomcat Java VisualVM
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² Java VisualVM ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°ΡΡΠΈΡΠΈΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ . ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Ρ Π²ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ΅Π½ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Java VisualVM.
Java VisualVM ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ , Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π¦Π. ΠΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ (ΠΈΠΌΡ Ρ ΠΎΡΡΠ° / IP-Π°Π΄ΡΠ΅Ρ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ, Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ) , Π½ΠΎ Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ssh-ΡΡΠ½Π½Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ . ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΠΌΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΠΌΠΈ (ΠΎΠ±ΡΡΠ½ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠ΅ 2 ΡΠ΅ΠΊΡΠ½Π΄Ρ).
ΠΠΈΠΆΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Java, ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Java VisualVM:
ΠΠΈΡΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ Java VisualVM
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΠ½ΠΈΠΌΠΊΠΎΠ² Java VisualVM ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π΅Π»Π°ΡΡ ΡΠ½ΠΈΠΌΠΊΠΈ ΡΠ΅Π°Π½ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° .
5. ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ NetBeans
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ NetBeans ΡΠ²ΡΠ·Π°Π½ Ρ IDE NetBeans Oracle Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.
Π₯ΠΎΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅Π³ΠΎ Ρ Java VisualVM , ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ Π²ΡΠ±ΠΎΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Ρ ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ Π±ΡΠ»ΠΎ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π² ΠΎΠ΄Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (IDE + Profiler).
ΠΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ IDE.
ΠΠ° ΡΠ½ΠΈΠΌΠΊΠ΅ ΡΠΊΡΠ°Π½Π° Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° NetBeans:
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΠΈ Netbeans Profiler
Netbeans Profiler ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΎΡΠΎΡΠΈΠΌ Π²ΡΠ±ΠΎΡΠΎΠΌ Π΄Π»Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ .NetBeans Profiler ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΅Π΄ΠΈΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π°Π½ΡΠΎΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ². ΠΡΠΎ Π΄Π°Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ±ΠΎΡΠΊΠ° ΠΌΡΡΠΎΡΠ° .
6. ΠΡΠΎΡΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ ΡΠ²Π΅ΡΠ΄ΡΡ ΡΠ΅Π»
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ Π·Π΄Π΅ΡΡ: Java Mission Control, New Relic ΠΈ Prefix (ΠΎΡ Stackify) — ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ ΠΌΠ΅Π½ΡΡΡΡ Π΄ΠΎΠ»Ρ ΡΡΠ½ΠΊΠ° Π² ΡΠ΅Π»ΠΎΠΌ, Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅ΡΠΈΠΊΡ Stackify — ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ Π»Π΅Π³ΠΊΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java, Π½ΠΎ ΠΈ Π΄ΡΡΠ³ΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
7. ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Java. ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Profiler ΠΈ ΡΠΎ, ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ .
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² Java, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌΠΈ. ΠΠ°ΠΊ ΠΌΡ Π²ΠΈΠ΄Π΅Π»ΠΈ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅, Π²ΡΠ±ΠΎΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Java Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°.
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½Ρ ΡΡΠΈ 3 ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠ° — Stackify
ΠΡΠ»Π°Π΄ΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎΠΉ, Π° Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ Π±Π΅Π· ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΡΠ΅Π³Π΄Π°, Π½ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ java, ΠΎ ΠΊΠΎΡΠΎΡΡΡ Π΄ΡΠΌΠ°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΎΡΠ½ΠΎΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠΈΠΏΡ: ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ JVM.
ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π¦Π ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ².
ΠΠΎ Π΄Π°ΠΆΠ΅ ΡΠΎ Π²ΡΠ΅ΠΌ ΡΡΠΈΠΌ ΠΎΡ Π²Π°ΡΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ², Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Π»ΡΡΡΠ΅ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π°ΡΠΏΠ΅ΠΊΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΡΠΈ ΡΠΈΠΏΠ° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² Java ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ Π²ΡΠ΅ ΠΎΠ½ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡ Π½Π°ΡΠ½Π΅ΠΌ Ρ ΡΠΈΠΏΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ .
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠ° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² Java:
- Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ JVM , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ Π΄Π΅ΡΠ°Π»Ρ JVM (Π¦Π, ΠΏΠΎΡΠΎΠΊ, ΠΏΠ°ΠΌΡΡΡ, ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ° ΠΈ Ρ. Π.).
- ΠΠ΅Π³ΠΊΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ , ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΄Π΅Π»ΡΡΡ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠ΅ΠΉ.
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (APM) , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅.
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ JVM
Π’Π°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ, ΠΊΠ°ΠΊ VisualVM, JProfiler, YourKit ΠΈ Java Mission Control.
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Java, Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π΄Π°Π½Π½ΡΡ , Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΠΌΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΡΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠΏΠ° Π·Π°Π΄Π°ΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ JVM Π±ΡΠ΄ΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΠΎΠ³ΡΡΠ·ΠΈΡΡΡΡ Π² ΡΡΡΡΠΊΡΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΏΠΎΠ΄ Π»ΡΠ±ΡΠΌ ΡΠ³Π»ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ΠΈ Π²ΡΠ±Π΅ΡΡΡ.
ΠΠ»ΡΡΡ:
- Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ½ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π²ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ JVM ΠΈ ΡΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ / ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½Ρ Π·Π° ΡΡΠΎ.ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΡΡΠ½ΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ±ΠΎΡΠΊΡ ΠΌΡΡΠΎΡΠ° ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΎΠ»ΠΈΡΡ ΡΠ²Π΅Ρ Π½Π° ΠΊΠ»Π°ΡΡΡ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎ ΠΎΡΠΈΠ±ΠΊΠ΅ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΠ°ΠΌΡΡΡ.
- ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Java, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π¦Π, ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ±ΠΎΡΠΊΠΈ Π¦Π Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π¦Π ΠΏΠΎ ΠΊΠ»Π°ΡΡΠ°ΠΌ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π³ΠΎΡΡΡΠΈΡ ΡΠΎΡΠΊΠ°Ρ .
ΠΠΈΠ½ΡΡΡ:
- Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΡΠΌΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ JVM; Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅Π΄Π°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.(ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄Π°ΠΌΠΏΠ°ΠΌΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈ ΠΏΠ°ΠΌΡΡΠΈ.)
- ΠΠ½ΠΈ Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡ ΡΠ°Π±ΠΎΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ; ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ°Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΌΠΎΡΠ½ΠΎΡΡΡ.
ΠΠ±Π»Π΅Π³ΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Java
Π’Π°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ, ΠΊΠ°ΠΊ XRebel ΠΈ Stackify Prefix .
ΠΠ±Π»Π΅Π³ΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²Π½Π΅Π΄ΡΡΡ ΡΠ΅Π±Ρ ΠΏΡΡΠΌΠΎ Π² ΠΊΠΎΠ΄.
- ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π°ΡΠΏΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΠΠ) Π΄Π»Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π² Π½Π°ΡΠ°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². ΠΠ½Π΅Π΄ΡΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΠ΅ΡΠΎΠ΄ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ. ΠΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ ΠΏΡΠΎΡΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅, Π½ΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠΌ. ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° Spring AOP.
- ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Java Agent ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ API ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Java Π΄Π»Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π² Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠ΄ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π°. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ΄, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉΡΡ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ — Π±ΡΠ΄Ρ ΡΠΎ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ, ΠΈΠ»ΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΎΡ ΠΊΠΎΡΠΎΡΡΡ Π·Π°Π²ΠΈΡΠΈΡ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.ΠΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΡΡΠΈΠΌ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π² Java-Π°Π³Π΅Π½ΡΡ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ Π²ΡΠ΅ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ² Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ, Π½ΠΎ ΠΎΠ½ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ, ΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ΅Π½Π΅Π½Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ. ΠΠ³Π΅Π½ΡΡ Java ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π² Π³Π»ΡΠ±ΠΈΠ½Π΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΠΈΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ.
Stackify Prefix — ΡΡΠΎ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Java, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ Π½Π΅Π³Π»Π°ΡΠ½ΠΎ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Java Agent.
ΠΠ°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎ, ΡΡΠΎ Prefix ΡΠΆΠ΅ Π·Π½Π°Π΅Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ, Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Ρ ΠΎΡΡΡ Π±ΡΡΡ ΠΎΡΠ½Π°ΡΠ΅Π½Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΈΡ Π²ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ.ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠ½ Π±Π΅ΡΠ΅Ρ Π²ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ Ρ ΠΏΡΠΈΠ±ΠΎΡΠΎΠ² ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΈΡ Π² ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π³ΠΎ Hibernate, Prefix Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΡΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ², Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ SQL. ΠΠΎΠ³Π΄Π° Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ SOAP / REST API, Prefix ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π·Π°ΠΏΡΠΎΡΠ° ΠΈ ΠΎΡΠ²Π΅ΡΠ°.
Π‘ΠΊΡΠΈΠ½ΡΠΎΡ ΠΏΡΠ΅ΡΠΈΠΊΡΠ°: ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²Π΅Π±-Π·Π°ΠΏΡΠΎΡΠΎΠ² Tomcat
ΠΠΈΠ·ΠΊΠΈΠ΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ, ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java JVM Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ (APM)
ΠΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅, ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΡΠ°ΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΡΠ΅Π΄Π° — ΡΡΠΎ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π·Π½Π°Ρ ΡΡΠ΅Π΄Π° — Π² ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°Π·Π½ΡΠ΅ Π½Π°Π±ΠΎΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠ°.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Java APM ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Java Agent, Π½ΠΎ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΌΠΈ ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π½Π΅ Π²Π»ΠΈΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅. Π£Π»ΠΎΠ²ΠΊΠ° Ρ ΡΡΠΈΠΌΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°ΠΌΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π½ΡΠΆΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠ°Π·ΡΠΌΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠΈΠΊΠ»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°.
Stackify Retrace — ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ APM, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡ ΠΆΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, ΡΡΠΎ ΠΈ Stackify Prefix, Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ Π΄Π»Ρ Π±Π΅ΡΠΏΠ΅ΡΠ΅Π±ΠΎΠΉΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠΉ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π°Ρ .
ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ Π²ΡΠ±ΠΎΡΠΊΠΈ ΡΡΠ°ΡΡ. ΠΡΠΎ Π΄Π°Π΅Ρ Π²Π°ΠΌ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠΎΠ΄Π° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅.
ΠΡΠ°ΠΊ, ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ Π²Π΅Π±-Π·Π°ΠΏΡΠΎΡ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΎ Π² ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ Π² Retrace. ΠΡΡΡΠ΄Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ³ΡΡΠ·ΠΈΡΡΡΡ Π² ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π΅ ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ²Π»ΡΡΡΡΡ Π²ΠΈΠ½ΠΎΠ²Π½ΠΈΠΊΠ°ΠΌΠΈ.
Π‘Π½ΠΈΠΌΠΎΠΊ ΡΠΊΡΠ°Π½Π° Retrace: Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅Π±-Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π° 4 ΡΠ°ΡΠ°
Π‘Π½ΠΈΠΌΠΎΠΊ ΡΠΊΡΠ°Π½Π° Retrace: ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²Π΅Π±-Π·Π°ΠΏΡΠΎΡΠΎΠ² Tomcat
ΠΠ°ΡΠ΅ΠΌ Π²Π°ΠΌ Π½ΡΠΆΠ½Ρ Π²ΡΠ΅ 3 ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ?
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Ρ ΠΎΡΠΎΡΠΈ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ — ΡΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ. ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΡΡΠ°ΡΠΈΠΊΠ°, Π·Π°ΠΏΡΠΎΡΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΎΡΠ²Π΅ΡΠ° ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ².
ΠΡΠ°ΠΊ, ΠΊΠ°ΠΊΠΎΠ²ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ? ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ APM — ΡΡΠΎ ΠΎΡΠ²Π΅Ρ. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ APM Π½Π°ΡΠ΅Π»Π΅Π½Ρ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΎΡΡΠ΅Ρ ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠ°ΠΊ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ APM ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅. ΠΠ°ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, Π·Π°ΡΠ΅ΠΌ Π½ΡΠΆΠ½Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ.
Π§ΡΠΎ ΠΆ, ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΠ½ΠΈ Π²Π½Π΅Π΄ΡΡΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΊΠΎΠ΄, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² Π½Π°ΡΠ°Π»Π΅ ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°.
ΠΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΈ ΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ². ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. ΠΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΡΡ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ.
ΠΠ΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π²ΡΠ΅ ΡΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°.ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΏ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ.
ΠΠΏΡΠΎΡ RebelLab ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π», ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ .
ΠΠΎΡΠ΅ΠΌΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Java ΡΠ°ΠΊΠΈΠ΅ Π΄ΠΎΡΠΎΠ³ΠΈΠ΅?
XRebel — ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Π½ΠΎ ΠΎΠ½ ΡΡΠΎΠΈΡ 365 Π΄ΠΎΠ»Π»Π°ΡΠΎΠ² Π² Π³ΠΎΠ΄. Stackify Prefix Π±Π΅ΡΠΏΠ»Π°ΡΠ΅Π½ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΡΡΠΈ ΡΠ΅ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π‘Π°ΠΌΠ°Ρ Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ APM, Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΈΡ ΡΠ΅Π½Π΅. ΠΠ½ΠΈ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ Π±ΡΠ»ΠΈ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΡΠΎΠ³ΠΈΠΌΠΈ, ΡΡΠΎ ΠΈΡ ΠΌΠΎΠ³Π»ΠΈ ΡΠ΅Π±Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΡΡΠΏΠ½Π΅ΠΉΡΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ.
ΠΠ΅Ρ ΡΠΌΡΡΠ»Π° ΡΡΠ°ΡΠΈΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 100 Π΄ΠΎΠ»Π»Π°ΡΠΎΠ² Π² ΠΌΠ΅ΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Π² Azure ΠΈΠ»ΠΈ AWS, Π° Π·Π°ΡΠ΅ΠΌ ΡΡΠ°ΡΠΈΡΡ ΠΏΠΎΡΡΠΈ 200 Π΄ΠΎΠ»Π»Π°ΡΠΎΠ² Π² ΠΌΠ΅ΡΡΡ Π½Π° ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ, ΠΊΠ°ΠΊ New Relic.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΠΎΠΈΡΡ Π΄ΠΎΡΠΎΠΆΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ²!
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅: Π¦Π΅Π½Ρ Π½Π° APM ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎΠ± ΡΡΠΎΠΌ
ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠ·Π½Π°Π»ΠΈ ΠΎ ΡΡΠ΅Ρ ΡΠΈΠΏΠ°Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² ΠΊΠΎΠ΄Π° Java, ΠΏΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΠΈΡΡ, Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΅ ΠΈΡ .
ΠΡΠ²Π΅Ρ ΠΊΡΠΎΠ΅ΡΡΡ Π² ΠΏΡΠΈΡΠΎΠ΄Π΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ ΠΎΠ½ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ, ΠΊΠ°ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΡΡ ΠΎΠ΄Π°ΠΌΠΈ ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΈΠ»ΠΈ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°, ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠ΅. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΡΡΡ ΡΠ°Π±ΠΎΡΡ.
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ°ΠΊΠΎΠ΅ ΠΊΠ°ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΊΡΡΡΠ΅ΡΡΠΊΠΎΠΉ ΡΠ»ΡΠΆΠ±Ρ, ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΡΡΡΡΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ APM Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π΅ΡΠ»ΠΈ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ Π΄Π»Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠΈΡΡΠ΅ΠΌ, Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ Π²ΡΠ΅ ΡΡΠΈ ΠΈΠ· Π½ΠΈΡ .
ΠΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ Ρ ΠΎΡΠΎΡΠΎ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΠΉΡΠ΅ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ.
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°ΠΌ Java. ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Java ΠΈ APM (ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅β¦ | by Thilina Ashen Gamage | Platform Engineer
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² JVM ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ JDK (Π±Π΅Π· ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ / Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ)
- ΠΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΠ°ΠΌΡΡΡ JVM, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΡΡΠΈ ΠΈ ΡΠ±ΠΎΡ ΠΌΡΡΠΎΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π² JVM, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ JVM Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄)
- ΠΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Java Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ (VMID)
- ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΡΠ°ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ (Π²ΠΌΠ΅ΡΡΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ jmap
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ jstat
1) ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Java Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
java -Xmx120m -Xms30m -Xmn10m -XX: PermSize = 20m -XX: MaxPermSize = 20m -XX: + UseSerialGC AwesomeJavaProgram
2) ΠΠΎΠ»ΡΡΠΈΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°
ΠΏΡ aux | grep java
3) ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ jstat Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ -gc Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΡΡΠΈ JVM
jstat -gc 21167 1000
ΠΠ΄Π΅ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ (1000) — ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π²ΡΠ±ΠΎΡΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΌΡΡΠΎΡΠ° ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ΅ΠΊΡΠ½Π΄Ρ.
jstat gc options (ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅: Betsol.com) — Π·Π΄Π΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²Π°ΠΆΠ½ΠΎΡΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠ°ΠΌΡΡΠΈ Java ΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ°
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ JDK (Π±Π΅Π· ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ / Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ)
- ΠΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠΊΠΈ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΠΏΠ°ΠΌΡΡΡΡ (ΡΠ²ΠΎΠ΄ΠΊΠ° ΠΊΡΡΠΈ, Π³ΠΈΡΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Java, ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° ΠΊΠ»Π°ΡΡΠΎΠ², ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ , ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ, Π΄Π°ΠΌΠΏ ΠΊΡΡΠΈ Java Π² Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ hprof ) Π΄Π»Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»Π° ΡΠ΄ΡΠ°
- ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ
- Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΡΠΈΠ»ΠΈΡΡ, jcmd (Π½Π°ΡΠΈΠ½Π°Ρ Ρ JDK 8) Π²ΠΌΠ΅ΡΡΠΎ jmap , Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ² Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ
- ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ (Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ) , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ jstat
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ jmap Π΄Π»Ρ Π΄Π΅ΡΠ°Π»Π΅ΠΉ ΠΊΡΡΠΈ JVM
jmap βheap
90 103 ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ jmap Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π°ΠΌΠΏΠ° ΠΊΡΡΠΈ
jmap βdump: file =
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ JDK (Π±Π΅Π· ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ / Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ)
- ΠΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² JVM
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ jcmd Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π°ΠΌΠΏΠ° ΠΊΡΡΠΈ
jcmdGC. heap_dump filename =
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ JDK (Π±Π΅Π· ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ / Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ)
- ΠΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΡΠ½ΠΈΠΌΠΊΠ΅ ΠΊΡΡΠΈ (ΠΎΠ½ ΠΆΠ΅ Π΄Π°ΠΌΠΏ ΠΊΡΡΠΈ)
- ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΡΡΠΈ ( HAT)
- ΠΠ½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π΄Π°ΠΌΠΏ ΠΊΡΡΠΈ Π² Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π°ΠΌΠΏ ΠΊΡΡΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ jcmd)
- ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΎΡΠ»Π°Π΄ΠΈΡΡ Π½Π΅ΠΏΡΠ΅Π΄Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (ΡΠ·ΡΠΊ Java ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ ΡΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ — ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅, Π½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΡΠ»ΠΊΠ°ΠΌ ΡΠ΅ΡΠ΅Π· Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΡΡ ΠΈΠ· ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ°)
- e.Π³ΡΠ°ΠΌΠΌ. 1) Π½Π΅ΠΏΡΠ΅Π΄Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½Π°Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ΅Π½
- Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ. 2) Π½Π°Π±Π»ΡΠ΄Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΡΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ΅Π½
- Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ. 3) ΠΏΠΎΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ, Π½Π΅ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ jhat Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°ΠΌΠΏΠ° ΠΊΡΡΠΈ
jhat
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ JDK (Π±Π΅Π· ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ / Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ)
- ΠΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΊΡΡΠΈ ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π¦Π ΠΏΡΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ, ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
- Π Π°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ (DLL), ΠΊΠΎΡΠΎΡΠ°Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ JVM Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Java Virtual Machine Tool (JVMTI)
- ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΡΠΎΠΊΠ΅Ρ Π² ASCII ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅
- ΠΠΎΠΆΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π¦Π, ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΡΡΠΈ, ΠΏΠΎΠ»Π½ΡΡ Π΄Π°ΠΌΠΏΠ°Ρ ΠΊΡΡΠΈ ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΡ Π²ΡΠ΅Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΎΠ² ΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π² JVM, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΠΈΠ»ΡΡ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΠΈ
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ:
- HPROF ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ΅Ρ JVM ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π΅ΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
- Π·Π°ΡΠ΅ΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠΎΠ±ΡΡΠΈΡΡ Π² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
- ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΡΡΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² java. hprof.txt (Π² ASCII) Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ hprof Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°
java βagentlib: hprof ToBeProfiledClass
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ hprof Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠΈΠ»Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΡΡΠΈ
javlib hprof = heap = sites Hello.java
ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΌ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ hprof Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π°ΠΌΠΏΠ° ΠΊΡΡΠΈ
javac βJ-agentlib: hprof = heap = dump ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅.java
ΠΠ½ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΌΡΡΠΎΡΠ°, ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Java Π² ΠΊΡΡΠ΅, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΈΠ· ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ°.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ hprof Π΄Π»Ρ ΡΠ±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π¦Π
javac βJ-agentlib: hprof = cpu = samples Hello.java
ΠΠ΄Π΅ΡΡ Π°Π³Π΅Π½Ρ HPROF ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΠ΅ΠΊ Π²ΡΠ΅Ρ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΎΠΊ ΡΡΠ΅ΠΊΠ°.
ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½Ρ 5 Π»ΡΡΡΠΈΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² Java
ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ, ΠΈΠΌΠ΅ΡΡΠΈΠΌΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²Π°Ρ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ. Π’ΠΎ, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ , ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄Π»Ρ Π²Π°Ρ. ΠΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² Java, ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π° ΡΡΠ½ΠΊΠ΅, ΠΈ ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π² ΡΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΈ ΡΡΠΎ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΆΠ΅ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΡΡΠ΄Π½ΡΠΌ. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ Π² ΡΡΠΎΠΌ Π±Π»ΠΎΠ³Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΠΏΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² Java, ΠΎΡΠ²Π΅ΡΠ°Ρ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ:
- ΠΠ°ΠΊΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ?
- ΠΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Java?
ΠΡΠ΅ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java? Π Π½Π°ΡΠ΅ΠΌ ΠΎΡΡΠ΅ΡΠ΅ ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π·Π° 2021 Π³ΠΎΠ΄ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡ Java, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ, ΡΠ΅ΡΠ²Π΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ JDK ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
Π‘ΠΊΠ°ΡΠ°ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΎΡΡΠ΅Ρ
ΠΠΎΡΡΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° (46,6%) ΡΠ΅ΡΠΏΠΎΠ½Π΄Π΅Π½ΡΠΎΠ² ΠΎΠΏΡΠΎΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² Java
Π Π°Π½Π΅Π΅ Π² ΡΡΠΎΠΌ Π³ΠΎΠ΄Ρ ΠΌΡ Π²ΡΠΏΡΡΡΠΈΠ»ΠΈ Π½Π°Ρ Π³ΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΠΎΡΡΠ΅Ρ ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΠ½ Π±ΡΠ» ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΎΠΏΡΠΎΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π² Ρ ΠΎΠ΄Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ»ΠΈ ΡΠΎΠ±ΡΠ°Π½Ρ ΠΎΡΠ²Π΅ΡΡ Π±ΠΎΠ»Π΅Π΅ 1500 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ², Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠ΅ΠΉ Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ. Π₯ΠΎΡΠΎΡΠ°Ρ Π½ΠΎΠ²ΠΎΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ ΠΎΡΠ΄Π°Π»ΠΈ 0,50 Π΄ΠΎΠ»Π»Π°ΡΠ° Π·Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ ΠΎΠΏΡΠΎΡ Π² Π±ΠΎΠ»ΡΡΡΡ Π±Π»Π°Π³ΠΎΡΠ²ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«Π‘ΠΎΠ±Π°ΠΊΠΈ Π²ΠΎ Π±Π»Π°Π³ΠΎΒ» (ΡΠ°Π½Π΅Π΅ — Β«Π‘ΠΎΠ±Π°ΠΊΠΈ Π΄Π»Ρ ΠΈΠ½Π²Π°Π»ΠΈΠ΄ΠΎΠ²Β»), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±Π°ΠΊ-ΠΏΠΎΠ²ΠΎΠ΄ΡΡΠ΅ΠΉ Π΄Π΅ΡΡΠΌ-ΠΈΠ½Π²Π°Π»ΠΈΠ΄Π°ΠΌ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java?
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java — ΡΡΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Java, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΊΠΎΡΠΎΡΡΡ ΠΈ ΡΠ°ΡΡΠΎΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
Π’Π΅, ΠΊΡΠΎ Π»ΡΠΊΠ°Π²ΠΈΡ, Π·Π°ΠΌΠ΅ΡΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΡΠΎΠΌ Π±Π»ΠΎΠ³Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΎΡΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ Π² ΡΡΠΌΠΌΠ΅ 100%. ΠΡΠΈΡΠΈΠ½Π° Π½Π΅ Π² Π½Π΅ΠΊΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ Π² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅. ΠΠ΅ Π² ΡΡΠΎΡ ΡΠ°Π·. ΠΠ° ΡΡΠΎΡ ΡΠ°Π· ΡΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π²ΠΎΠΏΡΠΎΡ Π΄ΠΎΠΏΡΡΠΊΠ°Π» ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΎΡΠ²Π΅ΡΠΎΠ² Π½Π° ΡΠ»ΡΡΠ°ΠΉ, Π΅ΡΠ»ΠΈ Π»ΡΠ΄ΠΈ ΡΠΊΠ»ΠΎΠ½Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ . ΠΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄ Π±ΡΠ»ΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Java, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΡ Π±ΡΡΡ Π»ΡΡΡΠ΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ°ΠΏΠ°Ρ ΠΈΠ»ΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅Π΅ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π₯ΠΎΡΠΈΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ? Π‘Π΄Π΅Π»Π°ΠΉ ΡΠ°ΠΌ!
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±ΡΠ»ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° JVM. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ΅, ΠΊΡΠΎ ΠΏΠΈΡΠ΅Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΎΡΠ΅Π½Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , ΡΡΠΎΠ±Ρ Π²ΡΡΠ²ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ.ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ²ΠΎΠ΄, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π±Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠ³Π»Π° Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΎΠ½ΠΈ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π±ΡΠ»ΠΈ Π±Ρ Π±Π»ΠΈΠΆΠ΅ ΠΊ Π½ΠΈΡΠ²Π°Π½Π΅, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΊΡΠΏΠ΅ΡΡΠ΅ ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠ½ΠΈ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΌΠΎΠ³ΡΡ Π½Π°ΠΉΡΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΈΠ΅.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ ΡΠ΅Π±Ρ Π·Π°ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π»ΠΈ, Π²ΠΊΠ»ΡΡΠ°ΡΡ JProfiler, XRebel (ΠΊΠΎΡΠΎΡΡΠΉ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ), ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ NetBeans, JMC ΠΈ JProbe. Π‘ Π½Π°ΡΠ΅ΠΉ Π»ΠΈΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, Π±ΡΠ»ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ XRebel, ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π° Π±Π»ΠΎΠΊΠ΅, ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²ΡΠΈΠΉ ΠΎΠ΄Π½ΠΈ ΠΈΠ· ΡΠ°ΠΌΡΡ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² Π»ΡΠ±ΠΎΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅.ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ½ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π³Π΄Π΅ Π»Π΅Π³ΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΈ ΡΡΡΡΠ°Π½ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΠΈΠ½ΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ?
Π§ΡΠΎ ΠΆ, ΡΡΠ΄Ρ ΠΏΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡ Π½ΠΈΠΆΠ΅ Π³ΡΠ°ΡΠΈΠΊΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π²ΠΈΠ½ΠΈΡΡ Π² ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΡ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ°Ρ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ, Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π΅ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π½Π°ΠΉΡΠΈ ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ»ΠΈ ΡΠ·ΠΊΠΈΡ ΠΌΠ΅ΡΡ Π² ΠΊΠΎΠ΄Π΅. Π£ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ Π·Π°Π΄Π°Ρ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ JMC Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅, Π½ΠΎ XRebel Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π»ΡΡΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΡΠ΅Π΄.
ΠΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Java ΡΠ²Π»ΡΡΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ?
ΠΡΡΡ Π»ΡΡΡΠΈΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² Java:
- VisualVM
- JProfiler
- ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
- Java Mission Control
- ΠΠ°Π²Π°ΠΉΡΠ΅ Π²Π·Π³Π»ΡΠ½Π΅ΠΌ Π½Π° Π½ΠΈΡ
Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π² YourKit
- ΠΡΠ΄ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΡΠΈΡΡΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Java, ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ, ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ.
- Visual VM — ΡΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Java.
- Π ΡΠ½ΠΎΠΊ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π·Π±ΡΠΎΡΠ°Π½ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌ.
- ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ ΡΠ΅Π±Ρ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΠΏΠΎΠ½Π΄Π΅Π½ΡΡ ΡΠΎΠΎΠ±ΡΠΈΠ»ΠΈ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠ½ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ Ρ ΠΈΡ ΠΏΠΎΠΌΠΎΡΡΡ.
- JProfiler ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ NetBeans ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΡΠ΅Π΄ΠΈ Π½Π°ΡΠΈΡ ΡΠ΅ΡΠΏΠΎΠ½Π΄Π΅Π½ΡΠΎΠ².
- XRebel ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ Ρ Π½ΠΈΠΌΠΈ, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ.
- ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
- ΠΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
- ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Java
- IDE NetBeans
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Β«Π€Π°ΠΉΠ»Β»> Β«ΠΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡΒ» (Ctrl-Shift-N; β-Shift-N Π½Π° Mac) Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ.
- Π ΠΌΠ°ΡΡΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ Β«ΠΡΠΈΠΌΠ΅ΡΡΒ»> Β«JavaΒ».
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ Anagram Game. ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ «ΠΠ°Π»Π΅Π΅.
- Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΠΎΡΠΎΠ²ΠΎ.
ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«ΠΠΎΡΠΎΠ²ΠΎΒ» Π² ΡΡΠ΅Π΄Π΅ IDE ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ°Π·Π΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ³ΡΡ Anagram.
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΡΠΏΠΎΠ»Π½ΠΈΡΡΒ»> Β«Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π³Π»Π°Π²Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡΒ»> Β«AnagramGameΒ» Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ.
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Advanced Commands > Manage Calibration Data Π² ΠΌΠ΅Π½Ρ Profile.
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java.Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΠ°Π»ΠΈΠ±ΡΠΎΠ²Π°ΡΡ.
- Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ AnagramGame ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΡΠΎΡΠΈΠ»ΡΒ»> Β«ΠΡΠΎΡΠΈΠ»Ρ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°Β» Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ.
ΠΠ»ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΡΠ·Π΅Π» ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΠΎΠΊΠ½Π΅ «ΠΡΠΎΠ΅ΠΊΡΡ» ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ «ΠΡΠΎΡΠΈΠ»Ρ».
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΠΎΠ½ΠΈΡΠΎΡΒ» Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠΡΠ±ΠΎΡ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ».
- ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ «ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ».
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°Π²Π΅ΡΡΠΈ ΠΊΡΡΡΠΎΡ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΡΡΠΎΠ±Ρ
ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΡΠΌΠΈ ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅. - Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
- ΠΡΠΎΡΠΌΠΎΡΡ ΡΡΠ°ΡΡΡΠ° ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
- ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
- Π‘ΠΌ. ΠΡΠ½ΠΎΠ²Π½ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΠΈ
- ΠΡΡΡΡΠ°Ρ (Π²ΡΠ±ΠΎΡΠΊΠ°).
Π ΡΡΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ IDE Π΄Π΅Π»Π°Π΅Ρ Π²ΡΠ±ΠΎΡΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ ΡΡΠ΅ΠΊΠ°.
ΠΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ ΠΌΠ΅Π½Π΅Π΅ ΡΠΎΡΠ΅Π½, ΡΠ΅ΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π½ΠΎ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ Π½ΠΈΠΆΠ΅.ΠΡΠ° ΠΎΠΏΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Π½Π°ΠΉΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. - ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ (Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ).
Π ΡΡΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΡΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
IDE Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΠΎΠΊΠΈ Π²Ρ ΠΎΠ΄ΡΡ Π² ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π²ΡΡ ΠΎΠ΄ΡΡ ΠΈΠ· Π½ΠΈΡ , ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°ΡΡΠ°ΡΠ΅Π½ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄.
ΠΡΠΈ Π²Ρ ΠΎΠ΄Π΅ Π² ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΡΠΎΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ Β«Π²Ρ ΠΎΠ΄Π° Π² ΠΌΠ΅ΡΠΎΠ΄Β».
ΠΡΠΈ Π²ΡΡ ΠΎΠ΄Π΅ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΠΎΡΠΎΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΎΠ±ΡΡΠΈΠ΅ Β«Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄Π°Β».ΠΠ°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΊΠΈ Π΄Π»Ρ ΠΎΠ±ΠΎΠΈΡ ΡΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΡΠΊΠ°Π·Π°Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΡΠ½Π΅Π²ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² .
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΠΌΠ΅Π½Ρ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΈΠ»ΠΈ
Π½Π°ΠΆΠ°Π² , Π½Π°ΡΡΡΠΎΠΈΡΡ , ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΡΠ½ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ».ΠΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ — ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠ»Π°ΡΡ ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊ ΠΊΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
ΠΠ°Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Ρ ΠΎΠ΄ΠΈΡ ΠΈ ΠΏΠΎΠΊΠΈΠ΄Π°Π΅Ρ ΠΊΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
ΠΠ°Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ, ΠΏΠΎΠΊΠ° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ Π²ΠΎΠΉΠ΄Π΅Ρ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄.Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ½ΠΈΠ·ΠΈΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠ»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΠΈ / ΠΈΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π΅ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΠΌ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΠ±ΠΎΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. - ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β«Π‘ΡΠΎΠΏΒ» Π² ΠΎΠΊΠ½Π΅ Β«ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΒ», ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΠ΅Π°Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ).
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΡΠΎΡΠΈΠ»ΡΒ»> Β«ΠΡΠΎΡΠΈΠ»Ρ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°Β» Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ.
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π¦Π Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠΡΠ±ΠΎΡ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ».
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ (ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ) .
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΎΠΏΡΠΈΡ, Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ , Π½Π°ΡΡΡΠΎΠΈΡΡ , ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΡΠ½ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ».
- Π Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΡΠ½ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ» ΡΠ°Π·Π²Π΅ΡΠ½ΠΈΡΠ΅ ΡΠ·Π΅Π» AnagramGame ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅
ΠΡΡΠΎΡΠ½ΠΈΠΊΠΈ / com.toy.anagrams.Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° / WordLibrary.
ΠΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΡΠ½Π΅Π²ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². - ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΒ», ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΡΠ½ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ)Β», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΊΠΎΡΠ½Π΅Π²ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ WordLibrary ΡΠΊΠ°Π·Π°Π½ ΠΊΠ°ΠΊ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄. ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΠ, ΡΡΠΎΠ±Ρ Π·Π°ΠΊΡΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΡΠ½ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ)Β».
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ Β«ΠΠΒ», ΡΡΠΎΠ±Ρ Π·Π°ΠΊΡΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΡΠ½ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ».
ΠΠΎΡΠ»Π΅ Π²ΡΠ±ΠΎΡΠ° ΠΊΠΎΡΠ½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΆΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ
Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠΡΠ±ΠΎΡ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ», ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄. - ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΡΠΎΡΠΈΠ»Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ»Π°ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠ»ΡΡΡΠ°.
Π€ΠΈΠ»ΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΡΡΡΡΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΡΠΈΠ»ΡΡΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΡΠ΅Π΄Π΅ IDE ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΈΠ»ΡΡΡΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΆΠ°ΡΡ ΠΠΎΠΊΠ°Π·Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠ»ΡΡΡΠ° , ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Ρ ΠΏΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠ»ΡΡΡΠ°. - ΠΠ°ΠΆΠΌΠΈΡΠ΅ Β«ΠΡΠΏΠΎΠ»Π½ΠΈΡΡΒ» Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠΡΠ±ΠΎΡ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ», ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ΅Π°Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
- ΠΡΡΡΡΠΎ.
ΠΠΎΠ³Π΄Π° Π²ΡΠ±ΡΠ°Π½ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΏΡΠΎΠ±ΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ
ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΠΆΠΈΠ²ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ.ΠΡΠ° ΠΎΠΏΡΠΈΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΆΠΈΠ²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ Π½Π΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ.
ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠ±Π΅ΡΠ΅ΡΠ΅ ΡΡΡ ΠΎΠΏΡΠΈΡ, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ΅ΠΊΠΎΠ²ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡΠΊΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ ΡΡΠ΅Π±ΡΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠΈΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ², ΡΠ΅ΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ. - ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ.
ΠΠΎΠ³Π΄Π° Π²ΡΠ±ΡΠ°Π½ ΡΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½ΠΎΠΌΠ΅ΡΠ΅,
ΡΠΈΠΏ ΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².ΠΡΠ΅ ΠΊΠ»Π°ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ ΡΠ΅Π»Π΅Π²ΠΎΠΉ JVM (ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π½ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π΅Π³ΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠΈ)
ΡΠ½Π°Π±ΠΆΠ΅Π½Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΡΡ ΠΎΠΏΡΠΈΡ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡΠΊΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π°
Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ².
ΠΡΠ° ΠΎΠΏΡΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΈΡ Π·Π°ΡΡΠ°Ρ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ΅ΠΌ ΠΎΠΏΡΠΈΡ ΠΡΡΡΡΠ°Ρ. - ΠΠ°ΠΏΠΈΡΡ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·Π° ΠΆΠΈΠ·Π½ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠΆΠΈΠ²ΡΠΈΡ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΉ.
- ΠΠ°ΠΏΠΈΡΡ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ. ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ².
ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π΄Π΅ΡΠ΅Π²ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΏΡΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ. - ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΡΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΊΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.ΠΡΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ. ΠΡΠ»ΠΈ ΡΡΠΎΡ ΡΠ»Π°ΠΆΠΎΠΊ ΡΠ½ΡΡ, Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ.
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β«Π‘ΡΠΎΠΏΒ» Π² ΠΎΠΊΠ½Π΅ Β«ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΒ», ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΠ΅Π°Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ)
ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Anagram Game. - ΠΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΡΠΎΡΠΈΠ»ΡΒ»> Β«ΠΡΠΎΡΠΈΠ»Ρ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°Β» Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ.
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΠ°ΠΌΡΡΡΒ» Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠΡΠ±ΠΎΡ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ».
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Advanced .
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π’ΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ ΡΡΠ΅ΠΊΠ° Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ . Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ΅Π°Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΡΡΠΎΠΉ ΠΎΠΏΡΠΈΠΈ ΡΡΠ΅ΡΡΠΈΠΊ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ² Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ»ΡΡ,
Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΌ. - Π‘Π½ΠΈΠΌΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ΅Π°Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ Π·Π°ΠΏΡΡΠ΅Π½.
- Π‘Π½ΠΈΠΌΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ Π·Π°ΠΏΠΈΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
- Π‘Π½ΠΈΠΌΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ (ΡΠ½ΠΈΠΌΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ).
- Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΠ΅Π°Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ.
(ΠΡΠ»ΠΈ Π²Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΡΠ΅Π°Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ²ΡΠΎΡΠΈΡΠ΅ ΡΠ°Π³ΠΈ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΎΡΠΊΡΠΎΠΉΡΠ΅
ΠΠΊΠ½ΠΎ ΠΆΠΈΠ²ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ².) - Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΡΡΡΠΎΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ java.lang.String Π²
Π ΠΎΠΊΠ½Π΅ Β«ΠΠΈΠ²ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡΒ» Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«Π‘Π΄Π΅Π»Π°ΡΡ ΡΠ½ΠΈΠΌΠΎΠΊΒ» ΠΈ Β«ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅ΠΊΠ° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΒ».ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠ»ΡΡΡ Π² ΠΎΠΊΠ½Π΅ Live Results, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Π½Π°ΠΉΡΠΈ Π»ΠΈΠ½ΠΈΡ.
IDE Π΄Π΅Π»Π°Π΅Ρ ΡΠ½ΠΈΠΌΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ½ΠΈΠΌΠΎΠΊ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅ΠΊΠ° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ.
ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅ΠΊΠ° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΡΡΠΈΡΡ Π΄Π΅ΡΠ΅Π²ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. - ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β«Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ Π² ΠΏΡΠΎΠ΅ΠΊΡΒ» Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ½ΠΈΠΌΠΊΠ° (Ctrl-S; β-S Π½Π° Mac), ΡΡΠΎΠ±Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΠ΅ ΡΠ½ΠΈΠΌΠΎΠΊ Π² ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, ΡΠ½ΠΈΠΌΠΎΠΊ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΡ ΡΠ½ΠΈΠΌΠΊΠΎΠ² Anagram Game Π² ΠΎΠΊΠ½Π΅ Profiler.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ nbproject / private / profiler Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΠΌ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅.ΡΡΡΡΠΈΠΊΡ nps.ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ½ΠΈΠΌΠΊΠΈ Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ½ΠΈΠΌΠΊΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² Π²Π°ΡΠ΅ΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΏΡΠΎΠ΅ΠΊΡ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°Π½ Π² ΠΎΠΊΠ½Π΅ ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Β«Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ Π²ΠΈΠ΄ Π² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅Β» Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ½ΠΈΠΌΠΊΠ°, ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ.
Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ (.png), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π²Π½Π΅ ΡΡΠ΅Π΄Ρ IDE. - Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ½ΠΈΠΌΠΎΠΊ, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡ Β«Π‘Π΄Π΅Π»Π°ΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠΎΠ±ΡΠ°Π½Π½ΡΡ
ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²Β» Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Β«Π’Π΅ΠΊΡΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡΒ» (ΠΈΠ»ΠΈ
ΠΈΠ»ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β«Π‘Π΄Π΅Π»Π°ΡΡ ΡΠ½ΠΈΠΌΠΎΠΊΒ» Π² ΠΎΠΊΠ½Π΅ Β«ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΒ»).Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ½ΠΈΠΌΠΎΠΊ. - Π ΠΎΠΊΠ½Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ½ΠΈΠΌΠΊΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΡΡΠΈΡΠ»ΠΈΡΡ ΡΠ°Π·Π½ΠΈΡΡΒ».
()
Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ½ΠΈΠΌΠΊΠ°.
ΠΠΈΠ±ΠΎ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΡΠΎΡΠΈΠ»ΡΒ»> Β«Π‘ΡΠ°Π²Π½ΠΈΡΡ ΡΠ½ΠΈΠΌΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈΒ» Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ. - Π ΠΎΠΊΠ½Π΅ Β«ΠΡΠ±ΡΠ°ΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡΒ» Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΎΡΠΊΡΡΡΡΡ
ΡΠ½ΠΈΠΌΠΊΠΎΠ² ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΠ.
ΠΠΎΠ³Π΄Π° ΡΠ½ΠΈΠΌΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΡΠΊΡΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ°Π²Π½ΠΈΡΡ Π΅Π³ΠΎ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌΡΠΌΠΈ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌΠΈ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ°Π²Π½ΠΈΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ Ρ Π½Π΅ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΊΡΡΡΡ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΈΠ»ΠΈ Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌΠΈ.
ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΈΠ»ΠΈ Π³Π΄Π΅-Π»ΠΈΠ±ΠΎ Π΅ΡΠ΅ Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«ΠΠΒ» ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠΊΠ½ΠΎ Β«Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ²ΡΡΠ΅ΡΡΠΈΒ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌΠΈ ΠΏΠ°ΠΌΡΡΠΈ.
- ΠΡΠ΅ΠΌΡ Π¦Π, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ ΠΏΠ°ΠΌΡΡΡ
- ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π°
- Π‘ΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ
- Π‘Π±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ°
- ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡ AppPerfect Java Profiler ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ File — & gt New .. , ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java.ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΌ. Π Π³Π»Π°Π²Π΅ Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°Β». ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΡΠ²ΠΎΠΉΡΡΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΌ. Π Π³Π»Π°Π²Π΅ Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ²ΠΎΠΉΡΡΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ°Β».
- Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΡ Β«Π¦Π΅Π»ΡΒ», ΡΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ΅Π»Π΅Π²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ / Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ΅ / Π½Π°ΡΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ° ΡΡΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π·Π°ΠΏΡΡΠΊΠ° Π΄Π»Ρ ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘Π΅ΡΠ²Π΅ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°ΡΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ J2EE, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ BEA WebLogic, IBM WebSphere, JBoss, Apache Tomcat, Oracle Server, SunOne ΠΈ Ρ. Π.ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ / Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π½Π° Π²Π°ΡΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π Π³Π»Π°Π²Π΅ Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΒ».
- ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Project — & gt Run ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌ. ΠΠ»Π°Π²Ρ Β«ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΒ».
Π±ΠΎΠ»ΡΡΠ΅ Π³Π»ΡΠ±ΠΈΠ½Ρ.Π, ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ΄Π°Π΄ΠΈΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ΅ XRebel, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π½Π°Π±ΡΠ°Π²ΡΠ΅ΠΌΡ Π±ΠΎΠ»Π΅Π΅ 3% Π³ΠΎΠ»ΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΠΏΡΠΎΡΠ° Π½Π΅ Π±ΡΠ»ΠΎ ΠΈ Π³ΠΎΠ΄Π°! ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ 5 Π½Π°ΡΠΈΡ Π»ΡΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΡΡΠΎΠ±Ρ Π²ΡΡΠ²ΠΈΡΡ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ Π»ΡΡΡΠΈΠΉ!
5.
Your Kit (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ 15,0% ΡΠ΅ΡΠΏΠΎΠ½Π΄Π΅Π½ΡΠΎΠ²)
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ YourKit — ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠ·Π½Π°Π½Π½ΡΡ Π»ΠΈΠ΄Π΅ΡΠΎΠ² ΡΡΠ΅Π΄ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° JVM.ΠΠ°ΠΊ Π·ΡΠ΅Π»ΡΠΉ ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ, YourKit ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π¦Π, ΡΠ°ΠΊ ΠΈ ΠΏΠ°ΠΌΡΡΠΈ, Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java, JDBC ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌΠΈ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΠΈΡΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΈ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΡΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ . YourKit ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ Π² ΡΠ΅ΠΆΠΈΠΌΠ°Ρ Π²ΡΠ±ΠΎΡΠΊΠΈ, ΡΠ°ΠΊ ΠΈ Π² ΡΠ΅ΠΆΠΈΠΌΠ°Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΈ ΡΠΌΠ΅ΡΠ°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π΅ΠΌΡ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·Ρ ΠΈΠ· ΠΎΠ±ΠΎΠΈΡ ΠΌΠΈΡΠΎΠ²: ΡΠΎΡΠ½ΠΎΡΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΡΠ½ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π² YourKit ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΡΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄ΠΎ ΠΊΠΎΡΠ½Π΅ΠΉ GC, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π²Π°ΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ. Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ½ΠΈΠΌΠΊΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ½ΠΈΠΌΠΊΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈ Π½Π΅Ρ Π²Π°ΡΠΊΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΌΠΎΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΊΡΡΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Ρ Π½ΡΠ»Π΅Π²ΡΠΌΠΈ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠΌΠΈ ΡΠ°ΡΡ ΠΎΠ΄Π°ΠΌΠΈ, Π°ΠΊΡΠΈΠ²ΠΈΡΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. ΠΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ YourKit ΠΈ ΡΠΎΡΠ½ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅ΡΠΏΠ΅ΡΡ.
YourKit, ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ 15% ΡΠ΅ΡΠΏΠΎΠ½Π΄Π΅Π½ΡΠΎΠ², Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅, Π½ΠΎ Π½Π΅ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΡΡΠ°Π΅Ρ, Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ — 4,2 ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
4. Java Mission Control (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ 17,1% ΡΠ΅ΡΠΏΠΎΠ½Π΄Π΅Π½ΡΠΎΠ²)
Java Mission Control — ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Java ΠΎΡ Oracle, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ JDK Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Java Π²Π΅ΡΡΠΈΠΈ 7 40. ΠΠ½ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π΄Π²Π΅ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ JMX ΠΈ Java. Π‘Π°ΠΌΠΎΠΏΠΈΡΠ΅Ρ ΠΏΠΎΠ»Π΅ΡΠ°. Java Mission Control ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΡΠ΅ΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π°Π³Π΅Π½ΡΠΎΠΌ JMX Π² JVM, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΡΠ²Π΅Ρ MBean, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΡΡΡ ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡΠΈΠΌ Π² JVM. ΠΡΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΡΡΡΠΊΠΈ. Oracle Π·Π°ΡΠ²Π»ΡΠ΅Ρ, ΡΡΠΎ ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΠΈΠΆΠ΅ 1% Π·Π°ΡΡΠ°Ρ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ.
ΠΠΎΡΡΠΎΠ²ΠΎΠΉ ΡΠ°ΠΌΠΎΠΏΠΈΡΠ΅Ρ Ρ Π΅Π³ΠΎ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΈΠ΄Π΅ΡΡ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΠΈ Π² Π²Π°ΡΠ΅ΠΉ JVM. ΠΡΠΎ Π΄Π°Π΅Ρ Π²Π°ΠΌ Π΄Π°Π½Π½ΡΠ΅, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΏΡΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. Π£Π½ΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Java Mission Control Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½Π° ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Oracle JDK. ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»Π°.ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π», ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ bin JDK ΠΈ ΠΏΡΠΎΡΡΠΎ Π²Π²Π΅Π΄ΠΈΡΠ΅ jmc
.
Π£ΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ Java Mission Control ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½ ΠΈ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Oracle JDK, ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ 17,1% ΡΠ΅ΡΠΏΠΎΠ½Π΄Π΅Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΅Π³ΠΎ. Π― ΠΎΠΆΠΈΠ΄Π°Π», ΡΡΠΎ ΡΠ°ΠΌΠ°Ρ Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ Java Mission Control, — ΡΡΠΎ ΠΎΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½Π½ΠΎΡΡΡ. ΠΠ°ΠΆΠ΅ ΡΠ΅Π³ΠΎΠ΄Π½Ρ, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠΏΡΠ°ΡΠΈΠ²Π°Ρ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»ΡΠ΄Π΅ΠΉ Π·Π½Π°ΡΡ ΠΎΠ± ΡΡΠΎΠΌ, ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΠΊΠΎΠΌΠ½Π°ΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½Ρ-Π·Π°Π»Π΅ ΠΏΠΎΠ΄Π½ΠΈΠΌΡΡ ΡΡΠΊΠΈ Π²Π²Π΅ΡΡ . ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠΎΠΊΠ°Π·Π°Π» Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π² ΠΎΠΏΡΠΎΡΠ΅, ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ² Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ 5 ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ Π½Π° Π²ΡΠΏΡΡΠΊ.
3. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ 20,6% ΡΠ΅ΡΠΏΠΎΠ½Π΄Π΅Π½ΡΠΎΠ²)
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Ρ Π² ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°Ρ . Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ²Π΅ΡΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ Π²Π°ΡΠ΅Π³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ, ΡΡΠΎΠ±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Ρ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π²ΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Java ΠΏΠΎΡΡΠ°ΡΠΈΠ»ΠΈ Π³ΠΎΠ΄Ρ Π½Π° ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎΠ΅ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅. Π§Π°ΡΡΠΎ ΡΡΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π° ΡΡΠ΅Π½Π°ΡΠΈΡΡ , Π° Π½Π΅ Π½Π° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, Π½ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΡΡΠΉ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ.
2. JProfiler (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ 25,7% ΡΠ΅ΡΠΏΠΎΠ½Π΄Π΅Π½ΡΠΎΠ²)
JProfiler — ΡΡΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Java Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java SE ΠΈ Java EE Ρ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ IDE, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· ΡΠΎΠ±ΡΠ°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ. ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Π»ΡΠ±ΡΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ, ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π¦Π — ΡΡΠΎ, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, ΡΠ°ΠΌΠ°Ρ Π²Π°ΠΆΠ½Π°Ρ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ Π²Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡ JProfiler. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, JProfiler ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ², Π³Π΄Π΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ²Π΅ΡΠ½ΡΠΌΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠ²ΡΠ·Ρ ΠΎ ΡΠΎΠΌ, Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ΡΠ΅ΠΏΠΎΡΠΊΠ°Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΠΎΠΈΡΠΊ ΡΠ·ΠΊΠΈΡ ΠΌΠ΅ΡΡ.ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ JProfiler ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΡΠ½ΠΈΠ·ΠΈΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠ½ΠΈΠΌΠΊΠΈ ΠΊΡΡΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ HPROF.
ΠΠ· Π½Π°ΡΠ΅Π³ΠΎ ΠΎΠΏΡΠΎΡΠ° ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ JProfiler ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠ΅ΡΠ²Π΅ΡΡΡΠΌ ΡΠ΅ΡΠΏΠΎΠ½Π΄Π΅Π½ΡΠΎΠΌ ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠΎΡΡΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java. ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΠΌΠΎΡΡΠΈΠΌ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π² Π²ΡΠΏΡΡΠΊΠ΅. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΎΠ½ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π²ΡΠΎΡΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π² ΡΡΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ.
ΠΡΠ»ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ JProfiler ΠΈ Yourkit, ΡΠΎ JProfiler — Π±ΠΎΠ»Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ. ΠΠΎ ΠΏΡΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ JProfiler ΠΈ VisualVM, VisualVM — Π±ΠΎΠ»Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ.
1. VisualVM (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ 46,5% ΡΠ΅ΡΠΏΠΎΠ½Π΄Π΅Π½ΡΠΎΠ²)
JVisualVM — ΡΡΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ Java, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ JDK, ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²Π°ΡΠ΅ΠΌ ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° Java Π² ΠΊΡΠ°ΡΠΈΠ²ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅. ΠΠΎΠΌΠΈΠΌΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, ΠΎΠ½ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΈ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π΄Π°ΠΌΠΏΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈ Π΄Π°ΠΌΠΏΡ ΠΊΡΡΠΈ, ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠ±ΠΈΡΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ JVM.
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π½Π΅Π΄ΠΎΠΎΡΠ΅Π½Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° MXBeans, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ»ΠΎΠ² ΠΏΠΎΡΠΎΠΊΠΎΠ², ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΡΠ»ΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ°ΡΡΠΎΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ° ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠ°ΠΌΡΡΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π°Π½Π°Π»ΠΈΠ· Π΄Π°ΠΌΠΏΠ° ΠΊΡΡΠΈ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° JVM. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, VisualVM ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.Π£ΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ ΠΎΠ½ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² Π²Π°Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² JDK ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅, ΡΡΠΎ Π±Π΅ΡΡΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ! ΠΠ΅ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ ΠΏΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΅Π³ΠΎ Π»ΠΈΠ±ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π»ΠΈΠ±ΠΎ Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°ΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ VisualVM ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠΏΠ½ΡΡΡ Π³Π»ΡΠ±ΠΆΠ΅ Ρ ΡΠ΅ΠΌ-ΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΡΠΆΠ΅Π»ΡΠΌ.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ VisualVM Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΊΠ°Π·Π°Π»ΡΡ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ ΡΡΠ΅Π΄ΠΈ Π½Π°ΡΠΈΡ ΡΠ΅ΡΠΏΠΎΠ½Π΄Π΅Π½ΡΠΎΠ², ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠ΅ Π±ΠΎΡΠΎΠ»ΡΡ Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΡΡ ΠΈΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΡΠΎ ΠΎΠΊΠ°Π·Π°Π»ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ, ΠΏΠΎ ΡΠ»ΠΎΠ²Π°ΠΌ ΡΠ΅ΡΠΏΠΎΠ½Π΄Π΅Π½ΡΠΎΠ², ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ» Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΈΡ ΡΡΠ΅Π΄Π΅. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠΆΠΈΠ΄Π°Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°ΠΌ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΡΠ°ΠΊΠΎΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΅ΡΡΡ.
XRebel — ΠΏΠΎΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅! (ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅Ρ)
ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ XRebel Π±ΡΠ» Π²ΡΠ΅Π³ΠΎ Π³ΠΎΠ΄, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΏΡΠ΅Π²ΡΡΠΈΠ» 3% Π² Π½Π°ΡΠ΅ΠΌ ΠΎΠΏΡΠΎΡΠ΅, ΠΎ, ΠΈ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ Π±ΡΠ» Π²ΡΠΎΡΠΎΠΉ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΎΡΠΈΠ±ΠΎΠΊ , ΠΎ, ΠΈ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π΅Π³ΠΎ , ΠΌΡ Π΄Π°Π΄ΠΈΠΌ XRebel ΠΈ ΠΏΠΎΡΠ΅ΡΠ½ΡΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΡ!
XRebel — ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Java, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.ΠΡΠΎ java-Π°Π³Π΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΡΠ΅Ρ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Java ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π½Π΅Π΄ΡΡΠ΅Ρ ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΎΡΡΠ΅ΡΠΎΠ², ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΈΠ΄ΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ JXL ΠΈ jconsole XRebel ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ°ΠΌΡΠ΅ Π½Π΅ΠΏΡΠΈΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ, Π΄Π°ΠΆΠ΅ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΊΠΎΠ΄ Π² ΡΠ±ΠΎΡΠΊΡ.
XRebel ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΈ ΠΊΡΠ°ΡΠΈΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ΠΌΡ, ΠΏΠΎΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°, Ρ ΡΠ°Π·Π±ΠΈΠ²ΠΊΠΎΠΉ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².ΠΡΠ° ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΊΠ°ΠΊ ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ°ΠΊ ΠΈ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅Π»Π°Π΅Ρ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²Π»ΠΈΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ. ΠΠΎΠΊΠ°Π·ΡΠ²Π°Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π΅, ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΡΡΡ Ρ Π²Π°ΡΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, XRebel ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΡΠ½ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΠ±ΡΠΈΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² HTTP ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΈ Π·Π°ΠΏΡΠΎΡΡ ΠΊ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ Π²Π΅Π±-ΡΠ»ΡΠΆΠ±Π°ΠΌ.ΠΠΎΡΡΡΠΏ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈ HTTP-Π²ΡΠ·ΠΎΠ²Ρ ΡΠ²Π»ΡΡΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌΠΈ Π½ΠΈΠ·ΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΈ XRebel ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π½ΠΈΡ . ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ.
XRebel Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , Π»Π΅Π³ΠΊΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ N + 1, ΠΏΠΎΠΊΠ° Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅. ΠΠ½ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π·Π°Π±ΠΈΠ²Π°ΡΡ ΠΏΠ°ΠΌΡΡΡ Π² HTTP-ΡΠ΅Π°Π½ΡΠ΅, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠ΅ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΡΠΎ Π΅ΡΡΡ ΡΠΊΡΡΡΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅! Π₯ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ XRebel Π»ΡΡΡΠΈΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ Java? ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡ Π½ΠΈΠΆΠ΅.
ΠΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ XRebel Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ
ΠΠ°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΡΡΠ»ΠΈ
ΠΡΠΎ Π±ΡΠ» Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π΄Π»ΠΈΠ½Π½ΡΠΉ ΠΏΠΎΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ΅Π·ΡΠΌΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΡ .
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎΡ ΠΏΠΎΡΡ Π±ΡΠ» Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π΅Π½! ΠΡΠ»ΠΈ Π²Ρ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Java, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΠΏΠΎΠ»Π½ΡΠΌ ΠΎΡΡΠ΅ΡΠΎΠΌ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΡΡΠ»ΠΎΠΊ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²ΡΡΠ΅. Π― ΡΠΎΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° Π½Π΅Π³ΠΎ Π·Π΄Π΅ΡΡ, ΡΡΠΎΠ±Ρ Ρ Π²Π°Ρ Π½Π΅ Π±ΡΠ»ΠΎ ΠΎΠΏΡΠ°Π²Π΄Π°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π΅Π³ΠΎ! Π― Ρ ΠΎΡΠ΅Π» Π±Ρ ΡΡΠ»ΡΡΠ°ΡΡ Π²Π°ΡΠΈ ΠΌΡΡΠ»ΠΈ, ΡΠ°ΠΊ ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π΅ ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π½ΠΈΠΆΠ΅ ΡΠ²ΠΎΠΉ Π»ΡΠ±ΠΈΠΌΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ, ΠΏΠΎ Π²Π°ΡΠ΅ΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ, Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΡΡΠ΅Π΄Ρ, ΠΈΠ»ΠΈ Π½Π΅ Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π½Π°ΠΌ Π² Twitter ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ @JRebel_Java.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ
Π₯ΠΎΡΠΈΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π»ΡΡΡΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java Π² 2020 Π³ΠΎΠ΄Ρ? Π ΡΡΠΎΠΌ Π²Π΅Π±-ΡΠ΅ΠΌΠΈΠ½Π°ΡΠ΅ ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π½Π°ΡΠ΅Π³ΠΎ Π΅ΠΆΠ΅Π³ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΠΎΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Java Ρ ΡΠΊΡΠΏΠ΅ΡΡΠ½ΡΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ ΠΎΡ JRebel ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°ΠΌ XRebel ΠΠ΅ΡΡΠΈΡΠ° ΠΠΆΠΎΠ½ΡΠΎΠ½Π°.
ΠΡΠ΅ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌ Java? ΠΡΠΈ ΡΠ΅ΡΡΡΡΡ Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ.
ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ Ρ JRebel
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ JRebel Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠΉ 10-Π΄Π½Π΅Π²Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ, ΡΠ°ΡΡΡΠΈΡΠ°Π² ΡΠ½Π°ΡΠ°Π»Π° ΡΠ΅Π½ΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΈΠΉ.
ΠΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΠΠ°ΠΉΡΠΈ ΡΠ΅Π½ΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΈΠΉ
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Java — ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ DZone
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π»ΡΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ, ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Java. ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Java ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ JVM Π½Π° ΡΡΠΎΠ²Π½Π΅ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΡΡΠΈ, ΡΠ±ΠΎΡΠΊΠ΅ ΠΌΡΡΠΎΡΠ°, Π³ΠΎΡΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ , ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΡ , Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΌ.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Java
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ
ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ JVM Π»ΠΈΠ±ΠΎ ΠΏΡΡΠ΅ΠΌ ΠΏΠ°ΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΎΡ JVM, Π»ΠΈΠ±ΠΎ ΠΏΡΡΠ΅ΠΌ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ JVM.ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ ΠΊΠ»Π°ΡΡΠΎΠ² Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΡΠ°Π²Π»ΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ methodEntered
ΠΈ methodExit
Π² Π½Π°ΡΠ°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠ»ΠΈ Π²ΡΡΠ°Π²Π»ΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ objectCreated
Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ.
JVM Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΈ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° Π΄Π²Π° ΡΠΈΠΏΠ°: ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΈ ΡΠΎΠ±ΡΡΠΈΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ — ΡΡΠΎ ΡΠ°Π·ΠΎΠ²ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠΌΠ΅ΡΠΊΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠΎΠ±ΡΡΠΈΠΈ. ΠΡΠΈΠΌΠ΅ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΡΠΎΠ±ΡΡΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΡΠΎΠ±ΡΡΠΈΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².ΠΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ°ΡΡ Π½Π°ΠΌ, ΡΡΠΎ ΡΡΠΎ-ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ, Π½Π° ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ. Π‘ΠΎΠ±ΡΡΠΈΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠΌΠ΅ΡΡ Π²ΡΠ΅ΠΌΡ Π½Π°ΡΠ°Π»Π° ΠΈ Π²ΡΠ΅ΠΌΡ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ. ΠΡΠΈΠΌΠ΅ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ±ΠΎΡΠΊΡ ΠΌΡΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Π²Π°ΠΌ Π²ΡΠ΅ΠΌΡ Π½Π°ΡΠ°Π»Π° ΠΈ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ°, ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ ΠΏΠΎΡΠΎΠΊ ΠΆΠ΄Π°Π» Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ΅, ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ ΠΏΠΎΡΠΎΠΊ ΠΆΠ΄Π°Π» ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ. .
Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠΎΠ±ΡΡΠΈΡΠΌ JVM ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π΅Π΅ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ.ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ GetThreadState
ΠΈ GetAllThreads
, ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅ΠΊΠ°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ GetStackTrace
ΠΈ GetAllStackTraces
. ΠΡΠΈ Π΄Π°Π½Π½ΡΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅, ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΌ ΠΊΠ°ΠΊ Π²ΡΠ±ΠΎΡΠΊΠ°, Π° ΠΏΠ΅ΡΠΈΠΎΠ΄ Π²ΡΠ±ΠΎΡΠΊΠΈ — ΡΡΠΎ ΡΠΎ, ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΆΠ΄ΡΠ΅ 20 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄.
ΠΠ½Π°Π»ΠΈΠ· ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² Java
ΠΡΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠ΄ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌΠΈ ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ°ΠΌΠΈ.Π Π½ΠΈΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π¦Π, ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ². Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ , Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²Π°ΠΆΠ½ΡΠΌ, Π½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΌ 3.
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π¦Π Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ°ΡΡΠΎΡΠΎΠΉ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π¦Π Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΈ ΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ Β«Π³ΠΎΡΡΡΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈΒ».»ΠΡΠΎ Π΄Π°Π΅Ρ Π²Π°ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, Π½Π° ΠΊΠ°ΠΊΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ ΠΈΠ»ΠΈ ΠΎΠ±Π»Π°ΡΡΡΡ ΠΊΠΎΠ΄Π° Π²Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Π¦Π ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ; ΠΏΡΡΠ΅ΠΌ ΠΎΡΠ±ΠΎΡΠ° ΠΏΡΠΎΠ± ΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΈΠ±ΠΎΡΠΎΠ².
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ Π²ΡΠ±ΠΎΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Ρ JVM Π΄Π»Ρ Π²ΡΠ΅Ρ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ» ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΡΠΎΠΊ, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ» Π²Π·ΡΡ ΠΎΠ±ΡΠ°Π·Π΅Ρ, ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ°Π·ΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π±ΡΠ»ΠΎ ΠΏΠΎΡΡΠ°ΡΠ΅Π½ΠΎ Π½Π° ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄.ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ±ΠΎΡΠΊΠΈ ΠΈΠΌΠ΅Π΅Ρ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠ΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ ΠΊΠΎΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΎΡΠ½ΡΠΌ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΠΎΡΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΠ±ΠΎΡΠΊΡ. Π§ΡΠΎΠ±Ρ ΡΠ²Π΅ΡΡΠΈ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΡΠ±ΠΎΡΠΊΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π° Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ±ΠΎΡΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΈ ΡΠΎ, ΠΈ Π΄ΡΡΠ³ΠΎΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ±ΠΎΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ² Π½Π° JVM, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡΠΈ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ ΠΈ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠΌΠΈ ΡΠ°ΡΡ ΠΎΠ΄Π°ΠΌΠΈ.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΡΡΠ°Π²ΠΊΠΈ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΡΠΌΠΈ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΡΠΌΠΈ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π» Π΄Π»Ρ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎ Π΄Π²ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ. ΠΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠ΄ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ, Π° Π΄ΡΡΠ³ΠΎΠΉ — ΡΡΠΎ; Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Ρ ΠΊ Π½Π΅ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ, Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Ρ ΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΏΠ°ΠΌΡΡΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΌΡΡΠΎΡΠ°. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ·Π½Π°Π²Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΠΈ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡΡΡ Π² ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ , ΠΈ Π³Π΄Π΅ Π² Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΡΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ±ΠΎΡΠΊΡ ΠΌΡΡΠΎΡΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈ ΡΠΈΠΏΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΠ±ΠΎΡΠΎΠΊ ΠΌΡΡΠΎΡΠ°, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΠ°ΡΠ·Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ° ΠΈ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ΠΈ ΡΠΌΠΎΠ³Π»ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ.
Π’ΡΠ΅ΡΡΠΈΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ². ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΡ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΏΠΎΡΠΎΠΊΠΈ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΌΠΎΠ³ΡΡ Π»ΠΈ Π²Π°ΡΠΈ ΠΏΠΎΡΠΎΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ, ΡΠ·Π½Π°ΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²Π°ΡΠΈ ΠΏΠΎΡΠΎΠΊΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΡΡ Π² ΡΠΏΡΡΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ, Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ΅ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»ΡΡΠ°ΠΈ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ. ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ, Π½ΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π¦Π Π½ΠΈΠ·ΠΊΠΎΠ΅.Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ½ΠΈΠΆΠ΅Π½Π° ΠΈΠ·-Π·Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π² ΡΡΠΎΠΌ Π²ΡΡΡΠ½ΠΈΡΡ.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² Java. Π‘ΠΊΡΠΈΠ½ΡΠΎΡΡ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π²Π·ΡΡΡ ΠΈΠ· Java Flight Recorder, ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Java, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΈ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ Oracle. Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Java Flight Recorder, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠΎ Π²ΠΈΠ΄Π΅ΠΎ Π½Π° Youtube ΠΎΡ Oracle.
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΡ Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Spring, ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΡΡΡΡΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π΄Π΅Π»Π°Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΠΌΠΎΠΈΠΌ ΠΊΡΡΡΠΎΠΌ Pluralsight: ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Java.Π Π½Π΅ΠΌ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎΠ± ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ ΠΈ ββΠΌΠ΅ΡΠΎΠ΄Π°Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ Java, ΡΠ°Π·Π΄Π΅Π»Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ JVM, ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Java ΠΈ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java Π² IDE NetBeans
NetBeans IDE Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π²Π°ΠΆΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΡΠ΅Π΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π‘ΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ NetBeans ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π¦Π ΠΈ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π²Π°ΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ· ΡΡΠ΅Π΄Ρ IDE ΠΈ ΡΠΎΠΏΡΡΠΆΠ΅Π½ΠΎ Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΠΈΠ·ΠΊΠΈΠΌΠΈ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠΌΠΈ ΡΠ°ΡΡ
ΠΎΠ΄Π°ΠΌΠΈ.
ΠΡΠΎΡ Π²Π²ΠΎΠ΄Π½ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ±Π·ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ
Π² IDE, ΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π±ΡΡΡΡΠΎ Π½Π°ΡΠ°ΡΡ
ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π°ΡΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² NetBeans.
ΠΡΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
Π·Π°Π΄Π°Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
Π² ΡΡΠ΅Π΄Π΅ IDE, ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ, ΠΊΠΎΠ³Π΄Π°
ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ½ Π½Π΅ ΠΎΡ
Π²Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π² IDE, ΠΈ Π½Π΅ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅Ρ, ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ.
Ρ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
Π ΡΡΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Anagram Game,
ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Java, Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π² IDE.
Π₯ΠΎΡΡ Anagram Game — ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Java, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ
ΡΠ°Π³ΠΈ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΡΠΏΠ½ΡΡ
ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π ΡΡΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ IDE Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΡΡΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΡΠ½ΠΈΠΌΠΊΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ
ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
Π ΡΡΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΠΏΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡ :
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠΎΠΊΠ° Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅:
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ.
ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅Π΄Π΅ IDE Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ
ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠ½ΡΡ
ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»Ρ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π² ΠΏΡΠΎΠ΅ΠΊΡ.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ, Π²Ρ ΡΠ½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ AnagramGame, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²ΠΊΡ.
IDE Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° AnagramGame.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π ΡΡΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ Π²Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΡΠ΅ΡΠ΅ ΠΎΠ±ΡΠ°Π·Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Anagram Game.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Ρ ΡΠ½Π°ΡΠ°Π»Π° Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ ΠΌΠ°ΡΡΠ΅ΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ°Π·Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ.
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Anagram Game, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΠΈΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Anagram Game Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ ΠΆΠΈΡΠ½ΡΠΌ ΡΡΠΈΡΡΠΎΠΌ Π² ΠΎΠΊΠ½Π΅ Β«ΠΡΠΎΠ΅ΠΊΡΡΒ».ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ IDE Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, IDE ΠΏΡΠΎΡΠΈΠ»ΠΈΡΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΡΠ»ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π΅ Π²ΡΠ±ΡΠ°Π½ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΠ΅ΠΊΡ, IDE ΠΏΡΠΎΡΠΈΠ»ΠΈΡΡΠ΅Ρ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
Π² ΠΎΠΊΠ½Π΅ «ΠΡΠΎΠ΅ΠΊΡΡ».
ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°
ΠΠ»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠ½ΡΡ
ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΈΠ»ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²ΠΊΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java,
IDE ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ Π²Π°ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
ΠΠ°Π»ΠΈΠ±ΡΠΎΠ²ΠΊΡ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π²Π½Π΅ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΌΠ°ΡΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΌΠ°ΡΠΈΠ½Ρ,
Π²Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ½ΠΎΠ²Π° Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²ΠΊΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²ΠΊΡ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ.
ΠΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²ΠΊΠΈ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΆΠ°ΡΡ Β«ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈΒ», ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°Ρ
ΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²ΠΊΠΈ.
ΠΠ°Π½Π½ΡΠ΅ ΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ .nbprofile Π² Π²Π°ΡΠ΅ΠΌ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ IDE NetBeans 7.4 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ,
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Advanced Commands > Run Profiler Calibration ΠΈΠ· ΠΌΠ΅Π½Ρ Profile
ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠΡΠ±ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java Π΄Π»Ρ ΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²ΠΊΠΈΒ».
ΠΡΠ±ΠΎΡ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
IDE ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ΄ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
Π½Π°ΡΡΡΠΎΠ΅ΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ
Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π²Π°ΡΠΈΠΌΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ
ΠΎΠ΄Ρ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π° ΡΡΠ΅Ρ
Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΡΡΡ
Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
Π½Π°ΡΡΡΠΎΠ΅ΠΊ.
ΠΠ»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠΈΡΡΠ°ΡΠΈΠΉ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π·Π°Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ Π·Π°Π΄Π°Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«ΠΡΠ±ΠΎΡ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ», ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ Π·Π°Π΄Π°ΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠΈΠΏΠΎΠΌ
ΠΏΡΠΎΡΠΈΠ»ΠΈΡΡΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π·Π°Π΄Π°ΡΠΈ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ° | ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ ΡΠ΅Π»Π΅Π²ΠΎΠΉ JVM, Π²ΠΊΠ»ΡΡΠ°Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ. |
ΠΠ½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π¦Π | ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π°. |
ΠΠ½Π°Π»ΠΈΠ· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ | ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΌΡΡΠΎΡΠ°. |
ΠΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«ΠΡΠ±ΠΎΡ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ» ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.ΠΠΎΡΠ»Π΅ Π²ΡΠ±ΠΎΡΠ° Π·Π°Π΄Π°ΡΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΅Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΡΡ
ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ².
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π·Π°Π΄Π°Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π·Π°Π΄Π°ΡΠΈ.
ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ Π·Π°Π΄Π°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠ°Ρ Π·Π°Π΄Π°ΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠΡΠ±ΠΎΡ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ».
ΡΠ°ΠΊ ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡΠΈ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎΠ·ΠΆΠ΅.
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΡΠ΅Π»ΠΊΠ½ΡΠ² ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠΡΠ±ΠΎΡ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ».
ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠΎΠ³Π΄Π° Π²Ρ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΠ΅ Π·Π°Π΄Π°ΡΡ Β«ΠΠΎΠ½ΠΈΡΠΎΡΒ», ΡΠ΅Π»Π΅Π²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΡΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π²Π°ΠΆΠ½ΡΡ
ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ
ΡΠ΅Π»Π΅Π²ΠΎΠΉ JVM.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»ΡΡ
Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ
ΡΠ°ΡΡ
ΠΎΠ΄ΠΎΠ², Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΡΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΎΠ² Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
Π§ΡΠΎΠ±Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Anagram Game, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«ΠΡΠΏΠΎΠ»Π½ΠΈΡΡΒ» ΡΡΠ΅Π΄Π° IDE Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈ Π½Π° Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΡΠ΅Π΄Ρ IDE ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠΊΠ½ΠΎ Β«ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΒ».
ΠΠΊΠ½ΠΎ Profiler ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π°ΠΌ Π΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΠΎΠΊΠ½Π΅ Profiler ΠΈΠ»ΠΈ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ ΠΎΠΊΠ½Π°, Π² ΠΊΠΎΡΠΎΡΡΡ
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°.ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΊΠ½ΠΎ Β«ΠΠ±Π·ΠΎΡ ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΠΈΒ», ΡΡΠΎΠ±Ρ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±Π·ΠΎΡ Π΄Π°Π½Π½ΡΡ
ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡΠ»ΠΈ Π½Π°Π²Π΅ΡΡΠΈ ΠΊΡΡΡΠΎΡ Π½Π° Π³ΡΠ°ΡΠΈΠΊ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ Π΄Π°Π½Π½ΡΡ
, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ
Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ΅.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½ΡΡΡ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· Π³ΡΠ°ΡΠΈΠΊΠΎΠ² Π² ΠΎΠΊΠ½Π΅ Β«ΠΠ±Π·ΠΎΡ ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΠΈΒ», ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΡΠΏΠ½ΡΠΉ ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ
Π²Π΅ΡΡΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠ°.
ΠΡΠ»ΠΈ ΠΎΠ±Π·ΠΎΡ Π½Π΅ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ Window> Profiling> VM Telemetry Overview, ΡΡΠΎΠ±Ρ
ΠΎΡΠΊΡΡΡΡ ΠΎΠ±Π·ΠΎΡ Π² ΠΎΠΊΠ½Π΅ Π²ΡΠ²ΠΎΠ΄Π°.ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΡΡΡΡ ΠΎΠΊΠ½ΠΎ ΠΠ±Π·ΠΎΡ ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ΅Π°Π½ΡΠ° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ½Π°Π»ΠΈΠ· ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°
ΠΠΎΠ³Π΄Π° Π²Ρ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΠ΅ Π·Π°Π΄Π°ΡΡ Π¦Π, IDE ΠΏΡΠΎΡΠΈΠ»ΠΈΡΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π¦Π Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° (Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ) Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ ΡΡΠ΅ΠΊΠ°.
ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΅Π³ΠΎ
ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ΄Π°.
ΠΠ»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π¦Π Π²Ρ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΠ΅ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
Π²ΡΠ±ΡΠ°Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ².
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
Π Π΅ΠΆΠΈΠΌ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΈΠ»Ρ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² IDE NetBeans 7.0 ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΡ
Π²Π΅ΡΡΠΈΡΡ
.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ
application ΠΈΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΊΠ°Π·Π°Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΡΠ½Π΅Π²ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠ»ΡΡΡ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ
ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ½Π°ΡΠ΅Π½Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ΅Π΄Ρ IDE Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π¦Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Anagram Game.
ΠΡ Π²ΡΠ±Π΅ΡΠ΅ΡΠ΅ ΠΎΠΏΡΠΈΡ Β«Π§Π°ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΒ», Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ WordLibrary.java Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΡΠ½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠ±ΠΈΡΠ°Ρ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΡΠ½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«ΠΡΠΏΠΎΠ»Π½ΠΈΡΡΒ» ΡΡΠ΅Π΄Π° IDE Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΅Π°Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Β«Π’Π΅ΠΊΡΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡΒ» Π² ΠΎΠΊΠ½Π΅ Β«ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΒ», ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ ΠΎΠΊΠ½ΠΎ Β«Π’Π΅ΠΊΡΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡΒ».
Π ΠΎΠΊΠ½Π΅ Β«ΠΠΈΠ²ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡΒ» ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΠ±ΡΠ°Π½Π½ΡΠ΅ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄.ΠΡΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π² ΠΎΠΊΠ½Π΅ Live Results ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΏΠΎΡΡΠ°ΡΠ΅Π½ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Anagram Game ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΠΊΠΎΡΠ½Π΅Π²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΌΡ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΠ΅Π»ΠΊΠ½ΡΠ² ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ
ΠΈΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈ Π²ΡΠ±ΠΎΡ Β«ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΡΒ». ΠΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΡΠ΅ Β«ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ΅ΠΊΡΡΡΒ», ΠΊΠ»Π°ΡΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠ½Π°Π»ΠΈΠ· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ
ΠΠ°Π΄Π°ΡΠ° Β«ΠΠ½Π°Π»ΠΈΠ· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈΒ» ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ
, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Ρ Π² ΡΠ΅Π»Π΅Π²ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΈΡΠ»ΠΎ,
ΡΠΈΠΏ ΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ, Π²Ρ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΠ΅, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π°Π½Π½ΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ, Π²ΡΠ±ΡΠ°Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ².
ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΠ΅ ΠΎΠΏΡΠΈΡ Advanced, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ.
Π‘ΡΠ΅ΡΡΠΈΠΊ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ
ΡΠ°ΡΡ
ΠΎΠ΄ΠΎΠ² Π² ΠΎΠΊΠ½Π΅ Β«ΠΡΠ±ΠΎΡ Π·Π°Π΄Π°Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ» Π΄Π°Π΅Ρ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΡΠ΅Π½ΠΊΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ
Π² Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ
ΡΠ°ΡΡ
ΠΎΠ΄Π°Ρ
ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΌΠΈ Π²Π°ΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π ΡΡΠΎΠΌ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ΅Π΄Ρ IDE Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Anagram Game.
ΠΡ Π²ΡΠ±Π΅ΡΠ΅ΡΠ΅ ΠΎΠΏΡΠΈΡ Advanced ΠΈ
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ ΡΡΠ΅ΠΊΠ° Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ , ΡΡΠΎΠ±Ρ ΡΡΠ΅Π΄Π° IDE Π·Π°ΠΏΠΈΡΡΠ²Π°Π»Π° ΠΏΠΎΠ»Π½ΡΠΉ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ².ΠΡΠ±ΡΠ°Π² ΡΡΡ ΠΎΠΏΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ ΡΠ½ΠΈΠΌΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π΄Π΅ΡΠ΅Π²ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ².
ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«ΠΡΠΏΠΎΠ»Π½ΠΈΡΡΒ» ΡΡΠ΅Π΄Π° IDE Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΅Π°Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Β«Π’Π΅ΠΊΡΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡΒ» Π² ΠΎΠΊΠ½Π΅ Β«ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΒ», ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ ΠΎΠΊΠ½ΠΎ Β«Π’Π΅ΠΊΡΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡΒ».ΠΠΊΠ½ΠΎ Live Results ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠΎΡΡΠΈΡΡΡΡΡΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ Π°ΠΊΡΠΈΠ²Π½ΡΡ
Π±Π°ΠΉΡΠΎΠ², Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π»ΠΊΠ½ΡΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΡΠΎΠ»Π±ΡΠ°, ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΏΠΎΡΠΎΠ±
ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, Π²Π²Π΅Π΄Ρ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° Π² ΠΏΠΎΠ»Π΅ ΡΠΈΠ»ΡΡΡΠ° ΠΏΠΎΠ΄ ΡΠΏΠΈΡΠΊΠΎΠΌ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ½ΠΈΠΌΠΊΠΎΠ²
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅Π°Π½ΡΠ° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π² ΡΠ½ΠΈΠΌΠΎΠΊ.ΠΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΡΠ½ΠΈΠΌΠΎΠΊ.
ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄Π»Ρ ΠΎΡΠΊΡΡΡΠΈΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ
ΡΠ½ΠΈΠΌΠΊΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ΅Π°Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΡΡΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
Π²ΡΠ±ΡΠ°Π² ΡΠ½ΠΈΠΌΠΎΠΊ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΠΎΡ
ΡΠ°Π½Π΅Π½Π½ΡΡ
ΡΠ½ΠΈΠΌΠΊΠΎΠ² Π² ΠΎΠΊΠ½Π΅ Β«ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΒ» ΠΈ Π½Π°ΠΆΠ°Π² Β«ΠΡΠΊΡΡΡΡΒ».
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ½ΠΈΠΌΠΊΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ
ΠΠ»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Anagram Game Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ², ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ ΡΡΠ΅ΠΊΠ° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π»Ρ
ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΈΠΏΠ° String. ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ½ΠΈΠΌΠΎΠΊ ΠΈ ΡΡΠ°Π²Π½ΠΈΡΡ ΠΈΡ
.
Π‘ΡΠ°Π²Π½ΠΈΠ²Π°Ρ ΡΠ½ΠΈΠΌΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π±ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ ΠΈΠ»ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½Ρ ΠΈΠ· ΠΊΡΡΠΈ Π·Π° ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π΄Π²Π° ΡΠ½ΠΈΠΌΠΊΠ°.
Π‘Π½ΠΈΠΌΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌΡ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠΈΠΏ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,g., Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΆΠΈΠ²ΡΡΠ΅ΡΡΡΡ)
ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ.
Π ΡΡΠΎΠΌ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠΈ Π²Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ ΡΠ½ΠΈΠΌΠΎΠΊ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ Π΅Π³ΠΎ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ Π²ΡΠΎΡΠΎΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ ΠΈ ΡΡΠ°Π²Π½ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ Ρ ΡΠΎΡ
ΡΠ°Π½Π΅Π½Π½ΡΠΌ ΡΠ½ΠΈΠΌΠΊΠΎΠΌ.
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ½ΠΈΠΌΠΊΠΎΠ² ΠΏΠΎΡ
ΠΎΠΆΠ΅ Π½Π° ΡΠ½ΠΈΠΌΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ, Π½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌΡΠΌΠΈ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌΠΈ.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠΈΡΠ»Π° Π² ΡΡΠΎΠ»Π±ΡΠ°Ρ
, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ Π·Π½Π°ΠΊ ΠΏΠ»ΡΡΠ° (+) ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ»ΠΎΡΡ.
Π° Π·Π½Π°ΠΊ ΠΌΠΈΠ½ΡΡ (-) ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΌΠ΅Π½ΡΡΠΈΠ»ΠΎΡΡ.Π ΡΡΠΎΠ»Π±ΡΠ΅ Live Bytes Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠΎΠ»ΠΎΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ°Π·Π½ΠΈΡΡ Π² Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ
Π±Π°ΠΉΡΠ°Ρ
.
ΠΡΠ»ΠΈ Π»Π΅Π²Π°Ρ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΡΡΠ΅ΠΉΠΊΠΈ Π² ΡΡΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ Π·Π΅Π»Π΅Π½Π°Ρ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ
Π±Π°ΠΉΡΠΎΠ² Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΌΠ΅Π½ΡΡΠ΅, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½ Π²ΡΠΎΡΠΎΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ.
ΡΠ΅ΠΌ ΡΡΠΎ Π±ΡΠ»ΠΎ, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ» Π²Π·ΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ.
ΠΡΠ»ΠΈ ΠΏΡΠ°Π²Π°Ρ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΡΡΠ΅ΠΉΠΊΠΈ ΠΊΡΠ°ΡΠ½Π°Ρ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ
Π±Π°ΠΉΡΠΎΠ² Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ½ΠΈΠΌΠΊΠ΅ Π²ΡΡΠ΅, ΡΠ΅ΠΌ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΠΊΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Β«Π‘Π΄Π΅Π»Π°ΡΡ ΡΠ½ΠΈΠΌΠΎΠΊΒ», ΡΡΠΎΠ±Ρ
ΡΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ½ΠΈΠΌΠΊΠΎΠ². ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ ΡΠ½ΠΈΠΌΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΡΠ΅ΠΊ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΌ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΡΠ΅ΠΊ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² IDE NetBeans.
Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅
ΠΠ° ΡΡΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ IDE NetBeans.
Π ΡΡΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΎΡΠ½ΠΎΠ²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ IDE Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ
NetBeans ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.Π¨Π°Π³ΠΈ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²ΡΡΠ΅, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Ρ
ΠΏΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π° Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΡΠΌΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅.
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
ΠΈ ΡΡΠ½ΠΊΡΠΈΡΡ
ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ
Π² ΡΡΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅,
ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ Π² ΠΏΡΠΎΠ΄ΡΠΊΡ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π² ΠΏΡΠ½ΠΊΡΠ΅ ΠΌΠ΅Π½Ρ Β«Π‘ΠΏΡΠ°Π²ΠΊΠ°Β».
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ΅ΡΡΡΡΠ°Ρ :
Π²Π΅ΡΡ
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java — AppPerfect
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Java
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.ΠΠ½ΠΎΠ³Π΄Π° Π² ΠΊΠΎΠ΄Π΅ Π΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π³ΠΎΠ½ΠΊΠΈ, Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈ Ρ. Π., ΠΡΠ΅Π½Π΅Π±ΡΠ΅ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ, Π²ΡΠ·ΡΠ²Π°Ρ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΡΠ±ΠΎΠΉ. ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²Π°ΡΠΈ Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡ ΠΏΠΎΡΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΏΠΎΠ½ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΆΠ½ΡΡ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Java Ρ ΠΏΠΎΠΌΠΎΡΡΡ AppPerfect.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java?
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java — ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠΎΠ²Π½Ρ JVM, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ°, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ ΡΠ±ΠΎΡΠΊΠ° ΠΌΡΡΠΎΡΠ°. ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΅Π³ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ². ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java ΠΈΠ·Π±Π°Π²Π»ΡΠ΅Ρ ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ°ΡΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ Π²ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π²Π°ΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΡΡ ΠΈ ΡΠΎΡΠ½ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ΅ΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ Π² ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Java ΠΈΠ»ΠΈ J2EE, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π²ΡΡΠΎΡΠ°ΠΉΡΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ Π΄Π»Ρ Π²Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°ΠΌ Π°Π½Π°Π»ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠΏΡΠΈΡΠΈΠ½ ΡΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΡ ΡΠ΅ΡΠ°ΡΡ.
Π Π°Π½Π½Π΅Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ·ΠΊΠΈΡ ΠΌΠ΅ΡΡ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΆΠ½ΡΠΌ ΡΠ°Π³ΠΎΠΌ Π½Π° ΠΏΡΡΠΈ ΠΊ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ, ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° ΡΠ°Π½Π½Π΅ΠΉ ΡΡΠ°Π΄ΠΈΠΈ ΠΈ ΡΠ΅ΡΠ΅Π· ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΠΈ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡ, ΡΡΠΎΠ±Ρ Π²ΡΡΠ²ΠΈΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π»ΠΈΡΡΡ Π½Π° ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Java ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π·ΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Java, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ :
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java Ρ ΠΏΠΎΠΌΠΎΡΡΡ AppPerfect
AppPerfect ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java Π² ΡΠΎΡΠΌΠ΅ AppPerfect Java Profiler.ΠΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΡΠ΅, ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΊΡΡΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π½ΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΊΠΎΠ΄Π΅, Π΅ΡΠ»ΠΈ ΠΈΡ Π½Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΌΠΎΠ³ΡΡ Π²ΡΠ·Π²Π°ΡΡ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΡΠ½ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΡΡΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ, ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Π½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ ΠΈ Π΄ΠΎΡΠΎΠ³ΠΎΡΡΠΎΡΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ. AppPerfect Java Profiler ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Π½Π°ΠΉΡΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠΈΡΡΠ΅ΠΌΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
AppPerfect Java Profiler ΠΏΡΠΈΠ·Π½Π°Π½ Π΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ, ΡΠ΅Π½ΡΠ°Π±Π΅Π»ΡΠ½ΡΠΌ, ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ, Π½Π°Π΄Π΅ΠΆΠ½ΡΠΌ ΠΈ ΡΠΎΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ.Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΏΠΎΠΏΡΡΠ°Π΅ΠΌΡΡ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Java Ρ ΠΏΠΎΠΌΠΎΡΡΡ AppPerfect Java Profiler.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Java Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
ΠΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ Π² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Java ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Java. Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ Π½ΠΈΠΆΠ΅, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΡΡΠΈ:
Π‘ΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java
AppPerfect ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΌΠΊΠ° ΠΊΡΡΠΈ.JVM ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ Π²ΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ JVM. ΠΠ°ΡΠ°Π½ΡΠΈΡΡΠ΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎΡ Π΄Π°ΠΌΠΏ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠ½ΡΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ JVM Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΌΠΊΠ°. Π’Π°ΠΊΠΎΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ ΠΊΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π±Π΅ΡΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ°ΠΌΡΡΡ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ ΠΊΡΡΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²ΠΎΠ΄ΠΊΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ², Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠΉ, ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΡ ΠΈ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡΡΠ»ΠΎΠΊ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΠΊΡΡΠ΅ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ ΠΊΡΡΠΈ, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ — & gt Π‘Π΄Π΅Π»Π°ΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ… ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ. ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ½ΠΈΠΌΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ»Π°ΡΡΠΎΠ² / ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΠΈΡ Π² ΠΊΡΡΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ½ΠΈΠΌΠΊΠ°, ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° / ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, Π΄Π²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½ΡΠ² Π΅Π³ΠΎ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ½ΠΈΠΌΠΊΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΡΡΠΈ ΡΠΌ. Π Π³Π»Π°Π²Π΅ Β«ΠΡΠ°ΡΠ·Π΅Ρ ΠΊΡΡΠΈΒ».
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ±ΠΎΡΠΊΠ° ΠΌΡΡΠΎΡΠ°:
ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ°ΠΌΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π²Π°ΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.ΠΠ½ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ, ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΡΡΠ°ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ββΠ² Π²ΠΈΠ΄Π΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ ΠΈ ΡΠ°Π±Π»ΠΈΡ Π΄Π»Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΡΡΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΠ±Π»Π°ΡΡΠΈ Ρ Π²ΡΡΠΎΠΊΠΈΠΌ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ±ΠΎΡΠΊΠ΅ ΠΌΡΡΠΎΡΠ°, ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΌΡΡΠΎΡΠ°, ΠΈ ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠΌ Π½Π° ΡΠ±ΠΎΡΠΊΡ ΠΌΡΡΠΎΡΠ°. ΠΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌ Β«ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈΒ» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ· Π΄Π΅ΡΠ΅Π²Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ, Π²ΡΠ±ΡΠ°Π² ΡΠ·Π΅Π» Β«ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈΒ». ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌ. ΠΠ»Π°Π²Ρ Β«ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈΒ».
ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ:
Π£ΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠ°ΠΊ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΡΡΡ, ΠΈ Π²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΡ ΠΏΠ°ΠΌΡΡΡ ΡΠ΅ΡΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. Π£ΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΠΎΠΌΡ ΡΠΎΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ ΡΠ°Π±ΠΎΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π΅Π³ΠΎ ΡΠ±ΠΎΡ.Π€ΡΠ½ΠΊΡΠΈΡ Β«Π‘ΡΠ΅Π½Π°ΡΠΈΠΈ ΡΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈΒ» ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΏΠΎΠΌΠΎΡΠΈ Π² ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ-ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ Β«ΠΠ°ΡΠ°ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉΒ». AppPerfect Java Profiler Π²ΡΠ·ΠΎΠ²Π΅Ρ ΡΠ±ΠΎΡΠΊΡ ΠΌΡΡΠΎΡΠ° ΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ Π²ΡΠ΅ ΠΆΠΈΠ²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ°. ΠΡΠΏΠΎΠ»Π½ΡΠΉΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ, Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ-ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ Β«ΠΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉΒ». AppPerfect Java Profiler ΡΠ½ΠΎΠ²Π° Π²ΡΠ·ΠΎΠ²Π΅Ρ ΡΠ±ΠΎΡΠΊΡ ΠΌΡΡΠΎΡΠ° ΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ Π²ΡΠ΅ ΠΆΠΈΠ²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ°.ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ Π² ΠΆΠΈΠ²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΈ ΠΊΠΎΠ½ΡΠΎΠΌ ΡΡΠ΅Π½Π°ΡΠΈΡ. ΠΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡ, Π½ΠΎ Π½Π΅ ΡΠ΄Π°Π»ΡΡΡΡΡ ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΌΡΡΠΎΡΠ°, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠΈΒ». ΠΠ»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ½ΠΈΠΌΠΎΠΊ ΠΊΡΡΠΈ ΠΈ ΡΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΡΠΉΡΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠ΅Ρ ΠΊΠ»Π°ΡΡΠ°Ρ , Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠΎΠ±ΡΠ°Π΅ΡΡΡ ΠΎΠ± ΡΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
ΠΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π‘ΡΠ΅Π½Π°ΡΠΈΠΈ ΡΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ· Π΄Π΅ΡΠ΅Π²Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ, Π²ΡΠ±ΡΠ°Π² ΡΠ·Π΅Π» Π‘ΡΠ΅Π½Π°ΡΠΈΠΈ ΡΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ.ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌ. ΠΠ»Π°Π²Ρ Β«ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ JavaΒ».
ΠΠΎΠΈΡΠΊ ΡΠ·ΠΊΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ:
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π¦Π
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΈΠ·ΡΡΠΈΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ JVM Ρ Π¦Π. ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π²Π°ΡΠΈ ΡΠΈΠΊΠ»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ·ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ AppPerfect Java Profiler Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠΎ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° Π¦Π. ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π¦Π ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΠ»Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π΅, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ°, ΠΏΠΎΠ΄ΠΏΠΈΡΡ, ΡΡΠ΅ΡΡΠΈΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈ ΠΎΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ°Π·Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π±ΡΠ» Π²ΡΠ·Π²Π°Π½ ΠΌΠ΅ΡΠΎΠ΄ ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ Π΄Π»Ρ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² ΡΠ΅Π»ΠΎΠΌ, Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π»ΡΠ±ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈΠ»ΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
ΠΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π¦Π ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ· Π΄Π΅ΡΠ΅Π²Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ, Π²ΡΠ±ΡΠ°Π² ΡΠ·Π΅Π» Β«ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π¦ΠΒ». ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌ. ΠΠ»Π°Π²Ρ Β«ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ JavaΒ».
ΠΡΠΎΠ±Π»Π΅ΠΌΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΡΠΎΠΊΠΎΠΌ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΡ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.Π Π°Π±ΠΎΡΠ° Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌ ΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΡ Π·Π° ΡΠ΅ΡΡΡΡΡ. ΠΠ½Π°Π»ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΡΠΎΠΊΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΡΠ΅ΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π³ΠΎΠ½ΠΊΠΈ, ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²ΡΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
ΠΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ· Π΄Π΅ΡΠ΅Π²Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ, Π²ΡΠ±ΡΠ°Π² ΡΠ·Π΅Π» Β«ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ²Β».ΠΠ° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΡΠΌΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΊ Π³Π»Π°Π²Π΅ Β«ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ² JavaΒ».
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ:
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ JVM ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΡΡ ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠ±ΡΠ°Π» Π²ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· Π½Π΅Π³ΠΎ. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΎΡ ΡΠΈΠΏ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«Π Π΅ΠΆΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈΒ». ΠΠ΄Π½Π°ΠΊΠΎ Π±ΡΠ»ΠΎ Π·Π°ΠΌΠ΅ΡΠ΅Π½ΠΎ, ΡΡΠΎ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΎΠ½ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ. Π ΡΠ°ΠΊΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ JVM.ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ Π² ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΆΠ΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅, AppPerfect Java Profiler ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Β«ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡΒ».
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Β«ΠΠΎ Π·Π°ΠΏΡΠΎΡΡΒ» ΠΈΠ»ΠΈ Β«ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΒ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΡΠ΅ΡΠ΅ ΡΠ²ΠΎΠ΅ Π½Π°Ρ
ΠΎΠ΄ΡΡΠ΅Π΅ΡΡ Π² ΡΡΠ°Π΄ΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ JVM ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ JVM Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.ΠΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ
ΠΎΠ΄Ρ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ Π½Π΅ΠΌΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Β«ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΒ» Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ½ΠΎΠ²Π°. Π§ΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΏ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΡΠΎΠ΅ΠΊΡ -> Π‘Π²ΠΎΠΉΡΡΠ²Π° .. ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ ΠΈ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Π’ΠΈΠΏ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ» ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ.
Π Π΅ΠΆΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ΅Π»Π΅Π²ΠΎΠΉ JVM, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²ΡΠ΅Π³Π΄Π° Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Java.ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Java Profiler ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π·Π°ΠΏΡΡΠ΅Π½Ρ ΠΈ Π°ΠΊΡΠΈΠ²Π½Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅Π°Π½ΡΠ° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ:
AppPerfect Java Profiler ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠ΅, ΡΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, — ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ AppPerfect Java Profiler Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. AppPerfect ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ²ΠΎΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ»ΡΠΆΠ±Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°.
Π§ΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ Java Profiler Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΡΠΎΠ΅ΠΊΡ Β» -> Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈΒ».. ΠΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ ΠΈ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«ΠΠ±ΡΠΈΠ΅Β» Π·Π°Π΄Π°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΡΠ΅ΠΌΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π Π³Π»Π°Π²Π΅ Β«ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ JavaΒ».
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ:
AppPerfect Java Profiler Π»Π΅Π³ΠΊΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΡΡΡ Π² Π²Π°ΡΡ ΡΡΠ΅Π΄Ρ: ΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠΈΡΠΎΠΊΠΎΠΌ ΡΠΏΠ΅ΠΊΡΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, Π²ΠΊΠ»ΡΡΠ°Ρ Microsoft Windows 2000 / XP / 2003 / Windows 7, Linux x86, Solaris, MAC OSX ΠΈ AIX, ΠΊΠ°ΠΊ Π΄Π»Ρ 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ , ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ 64-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ. -Π±ΠΈΡΠ½ΡΠ΅ JVM.AppPerfect ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Tomcat, WebLogic, WebSphere, WSAD, RAD, JBoss, JRun, J2EE, Resin, Oracle, Jetty, Orion, SunOne. ΠΠ»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Ρ Π² ΡΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ ΠΏΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π ΠΎΠ±ΡΠ΅ΠΌ, AppPerfect ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ / ΡΠ΅ΡΠ²Π΅Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Java.
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°:
ΠΠ½ΠΆΠ΅Π½Π΅ΡΡ-ΠΈΡΠΏΡΡΠ°ΡΠ΅Π»ΠΈ
ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠ»Π΅Π½Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈ ΠΏΠ°ΠΌΡΡΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. AppPerfect ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ Subversion (SVN). ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Subversion ΡΠΌ. Π Π³Π»Π°Π²Π΅ ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Team Server.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ IDE:
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ
IDE — ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠ°Ρ
AppPerfect. ΠΠΎΡΠ»Π΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Π² IDE Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ IDE ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java Π΄Π»Ρ Π²Π°ΡΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Java / J2EE ΠΈΠ· ΡΡΠ΅Π΄Ρ IDE.ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ AppPerfect Ρ Eclipse, IBM Rational Application Developer (RAD), NetBeans, IntelliJ Idea, JBuilder, Oracle JDeveloper ΠΈ BEA Workshop studio.
ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ -> ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ IDE , ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
IDE. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ IDE ΡΠΌ. Π Π³Π»Π°Π²Π΅ Β«ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ IDEΒ».
ΠΠ½ΡΠ΅Π³ΡΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Java Π² ΡΠ²ΠΎΠΉ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡ ANT ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ:
AppPerfect ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ»Π°Π²Π½ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΡΠ±ΠΎΡΠΊΠΈ.ΠΠ°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java ΠΊΠ°ΠΊ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ANT ΠΈΠ»ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π° Π·Π°ΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΈ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΈΠ· ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ±ΠΎΡΠΊΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠ±ΠΎΡΠΊΠ° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ΠΌ. Π§ΡΠΎΠ±Ρ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΊΠ°ΠΊ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Ant, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ Β«ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Β» -> Β«ΠΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΊΠ°ΠΊ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ANT …Β». . ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠ΅Π½Π°ΡΠΈΡ ANT ΡΠΌ. Π Π³Π»Π°Π²Π΅ Β«ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ ANTΒ».
ΠΡΠ²ΠΎΠ΄:
AppPerfect Java Profiler ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ΅ΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ Π² Π²Π°ΡΠΈΡ
ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
Java ΠΈΠ»ΠΈ J2EE, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π²ΡΡΠΎΡΠ°ΠΉΡΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ Π΄Π»Ρ Π²Π°ΡΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.AppPerfect Java Profiler ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ Π²Π°ΠΌ Π°Π½Π°Π»ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠΏΡΠΈΡΠΈΠ½ ΡΡΠΈΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΈΡ
ΡΠ΅ΡΠΈΡΡ.
AppPerfect Java Profiler ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°ΠΌ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
ΡΠ΅ΡΡΡΡΠΎΠ², ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΠΏΠ°ΠΌΡΡΡ, ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΏΠΎΡΠΎΠΊΠΈ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅ΠΉ JVM, Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Ρ. Π., Π§ΡΠΎΠ±Ρ Π±ΡΡΡΡΠΎ Π΄ΠΎΠ±ΡΠ°ΡΡΡΡ Π΄ΠΎ ΡΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. AppPerfect Java Profiler — ΡΡΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Java Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΡΡΠΈ, Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΡΠΎΠΊΠΎΠ², Π°Π½Π°Π»ΠΈΠ·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠ° ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ.ΠΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π»ΡΡΡΠΈΡ
ΠΈ Π»ΡΡΡΠΈΡ
ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ², Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
Π½Π° Π±ΠΎΠ»ΡΡΠΎΠΌ ΡΡΠ½ΠΊΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ².