{"id":2308,"date":"2026-05-29T21:47:53","date_gmt":"2026-05-29T21:47:53","guid":{"rendered":"https:\/\/vkrastev1blog.com\/?p=2308"},"modified":"2026-11-04T17:21:59","modified_gmt":"2026-11-04T20:21:59","slug":"questions-and-informations-prepairing-for-java-developer-job-interview","status":"publish","type":"post","link":"https:\/\/vkrastev1blog.com\/2026\/05\/29\/questions-and-informations-prepairing-for-java-developer-job-interview\/","title":{"rendered":"\u0421\u04b1\u0440\u0430\u049b\u0442\u0430\u0440 \u043c\u0435\u043d \u0430\u049b\u043f\u0430\u0440\u0430\u0442 Java Developer \u0436\u04b1\u043c\u044b\u0441 \u0441\u04b1\u0445\u0431\u0430\u0442\u044b\u043d\u0430 \u0434\u0430\u0439\u044b\u043d\u0434\u0430\u043b\u0443\u0434\u0430"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Java \u04d9\u0437\u0456\u0440\u043b\u0435\u0443\u0448\u0456\u0441\u0456\u043c\u0435\u043d \u0441\u04b1\u0445\u0431\u0430\u0442\u049b\u0430 \u0434\u0430\u0439\u044b\u043d\u0434\u044b\u049b \u0441\u04b1\u0440\u0430\u049b\u0442\u0430\u0440\u044b \u043c\u0435\u043d \u0430\u049b\u043f\u0430\u0440\u0430\u0442\u044b<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/Java-Developer-Interview-Preparation.jpg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-attachment-id=\"3245\" data-permalink=\"https:\/\/vkrastev1blog.com\/2026\/05\/29\/questions-and-informations-prepairing-for-java-developer-job-interview\/java-developer-interview-preparation-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/Java-Developer-Interview-Preparation.jpg?fit=1672%2C941&amp;ssl=1\" data-orig-size=\"1672,941\" data-comments-opened=\"1\" data-image-title=\"Java Developer Interview Preparation\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/Java-Developer-Interview-Preparation.jpg?fit=1024%2C576&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/Java-Developer-Interview-Preparation.jpg?resize=1024%2C576&#038;ssl=1\" alt=\"\" class=\"wp-image-3245\" srcset=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/Java-Developer-Interview-Preparation.jpg?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/Java-Developer-Interview-Preparation.jpg?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/Java-Developer-Interview-Preparation.jpg?resize=768%2C432&amp;ssl=1 768w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/Java-Developer-Interview-Preparation.jpg?resize=1536%2C864&amp;ssl=1 1536w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/Java-Developer-Interview-Preparation.jpg?w=1672&amp;ssl=1 1672w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">SOLID \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0442\u0435\u0440\u0456 \u049b\u0430\u043d\u0434\u0430\u0439?<\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">\u0411\u0456\u0440\u044b\u04a3\u0493\u0430\u0439 \u0436\u0430\u0443\u0430\u043f\u043a\u0435\u0440\u0448\u0456\u043b\u0456\u043a \u049b\u0430\u0493\u0438\u0434\u0430\u0441\u044b (SRP) \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u044b\u043d\u044b\u043f\u0442\u0430 \u0431\u0456\u0440 \u0493\u0430\u043d\u0430 \u0436\u0430\u0443\u0430\u043f\u043a\u0435\u0440\u0448\u0456\u043b\u0456\u043a \u0436\u04d9\u043d\u0435 \u04e9\u0437\u0433\u0435\u0440\u0442\u0443\u0433\u0435 \u0431\u0456\u0440 \u0493\u0430\u043d\u0430 \u0441\u0435\u0431\u0435\u043f \u0431\u043e\u043b\u0443\u044b \u043a\u0435\u0440\u0435\u043a.<br>\u0410\u0440\u0442\u044b\u049b\u0448\u044b\u043b\u044b\u049b\u0442\u0430\u0440\u044b \u043e\u04a3\u0430\u0439 \u0442\u0435\u0441\u0442\u0456\u043b\u0435\u0443\u0434\u0456, \u0442\u04e9\u043c\u0435\u043d\u0433\u0456 \u0431\u0430\u0439\u043b\u0430\u043d\u044b\u0441\u0442\u044b\u0440\u0443\u0434\u044b \u0436\u04d9\u043d\u0435 \u0436\u0430\u049b\u0441\u044b \u04b1\u0439\u044b\u043c\u0434\u0430\u0441\u0442\u044b\u0440\u0443\u0434\u044b \u049b\u0430\u043c\u0442\u0438\u0434\u044b.<br>\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class Book {<\/div><div class=\"cm-line\">private String name;<\/div><div class=\"cm-line\">private String author;<\/div><div class=\"cm-line\">private String text;<\/div><div class=\"cm-line\">\/\/ constructor, getters, and setters<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0410\u0448\u044b\u049b-\u0436\u0430\u0431\u044b\u049b \u043f\u0440\u0438\u043d\u0446\u0438\u043f (OCP) \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0411\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u043b\u044b\u049b \u049b\u0430\u043c\u0442\u0430\u043c\u0430\u0441\u044b\u0437 \u0435\u0442\u0443 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0442\u0435\u0440\u0456 (\u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440, \u043c\u043e\u0434\u0443\u043b\u044c\u0434\u0435\u0440, \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043b\u0430\u0440) \u043a\u0435\u04a3\u0435\u0439\u0442\u0443 \u04af\u0448\u0456\u043d \u0430\u0448\u044b\u049b, \u0431\u0456\u0440\u0430\u049b \u04e9\u0437\u0433\u0435\u0440\u0442\u0443 \u04af\u0448\u0456\u043d \u0436\u0430\u0431\u044b\u049b \u0431\u043e\u043b\u0443\u044b \u043a\u0435\u0440\u0435\u043a.<br>\u0411\u04b1\u0493\u0430\u043d \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0442\u0435\u0440\u0434\u0456, \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u0456\u043b\u0456 \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440\u0434\u044b \u0436\u04d9\u043d\u0435 \u043c\u04b1\u0440\u0430\u043d\u044b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443 \u0430\u0440\u049b\u044b\u043b\u044b \u049b\u043e\u043b \u0436\u0435\u0442\u043a\u0456\u0437\u0456\u043b\u0435\u0434\u0456.<br>\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">interface Shape {<\/div><div class=\"cm-line\">double area();<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\">class Circle implements Shape <\/div><div class=\"cm-line\">{ \/* implementation \/ } <\/div><div class=\"cm-line\">class Rectangle implements Shape <\/div><div class=\"cm-line\">{ \/ implementation *\/ }<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u041b\u0438\u0441\u043a\u043e\u0432 \u0430\u0443\u044b\u0441\u0442\u044b\u0440\u0443 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0456 (LSP) \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0406\u0448\u043a\u0456 \u0442\u0438\u043f\u0442\u0435\u0440 \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u043d\u044b\u04a3 \u0434\u04b1\u0440\u044b\u0441\u0442\u044b\u0493\u044b\u043d \u04e9\u0437\u0433\u0435\u0440\u0442\u043f\u0435\u0439, \u04e9\u0437\u0434\u0435\u0440\u0456\u043d\u0456\u04a3 \u043d\u0435\u0433\u0456\u0437\u0433\u0456 \u0442\u04af\u0440\u043b\u0435\u0440\u0456\u043d \u0430\u0443\u044b\u0441\u0442\u044b\u0440\u0430 \u0430\u043b\u0443\u044b \u043a\u0435\u0440\u0435\u043a. \u0411\u04b1\u043b &#8220;is-a&#8221; \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u044b\u043d\u0430 \u0441\u04d9\u0439\u043a\u0435\u0441 \u043a\u0435\u043b\u0435\u0434\u0456.<br>\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">class Bird <\/div><div class=\"cm-line\">{ \/* common bird behavior \/ } <\/div><div class=\"cm-line\">class Sparrow extends Bird <\/div><div class=\"cm-line\">{ \/ specific sparrow behavior *\/ }<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0442\u0456 \u0431\u04e9\u043b\u0443 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0456 (ISP) \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043b\u0438\u0435\u043d\u0442\u0442\u0435\u0440\u0434\u0456 \u04e9\u0437\u0434\u0435\u0440\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0431\u0430\u0439\u0442\u044b\u043d \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0442\u0435\u0440\u0433\u0435 \u0442\u04d9\u0443\u0435\u043b\u0434\u0456 \u0431\u043e\u043b\u0443\u0493\u0430 \u043c\u04d9\u0436\u0431\u04af\u0440\u043b\u0435\u0443\u0433\u0435 \u0431\u043e\u043b\u043c\u0430\u0439\u0434\u044b. \u04ae\u043b\u043a\u0435\u043d \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0442\u0435\u0440\u0434\u0456 \u043a\u0456\u0448\u0456\u0440\u0435\u043a \u0436\u04d9\u043d\u0435 \u043d\u0430\u049b\u0442\u044b\u0440\u0430\u049b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0442\u0435\u0440\u0433\u0435 \u0431\u04e9\u043b\u0456\u04a3\u0456\u0437.<br>\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">interface Worker {<\/div><div class=\"cm-line\">void work();<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\">interface Eater {<\/div><div class=\"cm-line\">void eat();<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\">class Robot implements Worker <\/div><div class=\"cm-line\">{ \/* implementation *\/ }<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0422\u04d9\u0443\u0435\u043b\u0434\u0456\u043b\u0456\u043a\u0442\u0456\u04a3 \u0438\u043d\u0432\u0435\u0440\u0441\u0438\u044f \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0456 (DIP) \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0416\u043e\u0493\u0430\u0440\u044b \u0434\u0435\u04a3\u0433\u0435\u0439\u043b\u0456 \u043c\u043e\u0434\u0443\u043b\u044c\u0434\u0435\u0440 \u0442\u04e9\u043c\u0435\u043d\u0433\u0456 \u0434\u0435\u04a3\u0433\u0435\u0439\u043b\u0456 \u043c\u043e\u0434\u0443\u043b\u044c\u0434\u0435\u0440\u0433\u0435 \u0442\u04d9\u0443\u0435\u043b\u0434\u0456 \u0431\u043e\u043b\u043c\u0430\u0443\u044b \u043a\u0435\u0440\u0435\u043a; \u0435\u043a\u0456 \u0442\u04af\u0440\u0456 \u0434\u0435 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f\u043b\u0430\u0440\u0493\u0430 \u0442\u04d9\u0443\u0435\u043b\u0434\u0456 \u0431\u043e\u043b\u0443\u044b \u043a\u0435\u0440\u0435\u043a. \u0410\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f\u043b\u0430\u0440 \u0431\u04e9\u043b\u0448\u0435\u043a\u0442\u0435\u0440\u0433\u0435 \u0442\u04d9\u0443\u0435\u043b\u0434\u0456 \u0431\u043e\u043b\u043c\u0430\u0443\u044b \u043a\u0435\u0440\u0435\u043a; \u043c\u04d9\u043b\u0456\u043c\u0435\u0442\u0442\u0435\u0440 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f\u043b\u0430\u0440\u0493\u0430 \u0431\u0430\u0439\u043b\u0430\u043d\u044b\u0441\u0442\u044b \u0431\u043e\u043b\u0443\u044b \u043a\u0435\u0440\u0435\u043a.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">\/\/ Abstraction<\/div><div class=\"cm-line\">interface MessageSender {<\/div><div class=\"cm-line\">void sendMessage(String message);<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">\/\/ High-level module<\/div><div class=\"cm-line\">class NotificationService {<\/div><div class=\"cm-line\">private MessageSender messageSender;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public NotificationService(MessageSender messageSender) {<\/div><div class=\"cm-line\">this.messageSender = messageSender;<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public void send(String message) {<\/div><div class=\"cm-line\">messageSender.sendMessage(message);<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">\/\/ Low-level module<\/div><div class=\"cm-line\">class EmailSender implements MessageSender {<\/div><div class=\"cm-line\">@Override<\/div><div class=\"cm-line\">public void sendMessage(String message) {<\/div><div class=\"cm-line\">System.out.println(&quot;Sending Email: &quot; + message);<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">\/\/ Another Low-level module<\/div><div class=\"cm-line\">class SmsSender implements MessageSender {<\/div><div class=\"cm-line\">@Override<\/div><div class=\"cm-line\">public void sendMessage(String message) {<\/div><div class=\"cm-line\">System.out.println(&quot;Sending SMS: &quot; + message);<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">\/\/ Use SmsSender<\/div><div class=\"cm-line\">MessageSender smsSender = new SmsSender();<\/div><div class=\"cm-line\">NotificationService notificationService2 = <\/div><div class=\"cm-line\">              new NotificationService(smsSender);<\/div><div class=\"cm-line\">notificationService2.send(&quot;Hello via SMS!&quot;);<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">MessageSender \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0456 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u049b\u044b\u0437\u043c\u0435\u0442 \u0435\u0442\u0435\u0434\u0456. NotificationService \u0436\u043e\u0493\u0430\u0440\u044b \u0434\u0435\u04a3\u0433\u0435\u0439\u043b\u0456 \u043c\u043e\u0434\u0443\u043b\u0456 \u043d\u0430\u049b\u0442\u044b \u0456\u0441\u043a\u0435 \u0430\u0441\u044b\u0440\u0443\u0434\u044b\u04a3 \u043e\u0440\u043d\u044b\u043d\u0430 \u043e\u0441\u044b \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f\u0493\u0430 \u0431\u0430\u0439\u043b\u0430\u043d\u044b\u0441\u0442\u044b.<br>EmailSender \u0436\u04d9\u043d\u0435 SmsSender \u0441\u0438\u044f\u049b\u0442\u044b \u0442\u04e9\u043c\u0435\u043d\u0433\u0456 \u0434\u0435\u04a3\u0433\u0435\u0439\u043b\u0456 \u043c\u043e\u0434\u0443\u043b\u044c\u0434\u0435\u0440 \u0434\u0435 MessageSender \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0456\u043d \u0435\u043d\u0433\u0456\u0437\u0443 \u0430\u0440\u049b\u044b\u043b\u044b \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f\u0493\u0430 \u0442\u04d9\u0443\u0435\u043b\u0434\u0456.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">SQL-\u0434\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435?<br>\u049a\u0430\u043b\u044b\u043f\u049b\u0430 \u043a\u0435\u043b\u0442\u0456\u0440\u0443 \u0430\u0440\u0442\u044b\u049b\u0448\u044b\u043b\u044b\u049b \u0441\u0438\u044f\u049b\u0442\u044b \u0430\u0443\u044b\u0442\u049b\u0443\u043b\u0430\u0440\u0434\u044b \u0436\u043e\u044e \u04af\u0448\u0456\u043d \u0440\u0435\u043b\u044f\u0446\u0438\u044f\u043b\u044b\u049b \u0434\u0435\u0440\u0435\u043a\u049b\u043e\u0440\u0434\u0430\u0493\u044b \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u049b\u04b1\u0440\u044b\u043b\u044b\u043c\u0434\u0430\u0443\u0434\u044b \u049b\u0430\u043c\u0442\u0438\u0434\u044b. \u041e\u043b \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0430\u0440\u0430\u0441\u044b\u043d\u0434\u0430\u0493\u044b \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u0442\u044b \u0441\u0430\u049b\u0442\u0430\u0439 \u043e\u0442\u044b\u0440\u044b\u043f, \u04af\u043b\u043a\u0435\u043d, \u043a\u04af\u0440\u0434\u0435\u043b\u0456 \u043a\u0435\u0441\u0442\u0435\u043b\u0435\u0440\u0434\u0456 \u043a\u0456\u0448\u0456\u0440\u0435\u043a\u0442\u0435\u0440\u0433\u0435 \u0431\u04e9\u043b\u0435\u0434\u0456.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0435\u043b\u0456\u043a\u0442\u0435\u043d \u043c\u0430\u04a3\u044b\u0437\u0434\u044b?<br>\u0410\u0440\u0442\u044b\u049b\u0448\u044b\u043b\u044b\u049b\u0442\u044b \u0430\u0437\u0430\u0439\u0442\u0430\u0434\u044b: \u0414\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u043a\u0456\u0448\u0456\u0440\u0435\u043a \u043a\u0435\u0441\u0442\u0435\u043b\u0435\u0440\u0433\u0435 \u0431\u04e9\u043b\u0443 \u0430\u0440\u049b\u044b\u043b\u044b \u0431\u0456\u0437 \u0431\u0456\u0440 \u0430\u049b\u043f\u0430\u0440\u0430\u0442\u0442\u044b \u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0440\u0435\u0442 \u0441\u0430\u049b\u0442\u0430\u0443\u0434\u0430\u043d \u0430\u0443\u043b\u0430\u049b \u0431\u043e\u043b\u0430\u043c\u044b\u0437.<br>\u0421\u04b1\u0440\u0430\u0443 \u04e9\u043d\u0456\u043c\u0434\u0456\u043b\u0456\u0433\u0456\u043d \u0436\u0430\u049b\u0441\u0430\u0440\u0442\u0430\u0434\u044b: \u043a\u0456\u0448\u0456\u0440\u0435\u043a \u049b\u0430\u043b\u044b\u043f\u049b\u0430 \u043a\u0435\u043b\u0442\u0456\u0440\u0456\u043b\u0433\u0435\u043d \u043a\u0435\u0441\u0442\u0435\u043b\u0435\u0440 \u0441\u04b1\u0440\u0430\u0443\u043b\u0430\u0440\u0434\u044b\u04a3 \u0436\u044b\u043b\u0434\u0430\u043c \u043e\u0440\u044b\u043d\u0434\u0430\u043b\u0443\u044b\u043d\u0430 \u04d9\u043a\u0435\u043b\u0435\u0434\u0456.<br>\u0416\u0430\u04a3\u0430\u0440\u0442\u0443 \u0430\u0443\u044b\u0442\u049b\u0443\u043b\u0430\u0440\u044b\u043d \u0430\u0437\u0430\u0439\u0442\u0430\u0434\u044b: \u04e9\u0437\u0433\u0435\u0440\u0442\u0443\u043b\u0435\u0440\u0434\u0456 \u0431\u0430\u0441\u049b\u0430 \u0436\u0430\u0437\u0431\u0430\u043b\u0430\u0440\u0493\u0430 \u04d9\u0441\u0435\u0440 \u0435\u0442\u043f\u0435\u0441\u0442\u0435\u043d \u0436\u0430\u0441\u0430\u0443\u0493\u0430 \u0431\u043e\u043b\u0430\u0434\u044b.<br>\u0414\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456\u04a3 \u0442\u04b1\u0442\u0430\u0441\u0442\u044b\u0493\u044b\u043d \u0436\u0430\u049b\u0441\u0430\u0440\u0442\u0430\u0434\u044b: \u0434\u04d9\u0439\u0435\u043a\u0442\u0456 \u0436\u04d9\u043d\u0435 \u0434\u04d9\u043b \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u049b\u0430\u043c\u0442\u0430\u043c\u0430\u0441\u044b\u0437 \u0435\u0442\u0435\u0434\u0456.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u043d\u044b \u049b\u043e\u043b\u0434\u0430\u043d\u0443 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u043b\u0435\u0440\u0456<br>\u0414\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0442\u04b1\u0442\u0430\u0441\u0442\u044b\u0493\u044b: \u0414\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0436\u0430\u04a3\u0430\u0440\u0442\u0443 \u043a\u0435\u0437\u0456\u043d\u0434\u0435 \u0441\u04d9\u0439\u043a\u0435\u0441\u0441\u0456\u0437\u0434\u0456\u043a\u0442\u0435\u0440\u0434\u0456 \u0431\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0439\u0434\u044b (\u043c\u044b\u0441\u0430\u043b\u044b, \u0442\u04b1\u0442\u044b\u043d\u0443\u0448\u044b\u043d\u044b\u04a3 \u0436\u0430\u0441\u044b \u04e9\u0437\u0433\u0435\u0440\u0433\u0435\u043d\u0434\u0435).<br>\u0422\u0438\u0456\u043c\u0434\u0456 \u0441\u04b1\u0440\u0430\u0443: \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0431\u04e9\u043b\u0448\u0435\u043a\u0442\u0435\u0443 \u0430\u0440\u049b\u044b\u043b\u044b \u043a\u04af\u0440\u0434\u0435\u043b\u0456 \u0441\u04b1\u0440\u0430\u0443\u043b\u0430\u0440\u0434\u044b \u0436\u0435\u04a3\u0456\u043b\u0434\u0435\u0442\u0435\u0434\u0456.<br>\u0416\u0430\u0434\u0442\u044b \u043e\u04a3\u0442\u0430\u0439\u043b\u0430\u043d\u0434\u044b\u0440\u0443: \u043e\u0440\u044b\u043d\u0434\u044b \u04af\u043d\u0435\u043c\u0434\u0435\u0443 \u04af\u0448\u0456\u043d \u0430\u0440\u0442\u044b\u049b \u0430\u0440\u0442\u044b\u049b\u0448\u044b\u043b\u044b\u049b\u0442\u044b \u0436\u043e\u044f\u0434\u044b.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u041c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u0456 \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u043e\u043d\u043e\u043b\u0438\u0442 \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u043e\u043d\u043e\u043b\u0438\u0442\u0442\u0456 \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u0431\u0456\u0440 \u0442\u043e\u043b\u044b\u049b \u043c\u043e\u0434\u0443\u043b\u044c \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u049b\u04b1\u0440\u0430\u0441\u0442\u044b\u0440\u044b\u043b\u0493\u0430\u043d. \u041e\u043b \u0431\u0430\u0440\u043b\u044b\u049b \u049b\u04b1\u0440\u0430\u043c\u0434\u0430\u0441\u0442\u0430\u0440\u0434\u044b (\u043c\u044b\u0441\u0430\u043b\u044b, \u043a\u043b\u0438\u0435\u043d\u0442\u0442\u0456\u043a \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u0434\u0435\u0440\u0435\u043a\u049b\u043e\u0440 \u0436\u04d9\u043d\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043b\u0456\u043a \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430) \u0436\u0430\u043b\u043f\u044b \u043a\u043e\u0434\u0442\u044b\u049b \u0431\u0430\u0437\u0430\u0493\u0430 \u0442\u044b\u0493\u044b\u0437 \u0431\u0430\u0439\u043b\u0430\u043d\u044b\u0441\u0442\u044b\u0440\u0430\u0434\u044b.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410\u0440\u0442\u044b\u049b\u0448\u044b\u043b\u044b\u049b\u0442\u0430\u0440\u044b:<br>\u041e\u04a3\u0430\u0439 \u043e\u0440\u043d\u0430\u043b\u0430\u0441\u0442\u044b\u0440\u0443: \u0431\u04b1\u043b \u0436\u0430\u043b\u0493\u044b\u0437 \u043e\u0440\u044b\u043d\u0434\u0430\u043b\u0430\u0442\u044b\u043d \u0444\u0430\u0439\u043b \u043d\u0435\u043c\u0435\u0441\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0431\u043e\u043b\u0493\u0430\u043d\u0434\u044b\u049b\u0442\u0430\u043d, \u043e\u0440\u043d\u0430\u043b\u0430\u0441\u0442\u044b\u0440\u0443 \u043e\u04a3\u0430\u0439 \u0436\u04d9\u043d\u0435 \u049b\u0430\u0440\u0430\u043f\u0430\u0439\u044b\u043c.<br>\u0414\u0430\u043c\u0443 \u0436\u044b\u043b\u0434\u0430\u043c\u0434\u044b\u0493\u044b: \u0436\u043e\u0431\u0430\u043d\u044b\u04a3 \u04e9\u043c\u0456\u0440 \u0441\u04af\u0440\u0443\u0456\u043d\u0456\u04a3 \u0431\u0430\u0441\u0442\u0430\u043f\u049b\u044b \u043a\u0435\u0437\u0435\u04a3\u0434\u0435\u0440\u0456\u043d\u0434\u0435 \u043c\u043e\u043d\u043e\u043b\u0438\u0442 \u049b\u0430\u0440\u0430\u043f\u0430\u0439\u044b\u043c\u0434\u044b\u043b\u044b\u0493\u044b\u043d\u044b\u04a3 \u0430\u0440\u049b\u0430\u0441\u044b\u043d\u0434\u0430 \u0436\u044b\u043b\u0434\u0430\u043c \u0434\u0430\u043c\u0443\u0493\u0430 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0434\u0456.<br>\u04e8\u043d\u0456\u043c\u0434\u0456\u043b\u0456\u043a: \u041e\u0440\u0442\u0430\u043b\u044b\u049b\u0442\u0430\u043d\u0434\u044b\u0440\u044b\u043b\u0493\u0430\u043d \u043a\u043e\u0434 \u0431\u0430\u0437\u0430\u0441\u044b \u04d9\u0440\u0442\u04af\u0440\u043b\u0456 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043b\u0430\u0440\u0434\u044b \u0442\u0438\u0456\u043c\u0434\u0456 \u0431\u0430\u0441\u049b\u0430\u0440\u0430 \u0430\u043b\u0430\u0434\u044b.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u041c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u0442\u0435\u0440 \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043d\u044b \u043a\u0456\u0448\u0456\u0440\u0435\u043a, \u0442\u04d9\u0443\u0435\u043b\u0441\u0456\u0437 \u043e\u0440\u043d\u0430\u043b\u0430\u0441\u0442\u044b\u0440\u044b\u043b\u0430\u0442\u044b\u043d \u049b\u044b\u0437\u043c\u0435\u0442\u0442\u0435\u0440\u0433\u0435 \u0431\u04e9\u043b\u0435\u0434\u0456. \u04d8\u0440\u0431\u0456\u0440 \u049b\u044b\u0437\u043c\u0435\u0442 \u0431\u0435\u043b\u0433\u0456\u043b\u0456 \u0431\u0456\u0440 \u0431\u0438\u0437\u043d\u0435\u0441 \u0434\u043e\u043c\u0435\u043d\u0456\u043d\u0435 \u0431\u0430\u0493\u044b\u0442\u0442\u0430\u043b\u0493\u0430\u043d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410\u0440\u0442\u044b\u049b\u0448\u044b\u043b\u044b\u049b\u0442\u0430\u0440\u044b:<br>\u041c\u0430\u0441\u0448\u0442\u0430\u0431\u0442\u0430\u0443: \u041c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u0442\u0435\u0440 \u0436\u0435\u043a\u0435 \u049b\u04b1\u0440\u0430\u043c\u0434\u0430\u0441\u0442\u0430\u0440\u0434\u044b \u0431\u0456\u0440-\u0431\u0456\u0440\u0456\u043d\u0435\u043d \u0442\u04d9\u0443\u0435\u043b\u0441\u0456\u0437 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0442\u0430\u0443\u0493\u0430 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0434\u0456.<br>\u0418\u043a\u0435\u043c\u0434\u0456\u043b\u0456\u043a: \u04d8\u0437\u0456\u0440\u043b\u0435\u0443\u0448\u0456\u043b\u0435\u0440 \u04d9\u0440 \u049b\u044b\u0437\u043c\u0435\u0442 \u04af\u0448\u0456\u043d \u04d9\u0440\u0442\u04af\u0440\u043b\u0456 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u043b\u0430\u0440\u0434\u044b \u0442\u0430\u04a3\u0434\u0430\u0439 \u0430\u043b\u0430\u0434\u044b.<br>\u041e\u049b\u0448\u0430\u0443\u043b\u0430\u0443: \u0431\u0456\u0440 \u049b\u044b\u0437\u043c\u0435\u0442\u0442\u0435\u0433\u0456 \u049b\u0430\u0442\u0435\u043b\u0435\u0440 \u0431\u0430\u0441\u049b\u0430\u043b\u0430\u0440\u044b\u043d\u0430 \u04d9\u0441\u0435\u0440 \u0435\u0442\u043f\u0435\u0439\u0434\u0456.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u049a\u0438\u044b\u043d\u0434\u044b\u049b\u0442\u0430\u0440:<br>\u041a\u04af\u0440\u0434\u0435\u043b\u0456\u043b\u0456\u0433\u0456: \u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u049b\u044b\u0437\u043c\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u0431\u0430\u0441\u049b\u0430\u0440\u0443 \u0441\u0435\u043d\u0456\u043c\u0434\u0456 \u043e\u0440\u043a\u0435\u0441\u0442\u0440\u0434\u0456 \u049b\u0430\u0436\u0435\u0442 \u0435\u0442\u0435\u0434\u0456.<br>\u0416\u0435\u043b\u0456\u043d\u0456\u04a3 \u04af\u0441\u0442\u0435\u043c\u0435 \u0448\u044b\u0493\u044b\u043d\u0434\u0430\u0440\u044b: \u049b\u044b\u0437\u043c\u0435\u0442\u0442\u0435\u0440 \u0430\u0440\u0430\u0441\u044b\u043d\u0434\u0430\u0493\u044b \u0431\u0430\u0439\u043b\u0430\u043d\u044b\u0441 \u043a\u0435\u0448\u0456\u0433\u0443\u0434\u0456 \u0435\u043d\u0433\u0456\u0437\u0435\u0434\u0456.<br>\u041e\u0440\u043d\u0430\u043b\u0430\u0441\u0442\u044b\u0440\u0443 \u043a\u04af\u0440\u0434\u0435\u043b\u0456\u043b\u0456\u0433\u0456: \u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u049b\u044b\u0437\u043c\u0435\u0442\u0442\u0435\u0440\u0434\u0435 \u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u043b\u0430\u0440\u0434\u044b \u04af\u0439\u043b\u0435\u0441\u0442\u0456\u0440\u0443 \u049b\u0438\u044b\u043d \u0431\u043e\u043b\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u041f\u043e\u043b\u0438\u043c\u043e\u0440\u0444\u0438\u0437\u043c \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u04d8\u0434\u0456\u0441\u0442\u0456 \u049b\u0430\u0439\u0442\u0430 \u0430\u043d\u044b\u049b\u0442\u0430\u0443:<br>\u0406\u0448\u043a\u0456 \u0441\u044b\u043d\u044b\u043f \u04e9\u0437\u0456\u043d\u0456\u04a3 \u0441\u0443\u043f\u0435\u0440\u0441\u044b\u043d\u044b\u0431\u044b\u043d\u0434\u0430 \u0431\u04b1\u0440\u044b\u043d\u043d\u0430\u043d \u0430\u043d\u044b\u049b\u0442\u0430\u043b\u0493\u0430\u043d \u04d9\u0434\u0456\u0441 \u04af\u0448\u0456\u043d \u043d\u0430\u049b\u0442\u044b \u0456\u0441\u043a\u0435 \u0430\u0441\u044b\u0440\u0443\u0434\u044b \u049b\u0430\u043c\u0442\u0430\u043c\u0430\u0441\u044b\u0437 \u0435\u0442\u043a\u0435\u043d\u0434\u0435.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0428\u0430\u043c\u0430\u0434\u0430\u043d \u0442\u044b\u0441 \u0436\u04af\u043a\u0442\u0435\u0443 \u04d9\u0434\u0456\u0441\u0456:<br>\u0421\u044b\u043d\u044b\u043f\u0442\u0430 \u0430\u0442\u044b \u0431\u0456\u0440\u0434\u0435\u0439, \u0431\u0456\u0440\u0430\u049b \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0456 \u04d9\u0440\u0442\u04af\u0440\u043b\u0456 (\u04d9\u0440 \u0442\u04af\u0440\u043b\u0456 \u0441\u0430\u043d \u043d\u0435\u043c\u0435\u0441\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u0442\u04af\u0440\u043b\u0435\u0440\u0456) \u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u04d9\u0434\u0456\u0441\u0442\u0435\u0440 \u0431\u043e\u043b\u0493\u0430\u043d \u043a\u0435\u0437\u0434\u0435.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0416\u0435\u043a\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u043b\u0430\u0440\u0434\u044b\u04a3 \u043c\u0430\u049b\u0441\u0430\u0442\u044b \u049b\u0430\u043d\u0434\u0430\u0439?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0416\u0435\u043a\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u043b\u0430\u0440 \u049b\u044b\u0437\u043c\u0435\u0442\u0442\u0456\u043a \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440\u0434\u0430 \u043d\u0435\u043c\u0435\u0441\u0435 \u0442\u04b1\u0440\u0430\u049b\u0442\u044b \u043a\u043b\u0430\u0441\u0441\u0442\u0430\u0440\u0434\u0430 \u049b\u043e\u043b\u0434\u0430\u043d\u044b\u043b\u0430\u0434\u044b.<br>\u0411\u04b1\u043b \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440 \u0442\u0435\u043a \u0441\u0442\u0430\u0442\u0438\u043a\u0430\u043b\u044b\u049b \u04d9\u0434\u0456\u0441\u0442\u0435\u0440\u0434\u0456 \u043d\u0435\u043c\u0435\u0441\u0435 \u043c\u04af\u0448\u0435\u043b\u0435\u0440\u0434\u0456 \u049b\u0430\u043c\u0442\u0438\u0434\u044b.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u04b1\u0440\u0430\u0433\u0435\u0440\u043b\u0456\u043a\u0442\u0435\u043d \u0430\u0443\u043b\u0430\u049b \u0431\u043e\u043b\u0443 (\u0456\u0448\u043a\u0456 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f\u0434\u0430\u043d \u0430\u0443\u043b\u0430\u049b \u0431\u043e\u043b\u0443)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u049a\u04b1\u0440\u044b\u043b\u044b\u0441\u0448\u044b \u0434\u0435\u043b\u0435\u0433\u0430\u0446\u0438\u044f\u0441\u044b:<br>\u0416\u0435\u043a\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u043b\u0430\u0440 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u0434\u0435\u043b\u0435\u0433\u0430\u0446\u0438\u044f\u0441\u044b\u043d\u0430 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0431\u0435\u0440\u0435\u0434\u0456, \u043c\u04b1\u043d\u0434\u0430 \u0430\u0440\u043d\u0430\u0439\u044b \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u043b\u0430\u0440 \u0436\u0430\u043b\u043f\u044b \u0436\u0435\u043a\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0434\u044b \u0448\u0430\u049b\u044b\u0440\u0430\u0434\u044b.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0411\u0456\u0440\u044b\u04a3\u0493\u0430\u0439 \u04af\u043b\u0433\u0456<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">JVM \u04af\u0448\u0456\u043d<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u049a\u04b1\u0440\u0430\u0441\u0442\u044b\u0440\u0443:<br>.java \u0444\u0430\u0439\u043b\u044b\u043d \u049b\u04b1\u0440\u0430\u0441\u0442\u044b\u0440\u0493\u0430\u043d \u043a\u0435\u0437\u0434\u0435, Java \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b \u0431\u0430\u0439\u0442 \u043a\u043e\u0434\u044b\u043d (\u0430\u0440\u0430\u043b\u044b\u049b \u043a\u04e9\u0440\u0456\u043d\u0456\u0441) \u049b\u0430\u043c\u0442\u0438\u0442\u044b\u043d .class \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b\u043d \u0436\u0430\u0441\u0430\u0439\u0434\u044b.<br>\u0411\u0430\u0439\u0442\u043a\u043e\u0434 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0493\u0430 \u0442\u04d9\u0443\u0435\u043b\u0441\u0456\u0437 \u0436\u04d9\u043d\u0435 \u043e\u043d\u044b \u04af\u0439\u043b\u0435\u0441\u0456\u043c\u0434\u0456 JVM \u0436\u04af\u0439\u0435\u0441\u0456 \u0431\u0430\u0440 \u043a\u0435\u0437 \u043a\u0435\u043b\u0433\u0435\u043d \u0436\u04af\u0439\u0435\u0434\u0435 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u0443\u0493\u0430 \u0431\u043e\u043b\u0430\u0434\u044b.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043b\u0430\u0441\u0441 \u0436\u04af\u043a\u0442\u0435\u0443\u0448\u0456\u043d\u0456\u04a3 \u0456\u0448\u043a\u0456 \u0436\u04af\u0439\u0435\u0441\u0456:<br>\u0416\u0430\u0434\u049b\u0430 \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440\u0434\u044b \u0436\u04af\u043a\u0442\u0435\u0443\u0433\u0435 \u0436\u0430\u0443\u0430\u043f\u0442\u044b.<br>\u041e\u043b .class \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b\u043d \u043e\u049b\u0438\u0434\u044b, \u0435\u043a\u0456\u043b\u0456\u043a \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0436\u0430\u0441\u0430\u0439\u0434\u044b \u0436\u04d9\u043d\u0435 \u043e\u043d\u044b \u04d9\u0434\u0456\u0441 \u0430\u0439\u043c\u0430\u0493\u044b\u043d\u0434\u0430 \u0441\u0430\u049b\u0442\u0430\u0439\u0434\u044b.<br>\u04ae\u0439\u043c\u0435 \u0436\u0430\u0434\u044b\u0434\u0430 \u0436\u04af\u043a\u0442\u0435\u043b\u0433\u0435\u043d \u043a\u043b\u0430\u0441\u0441\u0442\u044b \u043a\u04e9\u0440\u0441\u0435\u0442\u0435\u0442\u0456\u043d Class \u043d\u044b\u0441\u0430\u043d\u044b\u043d \u0436\u0430\u0441\u0430\u0439\u0434\u044b.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Example: <\/div><div class=\"cm-line\">Student s1 = new Student(); <\/div><div class=\"cm-line\">Class c1 = s1.getClass();<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0421\u0456\u043b\u0442\u0435\u043c\u0435\u043b\u0435\u0440:<br>\u041e\u043b \u04af\u0448 \u049b\u0430\u0434\u0430\u043c\u043d\u0430\u043d \u0442\u04b1\u0440\u0430\u0434\u044b:<br>\u0422\u0435\u043a\u0441\u0435\u0440\u0443: .class \u0444\u0430\u0439\u043b\u044b\u043d\u044b\u04a3 \u0434\u04b1\u0440\u044b\u0441\u0442\u044b\u0493\u044b\u043d \u0442\u0435\u043a\u0441\u0435\u0440\u0435\u0434\u0456.<br>\u0414\u0430\u0439\u044b\u043d\u0434\u0430\u0443: \u041a\u043b\u0430\u0441\u0441 \u0430\u0439\u043d\u044b\u043c\u0430\u043b\u044b\u043b\u0430\u0440\u044b \u04af\u0448\u0456\u043d \u0436\u0430\u043d\u0430\u043c\u0430 \u0436\u0430\u0434\u044b\u0493\u0430 \u0430\u0440\u043d\u0430\u043b\u0493\u0430\u043d \u0436\u04d9\u043d\u0435 \u043e\u043b\u0430\u0440\u0434\u044b \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u043b\u0430\u0439\u0434\u044b.<br>\u0410\u0436\u044b\u0440\u0430\u0442\u044b\u043c\u0434\u044b\u043b\u044b\u049b (\u043c\u0456\u043d\u0434\u0435\u0442\u0442\u0456 \u0435\u043c\u0435\u0441): \u0411\u0430\u0441\u049b\u0430 \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440\u0493\u0430 \u043d\u0435\u043c\u0435\u0441\u0435 \u04d9\u0434\u0456\u0441\u0442\u0435\u0440\u0433\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u0434\u044b\u049b \u0441\u0456\u043b\u0442\u0435\u043c\u0435\u043b\u0435\u0440\u0434\u0456 \u0448\u0435\u0448\u0435\u0434\u0456.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f:<br>\u0421\u0442\u0430\u0442\u0438\u043a\u0430\u043b\u044b\u049b \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043b\u0430\u0440\u0434\u044b (\u043c\u044b\u0441\u0430\u043b\u044b, \u0441\u0442\u0430\u0442\u0438\u043a\u0430\u043b\u044b\u049b \u0431\u043b\u043e\u043a\u0442\u0430\u0440\u0434\u044b) \u043e\u0440\u044b\u043d\u0434\u0430\u0439\u0434\u044b \u0436\u04d9\u043d\u0435 \u0441\u0442\u0430\u0442\u0438\u043a\u0430\u043b\u044b\u049b \u0430\u0439\u043d\u044b\u043c\u0430\u043b\u044b\u043b\u0430\u0440\u0434\u044b \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u043b\u0430\u0439\u0434\u044b.<br>\u041d\u044b\u0441\u0430\u043d \u0436\u0430\u0441\u0430\u043b\u0493\u0430\u043d \u043a\u0435\u0437\u0434\u0435 \u0434\u0430\u043d\u0430\u043d\u044b\u04a3 \u0430\u0439\u043d\u044b\u043c\u0430\u043b\u044b \u043c\u04d9\u043d\u0434\u0435\u0440\u0456 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u043b\u0430\u043d\u0430\u0434\u044b.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0440\u044b\u043d\u0434\u0430\u0443 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0456:<br>\u0411\u0430\u0439\u0442-\u043a\u043e\u0434\u0442\u044b \u043c\u0430\u0448\u0438\u043d\u0430\u043b\u044b\u049b \u043a\u043e\u0434\u049b\u0430 \u0442\u04af\u0440\u043b\u0435\u043d\u0434\u0456\u0440\u0435\u0434\u0456.<br>\u04e8\u043d\u0456\u043c\u0434\u0456\u043b\u0456\u043a\u0442\u0456 \u043e\u04a3\u0442\u0430\u0439\u043b\u0430\u043d\u0434\u044b\u0440\u0443\u0493\u0430 \u0430\u0440\u043d\u0430\u043b\u0493\u0430\u043d Just-In-Time (JIT) \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f\u0441\u044b\u043d \u049b\u0430\u043c\u0442\u0438\u0434\u044b.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u049a\u044b\u0441\u049b\u0430\u0441\u044b, JVM \u0431\u0430\u0439\u0442 \u043a\u043e\u0434\u0442\u044b \u0442\u04af\u0441\u0456\u043d\u0434\u0456\u0440\u0443 \u0436\u04d9\u043d\u0435 \u0436\u0430\u0434\u0442\u044b \u0431\u0430\u0441\u049b\u0430\u0440\u0443 \u0430\u0440\u049b\u044b\u043b\u044b Java \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u043b\u0430\u0440\u044b\u043d\u0430 \u043a\u0435\u0437 \u043a\u0435\u043b\u0433\u0435\u043d \u0436\u0435\u0440\u0434\u0435 \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0443\u0433\u0435 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0434\u0456.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0416\u0435\u043a\u0435 \u0434\u0435\u0440\u0435\u043a\u0441\u0456\u0437 \u04d9\u0434\u0456\u0441 \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u0456\u043b\u0456 \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440\u0434\u0430\u0493\u044b \u0436\u0435\u043a\u0435 \u04d9\u0434\u0456\u0441\u0442\u0435\u0440 \u04af\u0448\u0456\u043d Cases \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u04a3\u044b\u0437:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u0435\u0440\u0435\u043a\u0441\u0456\u0437 \u04d9\u0434\u0456\u0441\u0442\u0435\u0440 \u0436\u0435\u043a\u0435 \u0431\u043e\u043b\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d \u0431\u043e\u043b\u043c\u0430\u0441\u0430 \u0434\u0430, \u04d9\u0440\u0442\u04af\u0440\u043b\u0456 \u043c\u0430\u049b\u0441\u0430\u0442\u0442\u0430\u0440 \u04af\u0448\u0456\u043d \u0434\u0435\u0440\u0435\u043a\u0441\u0456\u0437 \u0441\u044b\u043d\u044b\u043f\u0442\u0430 \u0436\u0435\u043a\u0435 \u04d9\u0434\u0456\u0441\u0442\u0435\u0440\u0434\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0493\u0430 \u0431\u043e\u043b\u0430\u0434\u044b:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u04e9\u043c\u0435\u043a\u0448\u0456 \u04d9\u0434\u0456\u0441\u0442\u0435\u0440: \u0431\u0430\u0441\u049b\u0430 \u04d9\u0434\u0456\u0441\u0442\u0435\u0440\u043c\u0435\u043d \u043e\u0440\u0442\u0430\u049b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0442\u044b\u043d \u0436\u0430\u043b\u043f\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0434\u044b\u043b\u044b\u049b\u0442\u044b \u0436\u04af\u0437\u0435\u0433\u0435 \u0430\u0441\u044b\u0440\u0443.<br>\u0418\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u044f\u0446\u0438\u044f: \u0456\u0441\u043a\u0435 \u0430\u0441\u044b\u0440\u0443 \u043c\u04d9\u043b\u0456\u043c\u0435\u0442\u0442\u0435\u0440\u0456\u043d \u0456\u0448\u043a\u0456 \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440\u0434\u0430\u043d \u0436\u0430\u0441\u044b\u0440\u0443.<br>\u049a\u04b1\u0440\u044b\u043b\u044b\u043c\u0493\u0430 \u04b1\u049b\u0441\u0430\u0441 \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440: \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043b\u0435\u0440\u0456 \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u049b\u044b\u0437\u043c\u0435\u0442 \u0435\u0442\u0435\u0442\u0456\u043d \u0436\u0435\u043a\u0435 \u04d9\u0434\u0456\u0441\u0442\u0435\u0440\u043c\u0435\u043d \u0448\u0430\u0493\u044b\u043d \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440\u0434\u044b \u0436\u0430\u0441\u0430\u04a3\u044b\u0437<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u049a\u043e\u049b\u044b\u0441 \u0436\u0438\u043d\u0430\u0493\u044b\u0448 \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u04ae\u0439\u043c\u0435 \u0436\u0430\u0434\u044b:<br>Java \u043e\u0431\u044a\u0435\u043a\u0442\u0456\u043b\u0435\u0440\u0456 \u04af\u0439\u043c\u0435 \u0436\u0430\u0434\u044b\u0434\u0430, \u0430\u0440\u043d\u0430\u0439\u044b \u0431\u04e9\u043b\u0456\u043d\u0433\u0435\u043d \u0436\u0430\u0434\u044b \u0430\u0439\u043c\u0430\u0493\u044b\u043d\u0434\u0430 \u0436\u0430\u0441\u0430\u043b\u0430\u0434\u044b.<br>\u041a\u0435\u0439\u0431\u0456\u0440 \u043d\u044b\u0441\u0430\u043d\u0434\u0430\u0440 \u049b\u043e\u043b\u0436\u0435\u0442\u0456\u043c\u0441\u0456\u0437 \u0431\u043e\u043b\u0430\u0434\u044b (\u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430 \u0431\u04b1\u0434\u0430\u043d \u0431\u044b\u043b\u0430\u0439 \u0441\u0456\u043b\u0442\u0435\u043c\u0435 \u0436\u0430\u0441\u0430\u043c\u0430\u0439\u0434\u044b).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u049a\u043e\u049b\u044b\u0441 \u0436\u0438\u043d\u0430\u0493\u044b\u0448 (\u049a\u049a):<br>GC \u0436\u0430\u0434\u0442\u044b \u0431\u043e\u0441\u0430\u0442\u0443 \u04af\u0448\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u043c\u0430\u0493\u0430\u043d \u043d\u044b\u0441\u0430\u043d\u0434\u0430\u0440\u0434\u044b \u0430\u043d\u044b\u049b\u0442\u0430\u0439\u0434\u044b \u0436\u04d9\u043d\u0435 \u0436\u043e\u044f\u0434\u044b.<br>\u041e\u043b \u0444\u043e\u043d\u0434\u044b\u049b \u0440\u0435\u0436\u0438\u043c\u0434\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0439\u0434\u0456.<br>\u0415\u043a\u0456 \u0442\u04af\u0440\u0456:<br>\u041a\u0456\u0448\u0456 GC: \u0416\u0430\u0441 \u04b1\u0440\u043f\u0430\u049b\u0442\u0430\u0493\u044b \u049b\u043e\u043b\u0436\u0435\u0442\u0456\u043c\u0441\u0456\u0437 \u043d\u044b\u0441\u0430\u043d\u0434\u0430\u0440\u0434\u044b \u0436\u043e\u044f\u0434\u044b.<br>\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u041c\u041a (\u0422\u043e\u043b\u044b\u049b GC): \u0415\u0441\u043a\u0456 \u04b1\u0440\u043f\u0430\u049b\u0442\u0430\u0493\u044b \u043d\u044b\u0441\u0430\u043d\u0434\u0430\u0440\u0434\u044b \u0442\u0430\u0437\u0430\u0440\u0442\u0430\u0434\u044b.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410\u0440\u0442\u044b\u049b\u0448\u044b\u043b\u044b\u049b\u0442\u0430\u0440\u044b:<br>\u04d8\u0437\u0456\u0440\u043b\u0435\u0443\u0448\u0456\u043b\u0435\u0440\u0433\u0435 \u043d\u044b\u0441\u0430\u043d\u0434\u0430\u0440\u0434\u044b \u049b\u043e\u043b\u043c\u0435\u043d \u0436\u043e\u044e \u049b\u0430\u0436\u0435\u0442 \u0435\u043c\u0435\u0441.<br>GC \u0436\u0430\u0434\u0442\u044b\u04a3 \u049b\u043e\u043b\u0436\u0435\u0442\u0456\u043c\u0434\u0456\u043b\u0456\u0433\u0456\u043d \u049b\u0430\u043c\u0442\u0430\u043c\u0430\u0441\u044b\u0437 \u0435\u0442\u0435\u0434\u0456 \u0436\u04d9\u043d\u0435 OutOfMemoryErrors \u0430\u043b\u0434\u044b\u043d \u0430\u043b\u0430\u0434\u044b.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">OOP \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">OOP \u0442\u04e9\u0440\u0442 \u049b\u0430\u0493\u0438\u0434\u0430\u0441\u044b:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u044f\u0446\u0438\u044f: \u0456\u0441\u043a\u0435 \u0430\u0441\u044b\u0440\u0443 \u043c\u04d9\u043b\u0456\u043c\u0435\u0442\u0442\u0435\u0440\u0456\u043d \u0436\u0430\u0441\u044b\u0440\u0443 \u0436\u04d9\u043d\u0435 \u0442\u0430\u0437\u0430 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0442\u0456 \u049b\u0430\u043c\u0442\u0430\u043c\u0430\u0441\u044b\u0437 \u0435\u0442\u0443 \u04af\u0448\u0456\u043d \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 (\u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0442\u0430\u0440\u0434\u044b) \u0436\u04d9\u043d\u0435 \u04d9\u0434\u0456\u0441\u0442\u0435\u0440\u0434\u0456 (\u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043b\u0430\u0440\u0434\u044b) \u0441\u044b\u043d\u044b\u043f\u0442\u0430 \u0431\u0456\u0440\u0456\u043a\u0442\u0456\u0440\u0443.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u04b1\u0440\u0430\u0433\u0435\u0440\u043b\u0456\u043a: \u0431\u04b1\u0440\u044b\u043d\u043d\u0430\u043d \u0431\u0430\u0440\u043b\u0430\u0440\u0434\u044b\u04a3 \u043d\u0435\u0433\u0456\u0437\u0456\u043d\u0434\u0435 \u0436\u0430\u04a3\u0430 \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440 \u049b\u04b1\u0440\u0443, \u043e\u043b\u0430\u0440\u0434\u044b\u04a3 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0442\u0430\u0440\u044b \u043c\u0435\u043d \u043c\u0456\u043d\u0435\u0437-\u049b\u04b1\u043b\u049b\u044b\u043d \u043c\u04b1\u0440\u0430\u043b\u0430\u0443. \u0411\u04b1\u043b \u043a\u043e\u0434\u0442\u044b \u049b\u0430\u0439\u0442\u0430 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0434\u044b \u044b\u043d\u0442\u0430\u043b\u0430\u043d\u0434\u044b\u0440\u0430\u0434\u044b.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u043b\u0438\u043c\u043e\u0440\u0444\u0438\u0437\u043c: \u04d9\u0440\u0442\u04af\u0440\u043b\u0456 \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440\u0434\u0430\u0493\u044b \u043d\u044b\u0441\u0430\u043d\u0434\u0430\u0440\u0434\u044b \u043e\u0440\u0442\u0430\u049b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0430\u0440\u049b\u044b\u043b\u044b \u0431\u0456\u0440\u0434\u0435\u0439 \u04e9\u04a3\u0434\u0435\u0443\u0433\u0435 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0434\u0456. \u0411\u04b1\u043b \u0438\u043a\u0435\u043c\u0434\u0456\u043b\u0456\u043a \u0431\u0435\u0440\u0435\u0434\u0456 \u0436\u04d9\u043d\u0435 \u0436\u04af\u0439\u0435\u043d\u0456 \u043a\u0435\u04a3\u0435\u0439\u0442\u0443\u0434\u0456 \u0436\u0435\u04a3\u0456\u043b\u0434\u0435\u0442\u0435\u0434\u0456 (\u043a\u0435\u04a3\u0435\u0439\u0442\u0443).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f: \u049b\u0430\u0436\u0435\u0442 \u0435\u043c\u0435\u0441 \u043a\u04af\u0440\u0434\u0435\u043b\u0456\u043b\u0456\u043a\u0442\u0435\u0440\u0434\u0456 \u0436\u0430\u0441\u044b\u0440\u0430 \u043e\u0442\u044b\u0440\u044b\u043f, \u043c\u0430\u04a3\u044b\u0437\u0434\u044b \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a\u0442\u0435\u0440\u0433\u0435 \u043d\u0430\u0437\u0430\u0440 \u0430\u0443\u0434\u0430\u0440\u0443. \u0410\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f \u0434\u0438\u0437\u0430\u0439\u043d\u0434\u044b \u0436\u0435\u04a3\u0456\u043b\u0434\u0435\u0442\u0435\u0434\u0456 \u0436\u04d9\u043d\u0435 \u043e\u043d\u044b \u043a\u04af\u0442\u0456\u043f \u04b1\u0441\u0442\u0430\u0443 \u043c\u0435\u043d \u0431\u0430\u0441\u049b\u0430\u0440\u0443\u0434\u044b \u0436\u0435\u04a3\u0456\u043b\u0434\u0435\u0442\u0435\u0434\u0456.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">ACID \u049b\u0430\u0441\u0438\u0435\u0442\u0442\u0435\u0440\u0456 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043b\u0430\u0440\u0434\u044b\u04a3 \u0441\u0435\u043d\u0456\u043c\u0434\u0456\u043b\u0456\u0433\u0456 \u043c\u0435\u043d \u0434\u04d9\u0439\u0435\u043a\u0442\u0456\u043b\u0456\u0433\u0456\u043d \u049b\u0430\u043c\u0442\u0430\u043c\u0430\u0441\u044b\u0437 \u0435\u0442\u0443\u0434\u0435 \u0448\u0435\u0448\u0443\u0448\u0456 \u0440\u04e9\u043b \u0430\u0442\u049b\u0430\u0440\u0430\u0434\u044b.<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410\u0442\u043e\u043c\u0434\u044b\u049b:<br>\u041c\u04d9\u043c\u0456\u043b\u0435\u043b\u0435\u0440 \u0442\u043e\u043b\u044b\u0493\u044b\u043c\u0435\u043d \u043e\u0440\u044b\u043d\u0434\u0430\u043b\u0430\u0434\u044b \u043d\u0435\u043c\u0435\u0441\u0435 \u043c\u04af\u043b\u0434\u0435 \u043e\u0440\u044b\u043d\u0434\u0430\u043b\u043c\u0430\u0439\u0434\u044b.<br>\u0406\u0448\u0456\u043d\u0430\u0440\u0430 \u043c\u0456\u043d\u0434\u0435\u0442\u0442\u0435\u043c\u0435 \u0436\u043e\u049b: \u0435\u0433\u0435\u0440 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u043e\u0440\u0442\u0430\u0441\u044b\u043d\u0434\u0430 \u043e\u0440\u044b\u043d\u0434\u0430\u043b\u043c\u0430\u0441\u0430, \u0434\u0435\u0440\u0435\u043a\u049b\u043e\u0440\u0493\u0430 \u0435\u043d\u0433\u0456\u0437\u0456\u043b\u0433\u0435\u043d \u0431\u0430\u0440\u043b\u044b\u049b \u04e9\u0437\u0433\u0435\u0440\u0442\u0443\u043b\u0435\u0440 \u043a\u0435\u0440\u0456 \u049b\u0430\u0439\u0442\u0430\u0440\u044b\u043b\u0430\u0434\u044b.<br>\u041c\u044b\u0441\u0430\u043b: X \u0448\u043e\u0442\u044b\u043d\u0430\u043d Y \u0448\u043e\u0442\u044b\u043d\u0430 $100 \u0430\u0443\u0434\u0430\u0440\u0443\u0434\u044b \u049b\u0430\u0440\u0430\u0441\u0442\u044b\u0440\u044b\u04a3\u044b\u0437. \u0415\u0433\u0435\u0440 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u0441\u043e\u043c\u0430 X-\u0442\u0435\u043d \u0430\u043b\u044b\u043d\u0493\u0430\u043d\u043d\u0430\u043d \u043a\u0435\u0439\u0456\u043d, \u0431\u0456\u0440\u0430\u049b Y-\u0433\u0435 \u049b\u043e\u0441\u044b\u043b\u0493\u0430\u043d\u0493\u0430 \u0434\u0435\u0439\u0456\u043d \u043e\u0440\u044b\u043d\u0434\u0430\u043b\u043c\u0430\u0441\u0430, \u0434\u0435\u0440\u0435\u043a\u049b\u043e\u0440 \u0442\u04b1\u0440\u0430\u049b\u0442\u044b \u0431\u043e\u043b\u044b\u043f \u049b\u0430\u043b\u0430\u0434\u044b.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u04d9\u0439\u043a\u0435\u0441\u0442\u0456\u043a:<br>\u041c\u04d9\u043b\u0456\u043c\u0435\u0442\u0442\u0435\u0440 \u0431\u0430\u0437\u0430\u0441\u044b \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0493\u0430 \u0434\u0435\u0439\u0456\u043d \u0436\u04d9\u043d\u0435 \u043a\u0435\u0439\u0456\u043d \u04e9\u0437\u0456\u043d\u0456\u04a3 \u0442\u04b1\u0442\u0430\u0441\u0442\u044b\u049b \u0448\u0435\u043a\u0442\u0435\u0443\u043b\u0435\u0440\u0456\u043d \u0441\u0430\u049b\u0442\u0430\u0443\u044b \u043a\u0435\u0440\u0435\u043a.<br>\u041c\u044b\u0441\u0430\u043b: \u0415\u0433\u0435\u0440 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0493\u0430 \u0434\u0435\u0439\u0456\u043d\u0433\u0456 \u0436\u0430\u043b\u043f\u044b \u0441\u043e\u043c\u0430 $700 \u0431\u043e\u043b\u0441\u0430 (X: $500, Y: $200), \u043e\u043b \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0434\u0430\u043d \u043a\u0435\u0439\u0456\u043d \u04e9\u0437\u0433\u0435\u0440\u0456\u0441\u0441\u0456\u0437 \u049b\u0430\u043b\u0443\u044b \u043a\u0435\u0440\u0435\u043a (X: $400, Y: $300).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u049b\u0448\u0430\u0443\u043b\u0430\u0443:<br>\u0411\u0456\u0440\u043d\u0435\u0448\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043b\u0430\u0440 \u0431\u0456\u0440-\u0431\u0456\u0440\u0456\u043d\u0435 \u04d9\u0441\u0435\u0440 \u0435\u0442\u043f\u0435\u0441\u0442\u0435\u043d \u0431\u0456\u0440 \u0443\u0430\u049b\u044b\u0442\u0442\u0430 \u043e\u0440\u044b\u043d\u0434\u0430\u043b\u0430 \u0430\u043b\u0430\u0434\u044b.<br>\u0411\u0456\u0440 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u0430\u0440\u049b\u044b\u043b\u044b \u0436\u0430\u0441\u0430\u043b\u0493\u0430\u043d \u04e9\u0437\u0433\u0435\u0440\u0456\u0441\u0442\u0435\u0440 \u043e\u043b\u0430\u0440 \u043e\u0440\u044b\u043d\u0434\u0430\u043b\u043c\u0430\u0439\u044b\u043d\u0448\u0430 \u0431\u0430\u0441\u049b\u0430\u043b\u0430\u0440\u0493\u0430 \u043a\u04e9\u0440\u0456\u043d\u0431\u0435\u0439\u0434\u0456.<br>\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043b\u0430\u0440 \u0441\u0435\u0440\u0438\u044f\u043b\u044b\u049b \u0442\u04af\u0440\u0434\u0435 \u043e\u0440\u044b\u043d\u0434\u0430\u043b\u0493\u0430\u043d \u0441\u0438\u044f\u049b\u0442\u044b \u043d\u04d9\u0442\u0438\u0436\u0435\u0433\u0435 \u043a\u0435\u043f\u0456\u043b\u0434\u0456\u043a \u0431\u0435\u0440\u0456\u043b\u0435\u0434\u0456.<br>\u041c\u044b\u0441\u0430\u043b: \u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043d\u044b \u043e\u049b\u0448\u0430\u0443\u043b\u0430\u0443 \u04e9\u0437\u0430\u0440\u0430 \u0431\u0430\u0439\u043b\u0430\u043d\u044b\u0441\u0442\u044b \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043b\u0430\u0440\u0434\u0430\u043d \u0442\u0443\u044b\u043d\u0434\u0430\u0493\u0430\u043d \u0441\u04d9\u0439\u043a\u0435\u0441 \u043a\u0435\u043b\u043c\u0435\u0439\u0442\u0456\u043d \u043a\u04af\u0439\u043b\u0435\u0440\u0434\u0456 \u0431\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0439\u0434\u044b.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u04e9\u0437\u0456\u043c\u0434\u0456\u043b\u0456\u043a:<br>\u041c\u04d9\u043c\u0456\u043b\u0435 \u0436\u0430\u0441\u0430\u043b\u0493\u0430\u043d\u043d\u0430\u043d \u043a\u0435\u0439\u0456\u043d \u043e\u043d\u044b\u04a3 \u04e9\u0437\u0433\u0435\u0440\u0456\u0441\u0442\u0435\u0440\u0456 \u0442\u04b1\u0440\u0430\u049b\u0442\u044b \u0431\u043e\u043b\u0430\u0434\u044b.<br>\u04e8\u0437\u0433\u0435\u0440\u0456\u0441\u0442\u0435\u0440 \u0436\u04af\u0439\u0435\u043d\u0456\u04a3 \u0441\u04d9\u0442\u0441\u0456\u0437\u0434\u0456\u043a\u0442\u0435\u0440\u0456\u043d\u0435\u043d \u043d\u0435\u043c\u0435\u0441\u0435 \u0431\u04b1\u0437\u044b\u043b\u0443\u043b\u0430\u0440\u044b\u043d\u0430\u043d \u0430\u043c\u0430\u043d \u049b\u0430\u043b\u0430\u0434\u044b.<br>\u0414\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u04b1\u0437\u0430\u049b \u043c\u0435\u0440\u0437\u0456\u043c\u0434\u0456 \u0441\u0430\u049b\u0442\u0430\u0443\u0493\u0430 \u043a\u0435\u043f\u0456\u043b\u0434\u0456\u043a \u0431\u0435\u0440\u0456\u043b\u0435\u0434\u0456.<br>\u041c\u044b\u0441\u0430\u043b: \u0416\u04af\u0439\u0435\u043d\u0456 \u049b\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u049b\u0430\u043d\u043d\u0430\u043d \u043a\u0435\u0439\u0456\u043d \u0434\u0435 \u0436\u0430\u0441\u0430\u043b\u0493\u0430\u043d \u04e9\u0437\u0433\u0435\u0440\u0442\u0443\u043b\u0435\u0440 \u0441\u0430\u049b\u0442\u0430\u043b\u0430\u0434\u044b.<br>\u0415\u0441\u0456\u04a3\u0456\u0437\u0434\u0435 \u0431\u043e\u043b\u0441\u044b\u043d, ACID \u049b\u0430\u0441\u0438\u0435\u0442\u0442\u0435\u0440\u0456 \u0441\u0435\u043d\u0456\u043c\u0434\u0456 \u0436\u04d9\u043d\u0435 \u0434\u04d9\u0439\u0435\u043a\u0442\u0456 \u0434\u0435\u0440\u0435\u043a\u049b\u043e\u0440 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043b\u0430\u0440\u044b \u04af\u0448\u0456\u043d \u043d\u0435\u0433\u0456\u0437 \u0431\u0435\u0440\u0435\u0434\u0456!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0421\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f \u04af\u043b\u0433\u0456\u0441\u0456 \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><br>\u0421\u0438\u043f\u0430\u0442\u0442\u0430\u043c\u0430: \u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0434\u0435\u0440 \u0442\u043e\u0431\u044b\u043d \u0430\u043d\u044b\u049b\u0442\u0430\u0439\u0434\u044b, \u043e\u043b\u0430\u0440\u0434\u044b\u04a3 \u04d9\u0440\u049b\u0430\u0439\u0441\u044b\u0441\u044b\u043d \u0438\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u044f\u0446\u0438\u044f\u043b\u0430\u0439\u0434\u044b \u0436\u04d9\u043d\u0435 \u043e\u043b\u0430\u0440\u0434\u044b \u0431\u0456\u0440-\u0431\u0456\u0440\u0456\u043c\u0435\u043d \u0430\u043b\u043c\u0430\u0441\u0442\u044b\u0440\u0443\u0493\u0430 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0434\u0456. \u0411\u04b1\u043b \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0433\u0435 \u043e\u043d\u044b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0430\u0442\u044b\u043d \u0442\u04b1\u0442\u044b\u043d\u0443\u0448\u044b\u043b\u0430\u0440\u0434\u0430\u043d \u0442\u04d9\u0443\u0435\u043b\u0441\u0456\u0437 \u04e9\u0437\u0433\u0435\u0440\u0442\u0443\u0433\u0435 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0434\u0456.<br>\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">\/\/ Interface for eat behavior<\/div><div class=\"cm-line\">interface EatBehavior {<\/div><div class=\"cm-line\">void eat();<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">\/\/ Concrete implementations of eat behavior<\/div><div class=\"cm-line\">class NormalDiet implements EatBehavior {<\/div><div class=\"cm-line\">@Override<\/div><div class=\"cm-line\">public void eat() {<\/div><div class=\"cm-line\">\/\/ Normal food<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">class LosingWeightDiet implements EatBehavior {<\/div><div class=\"cm-line\">@Override<\/div><div class=\"cm-line\">public void eat() {<\/div><div class=\"cm-line\">\/\/ Healthy food<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">\/\/ Cat class with eat behavior<\/div><div class=\"cm-line\">abstract class Cat {<\/div><div class=\"cm-line\">EatBehavior eatBehavior;<\/div><div class=\"cm-line\">public void eat() {<\/div><div class=\"cm-line\">    eatBehavior.eat();<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public void setEatBehavior(EatBehavior eatBehavior) {<\/div><div class=\"cm-line\"> this.eatBehavior = eatBehavior;<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">\/\/ Usage<\/div><div class=\"cm-line\">Cat cat = new Cat();<\/div><div class=\"cm-line\">cat.setEatBehavior(new LosingWeightDiet());<\/div><div class=\"cm-line\">cat.eat(); \/\/ Cat eats with a healthier diet<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0428\u044b\u0493\u0430\u0440\u043c\u0430\u0448\u044b\u043b\u044b\u049b \u04af\u043b\u0433\u0456\u043b\u0435\u0440<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0411\u04b1\u043b \u04af\u043b\u0433\u0456\u043b\u0435\u0440 \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440\u0434\u044b \u049b\u04b1\u0440\u0443\u0493\u0430 \u0431\u0430\u0493\u044b\u0442\u0442\u0430\u043b\u0493\u0430\u043d.<br>\u041c\u044b\u0441\u0430\u043b\u0434\u0430\u0440 \u0436\u0430\u0442\u0430\u0434\u044b<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u0443\u044b\u0442\u0442\u044b\u049b \u04d9\u0434\u0456\u0441,<br>\u041c\u04d9\u0441\u0435\u043b\u0435 \u0442\u0443\u0440\u0430\u043b\u044b \u043c\u04d9\u043b\u0456\u043c\u0434\u0435\u043c\u0435: \u0411\u0456\u0437 \u043a\u043e\u0434\u0442\u044b \u043d\u0430\u049b\u0442\u044b \u0456\u0441\u043a\u0435 \u0430\u0441\u044b\u0440\u0443\u0493\u0430 \u0442\u044b\u0493\u044b\u0437 \u0431\u0430\u0439\u043b\u0430\u043d\u044b\u0441\u0442\u044b\u0440\u043c\u0430\u0439, \u04d9\u0440\u0442\u04af\u0440\u043b\u0456 \u04e9\u043d\u0456\u043c\u0434\u0435\u0440 \u0442\u04af\u0440\u043b\u0435\u0440\u0456\u043d (\u043c\u044b\u0441\u0430\u043b\u044b, \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044c\u0434\u0435\u0440, \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434\u0442\u0435\u0440, \u0446\u0438\u043a\u043b\u0434\u0430\u0440) \u0436\u0430\u0441\u0430\u0493\u044b\u043c\u044b\u0437 \u043a\u0435\u043b\u0435\u0434\u0456 \u0434\u0435\u043b\u0456\u043a.<br>\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0442\u0435\u0440:<br>\u04e8\u043d\u0456\u043c: \u0437\u0430\u0443\u044b\u0442 \u0436\u0430\u0441\u0430\u0439\u0442\u044b\u043d \u043d\u044b\u0441\u0430\u043d\u0434\u0430\u0440 \u04af\u0448\u0456\u043d \u0436\u0430\u043b\u043f\u044b \u04d9\u0440\u0435\u043a\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u0430\u043d\u044b\u049b\u0442\u0430\u0439\u0442\u044b\u043d \u0434\u0435\u0440\u0435\u043a\u0441\u0456\u0437 \u043a\u043b\u0430\u0441\u0441 \u043d\u0435\u043c\u0435\u0441\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441.<br>\u0411\u0435\u0442\u043e\u043d \u04e9\u043d\u0456\u043c\u0434\u0435\u0440\u0456: \u04e8\u043d\u0456\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0456\u043d \u0436\u04af\u0437\u0435\u0433\u0435 \u0430\u0441\u044b\u0440\u0430\u0442\u044b\u043d \u0436\u04d9\u043d\u0435 \u043d\u0430\u049b\u0442\u044b \u043d\u044b\u0441\u0430\u043d \u0442\u04af\u0440\u043b\u0435\u0440\u0456\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0435\u0442\u0456\u043d \u043d\u0430\u049b\u0442\u044b \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440.<br>\u0416\u0430\u0441\u0430\u0443\u0448\u044b: \u0417\u0430\u0443\u044b\u0442\u0442\u044b\u049b \u04d9\u0434\u0456\u0441\u0442\u0456 \u0436\u0430\u0440\u0438\u044f\u043b\u0430\u0439\u0442\u044b\u043d \u0434\u0435\u0440\u0435\u043a\u0441\u0456\u0437 \u043a\u043b\u0430\u0441\u0441 \u043d\u0435\u043c\u0435\u0441\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. \u041e\u043b \u04e8\u043d\u0456\u043c \u043d\u044b\u0441\u0430\u043d\u0434\u0430\u0440\u044b\u043d \u0436\u0430\u0441\u0430\u0443\u0493\u0430 \u0436\u0430\u0443\u0430\u043f \u0431\u0435\u0440\u0435\u0434\u0456, \u0431\u0456\u0440\u0430\u049b \u0456\u0448\u043a\u0456 \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440\u0434\u044b \u043d\u0430\u049b\u0442\u044b \u0436\u0430\u0441\u0430\u0443\u0434\u044b \u0442\u0430\u043f\u0441\u044b\u0440\u0430\u0434\u044b.<br>\u0411\u0435\u0442\u043e\u043d\u0434\u044b \u0436\u0430\u0441\u0430\u0443\u0448\u044b\u043b\u0430\u0440: \u0417\u0430\u0443\u044b\u0442\u0442\u044b\u049b \u04d9\u0434\u0456\u0441\u0442\u0456 \u0436\u04af\u0437\u0435\u0433\u0435 \u0430\u0441\u044b\u0440\u0430\u0442\u044b\u043d \u0436\u0430\u0441\u0430\u0443\u0448\u044b\u043d\u044b\u04a3 \u0456\u0448\u043a\u0456 \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440\u044b. \u041e\u043b\u0430\u0440 \u043a\u0456\u0440\u0456\u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0456 \u043d\u0435\u043c\u0435\u0441\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043d\u0435\u0433\u0456\u0437\u0456\u043d\u0434\u0435 \u049b\u0430\u043d\u0434\u0430\u0439 \u043d\u0430\u049b\u0442\u044b \u0411\u0435\u0442\u043e\u043d \u04e9\u043d\u0456\u043c\u0456\u043d \u0436\u0430\u0441\u0430\u0443 \u043a\u0435\u0440\u0435\u043a\u0442\u0456\u0433\u0456\u043d \u0448\u0435\u0448\u0435\u0434\u0456.<br>\u0417\u0430\u0443\u044b\u0442\u0442\u044b\u049b \u04d9\u0434\u0456\u0441: \u04e8\u043d\u0456\u043c \u043d\u044b\u0441\u0430\u043d\u0434\u0430\u0440\u044b\u043d \u0436\u0430\u0441\u0430\u0439\u0442\u044b\u043d Creator \u0441\u044b\u043d\u044b\u0431\u044b\u043d\u0434\u0430 \u0430\u043d\u044b\u049b\u0442\u0430\u043b\u0493\u0430\u043d \u04d9\u0434\u0456\u0441. \u041e\u043b \u04d9\u0434\u0435\u0442\u0442\u0435 Creator \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u0441\u044b\u043d\u0434\u0430 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u0456\u043b\u0456 \u0431\u043e\u043b\u044b\u043f \u0436\u0430\u0440\u0438\u044f\u043b\u0430\u043d\u0430\u0434\u044b \u0436\u04d9\u043d\u0435 \u043d\u0430\u049b\u0442\u044b \u0436\u0430\u0441\u0430\u0443\u0448\u044b\u043b\u0430\u0440\u0434\u0430 \u0436\u04af\u0437\u0435\u0433\u0435 \u0430\u0441\u044b\u0440\u044b\u043b\u0430\u0434\u044b.<br>Java \u0442\u0456\u043b\u0456\u043d\u0434\u0435\u0433\u0456 \u043c\u044b\u0441\u0430\u043b: \u0411\u0456\u0437\u0434\u0435 \u04d9\u0440\u0442\u04af\u0440\u043b\u0456 \u043a\u04e9\u043b\u0456\u043a \u0442\u04af\u0440\u043b\u0435\u0440\u0456\u043d \u0448\u044b\u0493\u0430\u0440\u0430\u0442\u044b\u043d \u0437\u0430\u0443\u044b\u0442 \u0431\u0430\u0440 \u0434\u0435\u043b\u0456\u043a. \u041c\u0456\u043d\u0435, \u0436\u0435\u04a3\u0456\u043b\u0434\u0435\u0442\u0456\u043b\u0433\u0435\u043d \u043c\u044b\u0441\u0430\u043b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-mathematica\"><div class=\"cm-line\"><span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-keyword\">Abstract<\/span> <span class=\"tok-keyword\">Product<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">interface<\/span> <span class=\"tok-keyword\">Product<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">void<\/span> <span class=\"tok-keyword\">display<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-keyword\">Concrete<\/span> <span class=\"tok-keyword\">Products<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">Car<\/span> <span class=\"tok-keyword\">implements<\/span> <span class=\"tok-keyword\">Product<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">void<\/span> <span class=\"tok-keyword\">display<\/span><span class=\"tok-punctuation\">()<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">System<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">out<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">println<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-string\">&quot;Car created&quot;<\/span><span class=\"tok-punctuation\">)<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">  <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">Bike<\/span> <span class=\"tok-keyword\">implements<\/span> <span class=\"tok-keyword\">Product<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">void<\/span> <span class=\"tok-keyword\">display<\/span><span class=\"tok-punctuation\">()<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">System<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">out<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">println<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-string\">&quot;Bike created&quot;<\/span><span class=\"tok-punctuation\">)<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">  <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-keyword\">Creator<\/span> <span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">Factory<\/span><span class=\"tok-punctuation\">)<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">interface<\/span> <span class=\"tok-keyword\">Factory<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">Product<\/span> <span class=\"tok-keyword\">factoryMethod<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-keyword\">Concrete<\/span> <span class=\"tok-keyword\">Creators<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">ConcreteFactoryA<\/span> <span class=\"tok-keyword\">implements<\/span> <span class=\"tok-keyword\">Factory<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">Product<\/span> <span class=\"tok-keyword\">factoryMethod<\/span><span class=\"tok-punctuation\">()<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">return<\/span> <span class=\"tok-keyword\">new<\/span> <span class=\"tok-keyword\">Car<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">  <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">ConcreteFactoryB<\/span> <span class=\"tok-keyword\">implements<\/span> <span class=\"tok-keyword\">Factory<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">Product<\/span> <span class=\"tok-keyword\">factoryMethod<\/span><span class=\"tok-punctuation\">()<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">return<\/span> <span class=\"tok-keyword\">new<\/span> <span class=\"tok-keyword\">Bike<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">  <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">FactoryMethodExample<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">static<\/span> <span class=\"tok-keyword\">void<\/span> <span class=\"tok-keyword\">main<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">String<\/span><span class=\"tok-punctuation\">[]<\/span> <span class=\"tok-keyword\">args<\/span><span class=\"tok-punctuation\">)<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">Factory<\/span> <span class=\"tok-keyword\">factoryA<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">new<\/span> <span class=\"tok-keyword\">ConcreteFactoryA<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">Product<\/span> <span class=\"tok-keyword\">productA<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">factoryA<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">factoryMethod<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">productA<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">display<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">Factory<\/span> <span class=\"tok-keyword\">factoryB<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">new<\/span> <span class=\"tok-keyword\">ConcreteFactoryB<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">Product<\/span> <span class=\"tok-keyword\">productB<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">factoryB<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">factoryMethod<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">productB<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">display<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u049a\u04b1\u0440\u044b\u043b\u044b\u0441\u0448\u044b<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Builder Pattern &#8211; \u043a\u04af\u0440\u0434\u0435\u043b\u0456 \u043d\u044b\u0441\u0430\u043d\u0434\u0430\u0440\u0434\u044b \u043a\u0435\u0437\u0435\u04a3-\u043a\u0435\u0437\u0435\u04a3\u0456\u043c\u0435\u043d \u0441\u0430\u043b\u0443\u0493\u0430 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0442\u0456\u043d \u0448\u044b\u0493\u0430\u0440\u043c\u0430\u0448\u044b\u043b\u044b\u049b \u0434\u0438\u0437\u0430\u0439\u043d \u04af\u043b\u0433\u0456\u0441\u0456,<br>\u043e\u043b\u0430\u0440\u0434\u044b\u04a3 \u049b\u04b1\u0440\u044b\u043b\u044b\u0441\u044b\u043d \u043e\u043b\u0430\u0440\u0434\u044b\u04a3 \u04e9\u043a\u0456\u043b\u0434\u0456\u0433\u0456\u043d\u0435\u043d \u0431\u04e9\u043b\u0443 \u0430\u0440\u049b\u044b\u043b\u044b. Java \u0442\u0456\u043b\u0456\u043d\u0434\u0435\u0433\u0456 \u049b\u0430\u0440\u0430\u043f\u0430\u0439\u044b\u043c \u043c\u044b\u0441\u0430\u043b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-mathematica\"><div class=\"cm-line\"><span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-keyword\">Define<\/span> <span class=\"tok-keyword\">the<\/span> <span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">you<\/span> <span class=\"tok-keyword\">want<\/span> <span class=\"tok-keyword\">to<\/span> <span class=\"tok-keyword\">build<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">Post<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">private<\/span> <span class=\"tok-keyword\">final<\/span> <span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">title<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">private<\/span> <span class=\"tok-keyword\">final<\/span> <span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">text<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">private<\/span> <span class=\"tok-keyword\">final<\/span> <span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">category<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">Post<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">Builder<\/span> <span class=\"tok-keyword\">builder<\/span><span class=\"tok-punctuation\">)<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">this<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">title<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">builder<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">title<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">this<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">text<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">builder<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">text<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">this<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">category<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">builder<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">category<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-keyword\">Getters<\/span> <span class=\"tok-keyword\">for<\/span> <span class=\"tok-keyword\">properties<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">getTitle<\/span><span class=\"tok-punctuation\">()<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">return<\/span> <span class=\"tok-keyword\">title<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">getText<\/span><span class=\"tok-punctuation\">()<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">return<\/span> <span class=\"tok-keyword\">text<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">getCategory<\/span><span class=\"tok-punctuation\">()<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">return<\/span> <span class=\"tok-keyword\">category<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-keyword\">Builder<\/span> <span class=\"tok-keyword\">class<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">static<\/span> <span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">Builder<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">private<\/span> <span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">title<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">private<\/span> <span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">text<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">private<\/span> <span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">category<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">Builder<\/span> <span class=\"tok-keyword\">title<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">title<\/span><span class=\"tok-punctuation\">)<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">this<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">title<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">title<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">return<\/span> <span class=\"tok-keyword\">this<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">Builder<\/span> <span class=\"tok-keyword\">text<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">text<\/span><span class=\"tok-punctuation\">)<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">this<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">text<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">text<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">return<\/span> <span class=\"tok-keyword\">this<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">Builder<\/span> <span class=\"tok-keyword\">category<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">category<\/span><span class=\"tok-punctuation\">)<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">this<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">category<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">category<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">return<\/span> <span class=\"tok-keyword\">this<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">Post<\/span> <span class=\"tok-keyword\">build<\/span><span class=\"tok-punctuation\">()<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">return<\/span> <span class=\"tok-keyword\">new<\/span> <span class=\"tok-keyword\">Post<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">this<\/span><span class=\"tok-punctuation\">)<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-keyword\">Usage<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">Main<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">static<\/span> <span class=\"tok-keyword\">void<\/span> <span class=\"tok-keyword\">main<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">String<\/span><span class=\"tok-punctuation\">[]<\/span> <span class=\"tok-keyword\">args<\/span><span class=\"tok-punctuation\">)<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">Post<\/span> <span class=\"tok-keyword\">post<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">new<\/span> <span class=\"tok-keyword\">Post<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">Builder<\/span><span class=\"tok-punctuation\">()<\/span><\/div><div class=\"cm-line\"><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">title<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-string\">&quot;Java Builder Pattern&quot;<\/span><span class=\"tok-punctuation\">)<\/span><\/div><div class=\"cm-line\"><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">text<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-string\">&quot;Explaining how to implement the Builder Pattern in Java&quot;<\/span><span class=\"tok-punctuation\">)<\/span><\/div><div class=\"cm-line\"><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">category<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-string\">&quot;Design Patterns&quot;<\/span><span class=\"tok-punctuation\">)<\/span><\/div><div class=\"cm-line\"><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">build<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">System<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">out<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">println<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-string\">&quot;Title: &quot;<\/span> <span class=\"tok-operator\">+<\/span> <span class=\"tok-keyword\">post<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">getTitle<\/span><span class=\"tok-punctuation\">())<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">System<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">out<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">println<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-string\">&quot;Text: &quot;<\/span> <span class=\"tok-operator\">+<\/span> <span class=\"tok-keyword\">post<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">getText<\/span><span class=\"tok-punctuation\">())<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">System<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">out<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">println<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-string\">&quot;Category: &quot;<\/span> <span class=\"tok-operator\">+<\/span> <span class=\"tok-keyword\">post<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">getCategory<\/span><span class=\"tok-punctuation\">())<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">  <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u041f\u0440\u043e\u0442\u043e\u0442\u0438\u043f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u041f\u0440\u043e\u0442\u043e\u0442\u0438\u043f<\/strong><br><br>Prototype Pattern &#8211; \u0431\u04b1\u043b \u0431\u0430\u0440 \u043d\u044b\u0441\u0430\u043d\u0434\u044b \u043a\u04e9\u0448\u0456\u0440\u0443 \u0430\u0440\u049b\u044b\u043b\u044b \u0436\u0430\u04a3\u0430 \u043d\u044b\u0441\u0430\u043d\u0434\u0430\u0440\u0434\u044b \u0436\u0430\u0441\u0430\u0443\u0493\u0430 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0442\u0456\u043d \u0448\u044b\u0493\u0430\u0440\u043c\u0430\u0448\u044b\u043b\u044b\u049b \u0434\u0438\u0437\u0430\u0439\u043d \u04af\u043b\u0433\u0456\u0441\u0456.<br>\u0416\u0430\u04a3\u0430 \u0434\u0430\u043d\u0430\u043b\u0430\u0440\u0434\u044b \u043d\u04e9\u043b\u0434\u0435\u043d \u0436\u0430\u0441\u0430\u0443\u0434\u044b\u04a3 \u043e\u0440\u043d\u044b\u043d\u0430 \u0441\u0456\u0437 \u0442\u0438\u0456\u043c\u0434\u0456\u0440\u0435\u043a \u0436\u04d9\u043d\u0435 \u0438\u043a\u0435\u043c\u0434\u0456 \u0431\u043e\u043b\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d \u0431\u0430\u0440 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0442\u0456 \u043a\u043b\u043e\u043d\u0434\u0430\u0439\u0441\u044b\u0437. Java \u0442\u0456\u043b\u0456\u043d\u0434\u0435\u0433\u0456 \u043c\u044b\u0441\u0430\u043b\u0434\u044b \u049b\u0430\u0440\u0430\u0441\u0442\u044b\u0440\u0430\u0439\u044b\u049b:<br><strong>\u041f\u0440\u043e\u0442\u043e\u0442\u0438\u043f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0456\u043d \u0430\u043d\u044b\u049b\u0442\u0430\u04a3\u044b\u0437<\/strong>: \u0410\u043b\u0434\u044b\u043c\u0435\u043d \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u0456\u043b\u0456 \u043a\u043b\u0430\u0441\u0441 \u043d\u0435\u043c\u0435\u0441\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u0435\u043f \u0430\u0442\u0430\u043b\u0430\u0442\u044b\u043d \u0436\u0430\u0441\u0430\u0439\u043c\u044b\u0437 <code>Tree<\/code>, \u0434\u0435\u0440\u0435\u043a\u0441\u0456\u0437 \u04d9\u0434\u0456\u0441\u043f\u0435\u043d <code>copy()<\/code>:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public abstract class Tree {<\/div><div class=\"cm-line\">public abstract Tree copy();<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0411\u0435\u0442\u043e\u043d \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0442\u0435\u0440\u0456<\/strong>: \u04d8\u0440\u0456 \u049b\u0430\u0440\u0430\u0439, \u0431\u0456\u0437 \u043a\u0435\u04a3\u0435\u0439\u0442\u0435\u0442\u0456\u043d \u0435\u043a\u0456 \u043d\u0430\u049b\u0442\u044b \u0441\u044b\u043d\u044b\u043f\u0442\u044b \u0436\u04af\u0437\u0435\u0433\u0435 \u0430\u0441\u044b\u0440\u0430\u043c\u044b\u0437 <code>Tree<\/code>: <code>PlasticTree<\/code> \u0436\u04d9\u043d\u0435 <code>PineTree<\/code>. \u0411\u04b1\u043b \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440 \u0430\u0493\u0430\u0448\u0442\u0430\u0440\u0434\u044b\u04a3 \u043d\u0430\u049b\u0442\u044b \u0442\u04af\u0440\u043b\u0435\u0440\u0456\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0435\u0434\u0456 \u0436\u04d9\u043d\u0435 \u04e9\u0437\u0434\u0435\u0440\u0456\u043d\u0456\u04a3 \u04d9\u0434\u0456\u0441\u0442\u0456 \u0436\u04af\u0437\u0435\u0433\u0435 \u0430\u0441\u044b\u0440\u0443\u044b\u043d \u049b\u0430\u043c\u0442\u0430\u043c\u0430\u0441\u044b\u0437 \u0435\u0442\u0435\u0434\u0456 <code>copy()<\/code>:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class PlasticTree extends Tree {<\/div><div class=\"cm-line\">@Override<\/div><div class=\"cm-line\">public Tree copy() {<\/div><div class=\"cm-line\">PlasticTree plasticTreeClone = new PlasticTree(this.getMass(), <\/div><div class=\"cm-line\">this.getHeight());<\/div><div class=\"cm-line\">plasticTreeClone.setPosition(this.getPosition());<\/div><div class=\"cm-line\">return plasticTreeClone;<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class PineTree extends Tree {<\/div><div class=\"cm-line\">@Override<\/div><div class=\"cm-line\">public Tree copy() {<\/div><div class=\"cm-line\">PineTree pineTreeClone = new PineTree(this.getMass(), <\/div><div class=\"cm-line\">this.getHeight());<\/div><div class=\"cm-line\">pineTreeClone.setPosition(this.getPosition());<\/div><div class=\"cm-line\">return pineTreeClone;<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><br>\u0411\u04b1\u043b \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440\u0434\u0430 \u0431\u0456\u0437 \u043a\u043b\u043e\u043d\u0434\u0430\u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0456\u043d \u0430\u0493\u0430\u0448\u0442\u044b\u04a3 \u043d\u0430\u049b\u0442\u044b \u0442\u04af\u0440\u0456\u043d\u0435 \u0441\u04d9\u0439\u043a\u0435\u0441 \u0440\u0435\u0442\u0442\u0435\u0439\u043c\u0456\u0437. \u041c\u044b\u0441\u0430\u043b\u044b, \u0431\u0456\u0437 \u043a\u04e9\u0448\u0456\u0440\u0435\u043c\u0456\u0437 <em>\u043c\u0430\u0441\u0441\u0430\u0441\u044b<\/em>, <em>\u0431\u0438\u0456\u043a\u0442\u0456\u0433\u0456<\/em> \u0436\u04d9\u043d\u0435 <em>\u043f\u043e\u0437\u0438\u0446\u0438\u044f<\/em> \u0431\u0430\u0441\u0442\u0430\u043f\u049b\u044b \u0430\u0493\u0430\u0448\u0442\u0430\u043d.<br><strong>\u049a\u043e\u043b\u0434\u0430\u043d\u044b\u043b\u0443\u044b<\/strong>: \u0415\u043d\u0434\u0456 \u043d\u0430\u049b\u0442\u044b \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0442\u0435\u0440\u0456\u043c\u0456\u0437\u0434\u0456 \u0436\u0430\u0441\u0430\u0439\u044b\u049b:<br>Java<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-mathematica\"><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">Main<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">static<\/span> <span class=\"tok-keyword\">void<\/span> <span class=\"tok-keyword\">main<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">String<\/span><span class=\"tok-punctuation\">[]<\/span> <span class=\"tok-keyword\">args<\/span><span class=\"tok-punctuation\">)<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">Tree<\/span> <span class=\"tok-keyword\">originalPlasticTree<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">new<\/span> <span class=\"tok-keyword\">PlasticTree<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-number\">10<\/span><span class=\"tok-operator\">,<\/span> <span class=\"tok-number\">5<\/span><span class=\"tok-punctuation\">)<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">Tree<\/span> <span class=\"tok-keyword\">clonedPlasticTree<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">originalPlasticTree<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">copy<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">Tree<\/span> <span class=\"tok-keyword\">originalPineTree<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">new<\/span> <span class=\"tok-keyword\">PineTree<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-number\">15<\/span><span class=\"tok-operator\">,<\/span> <span class=\"tok-number\">8<\/span><span class=\"tok-punctuation\">)<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">Tree<\/span> <span class=\"tok-keyword\">clonedPineTree<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">originalPineTree<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">copy<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    <span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-keyword\">Use<\/span> <span class=\"tok-keyword\">the<\/span> <span class=\"tok-keyword\">cloned<\/span> <span class=\"tok-keyword\">trees<\/span> <span class=\"tok-keyword\">as<\/span> <span class=\"tok-keyword\">needed<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-operator\">...<\/span><\/div><div class=\"cm-line\">  <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u049a\u04b1\u0440\u044b\u043b\u044b\u043c\u0434\u044b\u049b \u04af\u043b\u0433\u0456\u043b\u0435\u0440 \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0411\u04b1\u043b \u04af\u043b\u0433\u0456\u043b\u0435\u0440 \u0441\u044b\u043d\u044b\u043f\u0442\u044b\u04a3 \u049b\u04b1\u0440\u044b\u043b\u044b\u043c\u044b \u043c\u0435\u043d \u049b\u04b1\u0440\u0430\u043c\u044b\u043d\u0430 \u0441\u0456\u043b\u0442\u0435\u043c\u0435 \u0436\u0430\u0441\u0430\u0439\u0434\u044b.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0410\u0434\u0430\u043f\u0442\u0435\u0440 \u04af\u043b\u0433\u0456\u0441\u0456<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410\u0434\u0430\u043f\u0442\u0435\u0440 \u04af\u043b\u0433\u0456\u0441\u0456 \u0435\u043a\u0456 \u04af\u0439\u043b\u0435\u0441\u0456\u043c\u0441\u0456\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0442\u0435\u0440\u0434\u0456\u04a3 \u0431\u0456\u0440\u0433\u0435 \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0443\u0456\u043d\u0435 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0442\u0456\u043d \u049b\u04b1\u0440\u044b\u043b\u044b\u043c\u0434\u044b\u049b \u0434\u0438\u0437\u0430\u0439\u043d \u04af\u043b\u0433\u0456\u0441\u0456 \u0431\u043e\u043b\u044b\u043f \u0442\u0430\u0431\u044b\u043b\u0430\u0434\u044b.<br>\u041e\u043b \u043e\u0441\u044b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0442\u0435\u0440 \u0430\u0440\u0430\u0441\u044b\u043d\u0434\u0430\u0493\u044b \u043a\u04e9\u043f\u0456\u0440 \u0440\u04e9\u043b\u0456\u043d \u0430\u0442\u049b\u0430\u0440\u0430\u0434\u044b, \u043e\u043b\u0430\u0440\u0434\u044b\u04a3 \u0431\u0430\u0441\u0442\u0430\u043f\u049b\u044b \u043a\u043e\u0434\u044b\u043d \u04e9\u0437\u0433\u0435\u0440\u0442\u043f\u0435\u0441\u0442\u0435\u043d \u044b\u043d\u0442\u044b\u043c\u0430\u049b\u0442\u0430\u0441\u0443\u0493\u0430 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0434\u0456.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u044b\u0441\u0430\u043d \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0456:<br>\u0411\u04b1\u043b \u0442\u04d9\u0441\u0456\u043b\u0434\u0435 \u043b\u043e\u0433\u0438\u043a\u0430\u043d\u044b \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0433\u0435 \u0431\u0435\u0440\u0443 \u04af\u0448\u0456\u043d \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f\u043d\u044b \u049b\u043e\u043b\u0434\u0430\u043d\u0430\u043c\u044b\u0437.<br>\u0410\u0434\u0430\u043f\u0442\u0435\u0440\u0434\u0435 Adaptee \u0431\u0430\u0440 \u0436\u04d9\u043d\u0435 \u0441\u04b1\u0440\u0430\u0443() \u04d9\u0434\u0456\u0441\u0456\u043d Adaptee \u0456\u0448\u0456\u043d\u0434\u0435\u0433\u0456 specialRequest() \u04d9\u0434\u0456\u0441\u0456\u043d\u0435 \u0431\u0435\u0440\u0435\u0434\u0456.<br><\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">class Adaptee {<\/div><div class=\"cm-line\">void specificRequest() {<\/div><div class=\"cm-line\">System.out.println(&quot;Adaptee&apos;s specific request&quot;);<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">\/\/ Target interface<\/div><div class=\"cm-line\">interface Target {<\/div><div class=\"cm-line\">void request();<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">\/\/ Adapter (using composition)<\/div><div class=\"cm-line\">class Adapter implements Target {<\/div><div class=\"cm-line\">private final Adaptee adaptee;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">Adapter(Adaptee adaptee) {<\/div><div class=\"cm-line\">    this.adaptee = adaptee;<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">@Override<\/div><div class=\"cm-line\">public void request() {<\/div><div class=\"cm-line\">    adaptee.specificRequest();<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043b\u0430\u0441\u0441 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0456:<br>\u0411\u0456\u0440\u043d\u0435\u0448\u0435 \u043c\u04b1\u0440\u0430\u043d\u044b \u049b\u0430\u0436\u0435\u0442 \u0435\u0442\u0435\u0434\u0456 (Java-\u0434\u0430 \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u043c\u04af\u043c\u043a\u0456\u043d \u0435\u043c\u0435\u0441).<br>\u0411\u0456\u0437 \u0431\u04b1\u0493\u0430\u043d \u04d9\u0434\u0435\u043f\u043a\u0456 \u04d9\u0434\u0456\u0441\u0442\u0435\u0440\u043c\u0435\u043d \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0442\u0435\u0440 \u0430\u0440\u049b\u044b\u043b\u044b \u049b\u043e\u043b \u0436\u0435\u0442\u043a\u0456\u0437\u0435 \u0430\u043b\u0430\u043c\u044b\u0437.<br>\u0410\u0434\u0430\u043f\u0442\u0435\u0440 Target \u0436\u04d9\u043d\u0435 Adaptee \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440\u044b\u043d\u0430\u043d \u043c\u04b1\u0440\u0430 \u0430\u043b\u0430\u0434\u044b.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">\/\/ Target interface<\/div><div class=\"cm-line\">interface Target {<\/div><div class=\"cm-line\">void request();<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">\/\/ Adaptee (existing class)<\/div><div class=\"cm-line\">class Adaptee {<\/div><div class=\"cm-line\">void specificRequest() {<\/div><div class=\"cm-line\">System.out.println(&quot;Adaptee&apos;s specific request&quot;);<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">\/\/ Adapter (using class inheritance)<\/div><div class=\"cm-line\">class Adapter extends Adaptee implements Target {<\/div><div class=\"cm-line\">@Override<\/div><div class=\"cm-line\">public void request() {<\/div><div class=\"cm-line\">specificRequest();<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><br>\u0410\u0440\u0442\u044b\u049b\u0448\u044b\u043b\u044b\u049b\u0442\u0430\u0440 \u043c\u0435\u043d \u0430\u0439\u044b\u0440\u0431\u0430\u0441\u0442\u0430\u0440:<br>\u041a\u043b\u0430\u0441\u0441 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0456 \u04d9\u0434\u0456\u0441\u0442\u0435\u0440\u0434\u0456\u04a3 \u0431\u0456\u0440-\u0431\u0456\u0440\u0456\u043d \u0441\u0430\u043b\u044b\u0441\u0442\u044b\u0440\u0443 \u04af\u0448\u0456\u043d \u0436\u0430\u049b\u0441\u044b \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0439\u0434\u0456.<br>\u041d\u044b\u0441\u0430\u043d \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0456 \u043a\u04e9\u0431\u0456\u0440\u0435\u043a \u0438\u043a\u0435\u043c\u0434\u0456\u043b\u0456\u043a\u0442\u0456 \u049b\u0430\u043c\u0442\u0430\u043c\u0430\u0441\u044b\u0437 \u0435\u0442\u0435\u0434\u0456 \u0436\u04d9\u043d\u0435 \u0431\u0430\u0441\u0442\u0430\u043f\u049b\u044b \u043a\u043e\u0434\u0442\u044b \u04e9\u0437\u0433\u0435\u0440\u0442\u0443\u0434\u0456 \u0431\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0439\u0434\u044b.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0414\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440 \u04af\u043b\u0433\u0456\u0441\u0456<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440 \u04af\u043b\u0433\u0456\u0441\u0456 &#8211; \u0431\u04b1\u043b \u043a\u0440\u0435\u0430\u0442\u0438\u0432\u0442\u0456 \u0434\u0438\u0437\u0430\u0439\u043d \u04af\u043b\u0433\u0456\u0441\u0456, \u043e\u043b \u043e\u0431\u044a\u0435\u043a\u0442\u0456\u0433\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0434\u044b\u043b\u044b\u049b \u043f\u0435\u043d \u04d9\u0440\u0435\u043a\u0435\u0442\u0442\u0456 \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0430\u043b\u044b\u049b \u0442\u04af\u0440\u0434\u0435 \u049b\u043e\u0441\u0443\u0493\u0430 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0434\u0456.<br>\u0441\u043e\u043b \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0493\u044b \u0431\u0430\u0441\u049b\u0430 \u0431\u0430\u0440 \u043d\u044b\u0441\u0430\u043d\u0434\u0430\u0440\u0434\u044b\u04a3 \u04d9\u0440\u0435\u043a\u0435\u0442\u0456\u043d\u0435 \u04d9\u0441\u0435\u0440 \u0435\u0442\u0443. \u0411\u04b1\u043b \u04d9\u0441\u0456\u0440\u0435\u0441\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0456\u043d\u0456\u04a3 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a\u0442\u0435\u0440\u0456\u043d \u043a\u0435\u04a3\u0435\u0439\u0442\u043a\u0456\u04a3\u0456\u0437 \u043a\u0435\u043b\u0433\u0435\u043d\u0434\u0435 \u043f\u0430\u0439\u0434\u0430\u043b\u044b,<br>\u049b\u04b1\u0440\u044b\u043b\u044b\u043c\u044b\u043d \u04e9\u0437\u0433\u0435\u0440\u0442\u043f\u0435\u0439.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0428\u043e\u043b\u0443:<br>\u0414\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440 \u04af\u043b\u0433\u0456\u0441\u0456 \u0431\u0430\u0441\u0442\u0430\u043f\u049b\u044b \u043d\u044b\u0441\u0430\u043d\u0434\u044b \u049b\u043e\u0441\u044b\u043c\u0448\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0434\u044b\u043b\u044b\u049b\u043f\u0435\u043d \u00ab\u043e\u0440\u0430\u0443\u00bb \u0430\u0440\u049b\u044b\u043b\u044b \u043a\u0435\u04a3\u0435\u0439\u0442\u0456\u043b\u0433\u0435\u043d \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0442\u0456 \u049b\u0430\u043c\u0442\u0430\u043c\u0430\u0441\u044b\u0437 \u0435\u0442\u0435\u0434\u0456.<br>\u0406\u0448\u043a\u0456 \u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0443 \u0448\u044b\u0493\u044b\u043d\u0434\u0430\u0440\u044b\u043d \u0430\u0437\u0430\u0439\u0442\u0443 \u04af\u0448\u0456\u043d \u043c\u04b1\u0440\u0430\u0493\u0430 \u049b\u0430\u0440\u0430\u0493\u0430\u043d\u0434\u0430 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f\u043d\u044b \u0442\u0430\u04a3\u0434\u0430\u0439\u043c\u044b\u0437.<br>\u0414\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u043b\u0430\u0440\u0434\u044b \u043e\u0440\u044b\u043d\u0434\u0430\u0443 \u0443\u0430\u049b\u044b\u0442\u044b\u043d\u0434\u0430 \u049b\u043e\u0441\u0443\u0493\u0430 \u0431\u043e\u043b\u0430\u0434\u044b, \u0431\u04b1\u043b \u0438\u043a\u0435\u043c\u0434\u0456\u043b\u0456\u043a\u0442\u0456 \u049b\u0430\u043c\u0442\u0430\u043c\u0430\u0441\u044b\u0437 \u0435\u0442\u0435\u0434\u0456.<br>\u041c\u044b\u0441\u0430\u043b \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439: \u0411\u0456\u0437\u0434\u0435 \u0420\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u043e\u043b\u044b\u049b \u0448\u044b\u0440\u0448\u0430 \u043d\u044b\u0441\u0430\u043d\u044b \u0431\u0430\u0440 \u0434\u0435\u043f \u0435\u0441\u0435\u043f\u0442\u0435\u0439\u0456\u043a \u0436\u04d9\u043d\u0435 \u043e\u043d\u044b \u0433\u0438\u0440\u043b\u044f\u043d\u0434\u0430, \u049b\u0430\u04a3\u044b\u043b\u0442\u044b\u0440 \u0436\u04d9\u043d\u0435 \u043a\u04e9\u043f\u0456\u0440\u0448\u0456\u043a\u0442\u0456 \u0448\u0430\u043c\u0434\u0430\u0440 \u0441\u0438\u044f\u049b\u0442\u044b \u04d9\u0440\u0442\u04af\u0440\u043b\u0456 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0442\u0435\u0440\u043c\u0435\u043d \u0431\u0435\u0437\u0435\u043d\u0434\u0456\u0440\u0433\u0456\u043c\u0456\u0437 \u043a\u0435\u043b\u0435\u0434\u0456. \u0411\u0456\u0437 \u00ab\u0422\u04e9\u0440\u0442\u0442\u0456\u043a \u0431\u0430\u043d\u0434\u0430\u00bb \u0434\u0438\u0437\u0430\u0439\u043d \u043a\u043e\u043d\u0432\u0435\u043d\u0446\u0438\u044f\u0441\u044b\u043d \u04b1\u0441\u0442\u0430\u043d\u0430\u043c\u044b\u0437.<br>\u0406\u0441\u043a\u0435 \u0430\u0441\u044b\u0440\u0443:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-mathematica\"><div class=\"cm-line\"><span class=\"tok-keyword\">First<\/span><span class=\"tok-operator\">,<\/span> <span class=\"tok-keyword\">create<\/span> <span class=\"tok-keyword\">a<\/span> <span class=\"tok-keyword\">ChristmasTree<\/span> <span class=\"tok-keyword\">interface<\/span><span class=\"tok-operator\">:<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">Java<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">interface<\/span> <span class=\"tok-keyword\">ChristmasTree<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">decorate<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">Implement<\/span> <span class=\"tok-keyword\">the<\/span> <span class=\"tok-keyword\">interface<\/span> <span class=\"tok-keyword\">with<\/span> <span class=\"tok-keyword\">a<\/span> <span class=\"tok-keyword\">basic<\/span> <span class=\"tok-keyword\">tree<\/span><span class=\"tok-operator\">:<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">Java<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">ChristmasTreeImpl<\/span> <span class=\"tok-keyword\">implements<\/span> <span class=\"tok-keyword\">ChristmasTree<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-operator\">@<\/span><span class=\"tok-keyword\">Override<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">decorate<\/span><span class=\"tok-punctuation\">()<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">return<\/span> <span class=\"tok-string\">&quot;Christmas tree&quot;<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">  <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">Next<\/span><span class=\"tok-operator\">,<\/span> <span class=\"tok-keyword\">create<\/span> <span class=\"tok-keyword\">an<\/span> <span class=\"tok-keyword\">abstract<\/span> <span class=\"tok-keyword\">TreeDecorator<\/span> <span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">that<\/span> <span class=\"tok-keyword\">implements<\/span> <\/div><div class=\"cm-line\"><span class=\"tok-keyword\">ChristmasTree<\/span> <span class=\"tok-keyword\">and<\/span> <span class=\"tok-keyword\">holds<\/span> <span class=\"tok-keyword\">the<\/span> <span class=\"tok-keyword\">decorated<\/span> <span class=\"tok-keyword\">tree<\/span><span class=\"tok-operator\">:<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">Java<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">abstract<\/span> <span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">TreeDecorator<\/span> <span class=\"tok-keyword\">implements<\/span> <span class=\"tok-keyword\">ChristmasTree<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">private<\/span> <span class=\"tok-keyword\">final<\/span> <span class=\"tok-keyword\">ChristmasTree<\/span> <span class=\"tok-keyword\">tree<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">TreeDecorator<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">ChristmasTree<\/span> <span class=\"tok-keyword\">tree<\/span><span class=\"tok-punctuation\">)<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">this<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">tree<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">tree<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-operator\">@<\/span><span class=\"tok-keyword\">Override<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">decorate<\/span><span class=\"tok-punctuation\">()<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">return<\/span> <span class=\"tok-keyword\">tree<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">decorate<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">  <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">Now<\/span> <span class=\"tok-keyword\">create<\/span> <span class=\"tok-keyword\">specific<\/span> <span class=\"tok-keyword\">decorators<\/span><span class=\"tok-operator\">.<\/span> <span class=\"tok-keyword\">For<\/span> <span class=\"tok-keyword\">example<\/span><span class=\"tok-operator\">,<\/span> <span class=\"tok-keyword\">BubbleLights<\/span><span class=\"tok-operator\">:<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">Java<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">BubbleLights<\/span> <span class=\"tok-keyword\">extends<\/span> <span class=\"tok-keyword\">TreeDecorator<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">BubbleLights<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">ChristmasTree<\/span> <span class=\"tok-keyword\">tree<\/span><span class=\"tok-punctuation\">)<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">  <span class=\"tok-keyword\">super<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">tree<\/span><span class=\"tok-punctuation\">)<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">  <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-operator\">@<\/span><span class=\"tok-keyword\">Override<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">decorate<\/span><span class=\"tok-punctuation\">()<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">return<\/span> <span class=\"tok-keyword\">super<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">decorate<\/span><span class=\"tok-punctuation\">()<\/span> <span class=\"tok-operator\">+<\/span> <span class=\"tok-string\">&quot; with Bubble Lights&quot;<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">  <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">Garland<\/span> <span class=\"tok-keyword\">extends<\/span> <span class=\"tok-keyword\">TreeDecorator<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">Garland<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">ChristmasTree<\/span> <span class=\"tok-keyword\">tree<\/span><span class=\"tok-punctuation\">)<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">super<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">tree<\/span><span class=\"tok-punctuation\">)<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-operator\">@<\/span><span class=\"tok-keyword\">Override<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">decorate<\/span><span class=\"tok-punctuation\">()<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">return<\/span> <span class=\"tok-keyword\">super<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">decorate<\/span><span class=\"tok-punctuation\">()<\/span> <span class=\"tok-operator\">+<\/span> <span class=\"tok-string\">&quot; with Garland&quot;<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">Usage<\/span><span class=\"tok-operator\">:<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">Create<\/span> <span class=\"tok-keyword\">decorated<\/span> <span class=\"tok-keyword\">trees<\/span><span class=\"tok-operator\">:<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">DecoratorPatternDemo<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">static<\/span> <span class=\"tok-keyword\">void<\/span> <span class=\"tok-keyword\">main<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">String<\/span><span class=\"tok-punctuation\">[]<\/span> <span class=\"tok-keyword\">args<\/span><span class=\"tok-punctuation\">)<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">ChristmasTree<\/span> <span class=\"tok-keyword\">tree1<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">new<\/span> <span class=\"tok-keyword\">Garland<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">new<\/span> <span class=\"tok-keyword\">ChristmasTreeImpl<\/span><span class=\"tok-punctuation\">())<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">System<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">out<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">println<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">tree1<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">decorate<\/span><span class=\"tok-punctuation\">())<\/span><span class=\"tok-operator\">;<\/span> <\/div><div class=\"cm-line\"><span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-variableName2\">Output: &quot;Christmas tree with Garland&quot;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">ChristmasTree<\/span> <span class=\"tok-keyword\">tree2<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">new<\/span> <span class=\"tok-keyword\">BubbleLights<\/span><span class=\"tok-punctuation\">(<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">new<\/span> <span class=\"tok-keyword\">Garland<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">new<\/span> <span class=\"tok-keyword\">Garland<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">new<\/span> <span class=\"tok-keyword\">ChristmasTreeImpl<\/span><span class=\"tok-punctuation\">())))<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">System<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">out<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">println<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">tree2<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">decorate<\/span><span class=\"tok-punctuation\">())<\/span><span class=\"tok-operator\">;<\/span> <\/div><div class=\"cm-line\">    <span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-variableName2\">Output: &quot;Christmas tree with Garland with Garland <\/span><\/div><div class=\"cm-line\">    <span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-keyword\">with<\/span> <span class=\"tok-keyword\">Bubble<\/span> <span class=\"tok-keyword\">Lights<\/span><span class=\"tok-string\">&quot;<\/span><\/div><div class=\"cm-line\">  <span class=\"tok-string\">}<\/span><\/div><div class=\"cm-line\"><span class=\"tok-string\">}<\/span><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><br>\u04ae\u043b\u0433\u0456 \u043e\u0440\u044b\u043d\u0434\u0430\u0443 \u0443\u0430\u049b\u044b\u0442\u044b\u043d\u0434\u0430 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u043b\u0430\u0440\u0434\u044b \u049b\u043e\u0441\u0443\u0493\u0430 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0434\u0456, \u049b\u0430\u0436\u0435\u0442\u0456\u043d\u0448\u0435 \u0431\u0435\u0437\u0435\u043d\u0434\u0456\u0440\u0443\u0433\u0435 \u0438\u043a\u0435\u043c\u0434\u0456\u043b\u0456\u043a \u0431\u0435\u0440\u0435\u0434\u0456.<br>\u0415\u0441\u0456\u04a3\u0456\u0437\u0434\u0435 \u0431\u043e\u043b\u0441\u044b\u043d, \u0414\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440 \u04af\u043b\u0433\u0456\u0441\u0456 \u043e\u0431\u044a\u0435\u043a\u0442\u0456\u043d\u0456\u04a3 \u04d9\u0440\u0435\u043a\u0435\u0442\u0456\u043d \u043e\u043d\u044b\u04a3 \u043d\u0435\u0433\u0456\u0437\u0433\u0456 \u049b\u04b1\u0440\u044b\u043b\u044b\u043c\u044b\u043d \u04e9\u0437\u0433\u0435\u0440\u0442\u043f\u0435\u0439 \u043a\u0435\u04a3\u0435\u0439\u0442\u043a\u0456\u04a3\u0456\u0437 \u043a\u0435\u043b\u0435\u0442\u0456\u043d \u0436\u0430\u0493\u0434\u0430\u0439\u043b\u0430\u0440\u0434\u0430 \u043a\u0435\u04a3\u0456\u043d\u0435\u043d \u049b\u043e\u043b\u0434\u0430\u043d\u044b\u043b\u0430\u0434\u044b.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0424\u0430\u0441\u0430\u0434 \u04af\u043b\u0433\u0456\u0441\u0456<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0424\u0430\u0441\u0430\u0434 \u04af\u043b\u0433\u0456\u0441\u0456 \u0431\u0456\u0440\u0442\u04b1\u0442\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0442\u0456 \u049b\u0430\u043c\u0442\u0430\u043c\u0430\u0441\u044b\u0437 \u0435\u0442\u0443 \u0430\u0440\u049b\u044b\u043b\u044b \u043a\u04af\u0440\u0434\u0435\u043b\u0456 \u0456\u0448\u043a\u0456 \u0436\u04af\u0439\u0435\u043c\u0435\u043d \u04e9\u0437\u0430\u0440\u0430 \u04d9\u0440\u0435\u043a\u0435\u0442\u0442\u0435\u0441\u0443\u0434\u0456 \u0436\u0435\u04a3\u0456\u043b\u0434\u0435\u0442\u0435\u0442\u0456\u043d \u049b\u04b1\u0440\u044b\u043b\u044b\u043c\u0434\u044b\u049b \u0434\u0438\u0437\u0430\u0439\u043d \u04af\u043b\u0433\u0456\u0441\u0456 \u0431\u043e\u043b\u044b\u043f \u0442\u0430\u0431\u044b\u043b\u0430\u0434\u044b.<br>\u041e\u043b \u0456\u0448\u043a\u0456 \u043a\u04af\u0440\u0434\u0435\u043b\u0456\u043b\u0456\u043a\u0442\u0456 \u0436\u0430\u0441\u044b\u0440\u0443 \u0436\u04d9\u043d\u0435 \u0436\u04af\u0439\u0435\u043d\u0456 \u043a\u043b\u0438\u0435\u043d\u0442\u0442\u0435\u0440\u0433\u0435 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0434\u044b \u0436\u0435\u04a3\u0456\u043b\u0434\u0435\u0442\u0443 \u04af\u0448\u0456\u043d \u00ab\u0430\u043b\u0434\u044b\u04a3\u0493\u044b \u0435\u0441\u0456\u043a\u00bb \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u04d9\u0440\u0435\u043a\u0435\u0442 \u0435\u0442\u0435\u0434\u0456.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u049a\u04b1\u0440\u0430\u043c\u0430<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u049a\u04b1\u0440\u0430\u043c\u0430 \u04af\u043b\u0433\u0456 &#8211; \u0442\u04b1\u0442\u0430\u0441 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u044f\u043b\u0430\u0440\u0434\u044b \u043a\u04e9\u0440\u0441\u0435\u0442\u0443 \u04af\u0448\u0456\u043d \u043d\u044b\u0441\u0430\u043d\u0434\u0430\u0440\u0434\u044b \u0430\u0493\u0430\u0448 \u049b\u04b1\u0440\u044b\u043b\u044b\u043c\u0434\u0430\u0440\u044b\u043d\u0430 \u049b\u04b1\u0440\u0443\u0493\u0430 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0442\u0456\u043d \u049b\u04b1\u0440\u044b\u043b\u044b\u043c\u0434\u044b\u049b \u0434\u0438\u0437\u0430\u0439\u043d \u04af\u043b\u0433\u0456\u0441\u0456.<br>\u041a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u0442\u0456\u043a \u04af\u043b\u0433\u0456\u043d\u0456\u04a3 \u043d\u0435\u0433\u0456\u0437\u0433\u0456 \u0438\u0434\u0435\u044f\u0441\u044b \u0436\u0435\u043a\u0435 (\u0436\u0430\u043f\u044b\u0440\u0430\u049b) \u043d\u044b\u0441\u0430\u043d\u0434\u0430\u0440 \u043c\u0435\u043d \u049b\u04b1\u0440\u0430\u043c\u0430 \u043d\u044b\u0441\u0430\u043d\u0434\u0430\u0440 \u043e\u0440\u0442\u0430\u049b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0442\u0456 \u0431\u04e9\u043b\u0456\u0441\u0435\u0442\u0456\u043d \u043d\u044b\u0441\u0430\u043d\u0434\u0430\u0440\u0434\u044b\u04a3 \u0430\u0493\u0430\u0448 \u049b\u04b1\u0440\u044b\u043b\u044b\u043c\u044b\u043d \u049b\u04b1\u0440\u0443 \u0431\u043e\u043b\u044b\u043f \u0442\u0430\u0431\u044b\u043b\u0430\u0434\u044b.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 (\u0411\u04e9\u043b\u0456\u043c): \u0411\u0456\u0437 \u049b\u0430\u0440\u0430\u043f\u0430\u0439\u044b\u043c \u0411\u04e9\u043b\u0456\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0456\u043d \u0431\u0430\u0437\u0430\u043b\u044b\u049b \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u0430\u043d\u044b\u049b\u0442\u0430\u0439\u043c\u044b\u0437:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public interface Department {<\/div><div class=\"cm-line\">void printDepartmentName();<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">Leaf Components (FinancialDepartment and SalesDepartment): <\/div><div class=\"cm-line\">Let\u2019s create classes for financial and sales departments, <\/div><div class=\"cm-line\">both implementing the Department interface:<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class FinancialDepartment implements Department {<\/div><div class=\"cm-line\">  \/\/ Implementation details (e.g., id, name)<\/div><div class=\"cm-line\">  public void printDepartmentName() {<\/div><div class=\"cm-line\">  System.out.println(getClass().getSimpleName());<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class SalesDepartment implements Department {<\/div><div class=\"cm-line\">  \/\/ Implementation details (e.g., id, name)<\/div><div class=\"cm-line\">  public void printDepartmentName() {<\/div><div class=\"cm-line\">  System.out.println(getClass().getSimpleName());<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">These leaf classes implement the printDepartmentName() <\/div><div class=\"cm-line\">method and don\u2019t contain references to other Department objects.<\/div><div class=\"cm-line\">Composite Element (HeadDepartment): As a composite class, <\/div><div class=\"cm-line\">let\u2019s create a HeadDepartment that holds a collection of <\/div><div class=\"cm-line\">Department components:<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">import java.util.ArrayList;<\/div><div class=\"cm-line\">import java.util.List;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class HeadDepartment implements Department {<\/div><div class=\"cm-line\">  private Integer id;<\/div><div class=\"cm-line\">  private String name;<\/div><div class=\"cm-line\">  private List childDepartments;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">  public HeadDepartment(Integer id, String name) {<\/div><div class=\"cm-line\">    this.id = id;<\/div><div class=\"cm-line\">    this.name = name;<\/div><div class=\"cm-line\">    this.childDepartments = new ArrayList&lt;&gt;();<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">  public void printDepartmentName() {<\/div><div class=\"cm-line\">    childDepartments.forEach(Department::printDepartmentName);<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">  public void addDepartment(Department department) {<\/div><div class=\"cm-line\">    childDepartments.add(department);<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">  public void removeDepartment(Department department) {<\/div><div class=\"cm-line\">    childDepartments.remove(department);<\/div><div class=\"cm-line\">  }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">HeadDepartment \u0441\u044b\u043d\u044b\u0431\u044b printDepartmentName() \u04d9\u0434\u0456\u0441\u0456\u043d \u0436\u04af\u0437\u0435\u0433\u0435 \u0430\u0441\u044b\u0440\u0430\u0434\u044b \u0436\u04d9\u043d\u0435 \u0435\u043d\u0448\u0456\u043b\u0435\u0441 \u0431\u04e9\u043b\u0456\u043c\u0434\u0435\u0440\u0434\u0456 \u049b\u043e\u0441\u0443 \u0436\u04d9\u043d\u0435 \u0436\u043e\u044e \u04d9\u0434\u0456\u0441\u0442\u0435\u0440\u0456\u043d \u049b\u0430\u043c\u0442\u0430\u043c\u0430\u0441\u044b\u0437 \u0435\u0442\u0435\u0434\u0456.<br>\u049a\u043e\u043b\u0434\u0430\u043d\u044b\u043b\u0443\u044b: \u0416\u0430\u043f\u044b\u0440\u0430\u049b \u0431\u04e9\u043b\u0456\u043c\u0434\u0435\u0440\u0456\u043d\u0456\u04a3 (\u043c\u044b\u0441\u0430\u043b\u044b, \u049a\u0430\u0440\u0436\u044b\u043b\u044b\u049b \u0434\u0435\u043f\u0430\u0440\u0442\u0430\u043c\u0435\u043d\u0442, \u0421\u0430\u0442\u0443 \u0434\u0435\u043f\u0430\u0440\u0442\u0430\u043c\u0435\u043d\u0442\u0456) \u0436\u04d9\u043d\u0435 \u049b\u04b1\u0440\u0430\u043c\u0430 \u0431\u04e9\u043b\u0456\u043c\u0434\u0435\u0440\u0434\u0456\u04a3 (\u043c\u044b\u0441\u0430\u043b\u044b, \u0411\u0430\u0441\u0448\u044b\u043b\u044b\u049b \u0434\u0435\u043f\u0430\u0440\u0442\u0430\u043c\u0435\u043d\u0442\u0456) \u0434\u0430\u043d\u0430\u043b\u0430\u0440\u044b\u043d \u0436\u0430\u0441\u0430\u0443\u0493\u0430 \u0431\u043e\u043b\u0430\u0434\u044b. \u049a\u04b1\u0440\u0430\u043c\u0430\u0493\u0430 \u0436\u0430\u043f\u044b\u0440\u0430\u049b \u0431\u04e9\u043b\u0456\u043c\u0434\u0435\u0440\u0456\u043d \u049b\u043e\u0441\u044b\u04a3\u044b\u0437 \u0436\u04d9\u043d\u0435 \u043e\u043b\u0430\u0440\u0434\u044b\u04a3 \u0430\u0442\u0442\u0430\u0440\u044b\u043d \u0431\u0430\u0441\u044b\u043f \u0448\u044b\u0493\u0430\u0440\u044b\u04a3\u044b\u0437.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-mathematica\"><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">Main<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">static<\/span> <span class=\"tok-keyword\">void<\/span> <span class=\"tok-keyword\">main<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">String<\/span><span class=\"tok-punctuation\">[]<\/span> <span class=\"tok-keyword\">args<\/span><span class=\"tok-punctuation\">)<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">Department<\/span> <span class=\"tok-keyword\">finance<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">new<\/span> <span class=\"tok-keyword\">FinancialDepartment<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">Department<\/span> <span class=\"tok-keyword\">sales<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">new<\/span> <span class=\"tok-keyword\">SalesDepartment<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">HeadDepartment<\/span> <span class=\"tok-keyword\">headDepartment<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">new<\/span> <span class=\"tok-keyword\">HeadDepartment<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-number\">1<\/span><span class=\"tok-operator\">,<\/span> <\/div><div class=\"cm-line\">    <span class=\"tok-string\">&quot;Company Departments&quot;<\/span><span class=\"tok-punctuation\">)<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">headDepartment<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">addDepartment<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">finance<\/span><span class=\"tok-punctuation\">)<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">headDepartment<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">addDepartment<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">sales<\/span><span class=\"tok-punctuation\">)<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">headDepartment<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">printDepartmentName<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">  <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">Output<\/span><span class=\"tok-operator\">:<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">FinancialDepartment<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">SalesDepartment<\/span><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u0442\u0456\u043a \u04af\u043b\u0433\u0456 \u0438\u043a\u0435\u043c\u0434\u0456 \u0430\u0493\u0430\u0448 \u049b\u04b1\u0440\u044b\u043b\u044b\u043c\u0434\u0430\u0440\u044b\u043d \u0436\u0430\u0441\u0430\u0443\u0493\u0430 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0434\u0456<br>\u0436\u0435\u043a\u0435 \u0437\u0430\u0442\u0442\u0430\u0440 \u043c\u0435\u043d \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f\u043b\u0430\u0440\u0434\u044b (\u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u0442\u0435\u0440\u0434\u0456) \u0431\u0456\u0440\u043a\u0435\u043b\u043a\u0456 \u04e9\u04a3\u0434\u0435\u0443\u0433\u0435 \u0431\u043e\u043b\u0430\u0434\u044b.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">HASH \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0441\u044b \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435!!!<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0425\u044d\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u044f &#8211; \u043a\u0456\u0440\u0456\u0441\u0442\u0456 (\u043d\u0435\u043c\u0435\u0441\u0435 \u00ab\u0445\u0430\u0431\u0430\u0440\u043b\u0430\u043c\u0430\u043d\u044b\u00bb) \u049b\u0430\u0431\u044b\u043b\u0434\u0430\u0439\u0442\u044b\u043d \u0436\u04d9\u043d\u0435 \u0431\u0435\u043b\u0433\u0456\u043b\u0435\u043d\u0433\u0435\u043d \u04b1\u0437\u044b\u043d\u0434\u044b\u049b\u0442\u0430\u0493\u044b \u0442\u0430\u04a3\u0431\u0430\u043b\u0430\u0440 \u0436\u043e\u043b\u044b\u043d \u049b\u0430\u0439\u0442\u0430\u0440\u0430\u0442\u044b\u043d \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430\u043b\u044b\u049b \u0444\u0443\u043d\u043a\u0446\u0438\u044f,<br>\u0431\u04b1\u043b \u04d9\u0434\u0435\u0442\u0442\u0435 \u0441\u0430\u043d\u0434\u0430\u0440 \u043c\u0435\u043d \u04d9\u0440\u0456\u043f\u0442\u0435\u0440 \u0442\u0456\u0437\u0431\u0435\u0433\u0456. \u0411\u04b1\u043b \u0448\u044b\u0493\u044b\u0441 \u00ab\u0445\u044d\u0448 \u043c\u04d9\u043d\u0456\u00bb \u043d\u0435\u043c\u0435\u0441\u0435 \u0436\u0430\u0439 \u0493\u0430\u043d\u0430 \u00ab\u0445\u044d\u0448\u00bb \u0434\u0435\u043f \u0430\u0442\u0430\u043b\u0430\u0434\u044b. <br>\u0425\u044d\u0448 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043b\u0430\u0440\u044b \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u043a\u0430 \u043c\u0435\u043d \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044f\u0434\u0430 \u043a\u0435\u04a3\u0456\u043d\u0435\u043d \u049b\u043e\u043b\u0434\u0430\u043d\u044b\u043b\u0430\u0434\u044b \u0436\u04d9\u043d\u0435 \u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u043c\u0430\u04a3\u044b\u0437\u0434\u044b \u049b\u0430\u0441\u0438\u0435\u0442\u0442\u0435\u0440\u0433\u0435 \u0438\u0435:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0425\u044d\u0448 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0441\u044b \u049b\u0430\u043b\u0430\u0439 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0434\u044b \u0436\u04d9\u043d\u0435 \u043e\u043b \u049b\u0430\u043b\u0430\u0439 \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0439\u0434\u0456?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0441\u0442\u0438\u043a\u0430\u043b\u044b\u049b: \u0431\u0456\u0440\u0434\u0435\u0439 \u043a\u0456\u0440\u0456\u0441 \u04d9\u0440\u049b\u0430\u0448\u0430\u043d \u0431\u0456\u0440\u0434\u0435\u0439 \u0445\u044d\u0448\u0442\u0456 \u0436\u0430\u0441\u0430\u0439\u0434\u044b.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0416\u044b\u043b\u0434\u0430\u043c: \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043a\u0435\u0437 \u043a\u0435\u043b\u0433\u0435\u043d \u043a\u0456\u0440\u0456\u0441 \u04af\u0448\u0456\u043d \u0445\u044d\u0448 \u043c\u04d9\u043d\u0456\u043d \u0436\u044b\u043b\u0434\u0430\u043c \u0435\u0441\u0435\u043f\u0442\u0435\u0439 \u0430\u043b\u0430\u0434\u044b.<br>\u0411\u0456\u0440\u0435\u0433\u0435\u0439 (\u0434\u0435\u0440\u043b\u0456\u043a): \u0415\u043a\u0456 \u0442\u04af\u0440\u043b\u0456 \u043a\u0456\u0440\u0456\u0441 \u04d9\u0440\u0442\u04af\u0440\u043b\u0456 \u0445\u044d\u0448 \u043c\u04d9\u043d\u0434\u0435\u0440\u0456\u043d \u0436\u0430\u0441\u0430\u0443\u044b \u043a\u0435\u0440\u0435\u043a (\u0431\u0456\u0437 \u00ab\u0441\u043e\u049b\u0442\u044b\u0493\u044b\u0441\u0443\u0434\u044b\u00bb \u0430\u0437\u0430\u0439\u0442\u0443\u0493\u0430 \u0442\u044b\u0440\u044b\u0441\u0430\u043c\u044b\u0437).<br>\u049a\u0430\u0439\u0442\u044b\u043c\u0441\u044b\u0437 (\u0431\u0456\u0440 \u0436\u0430\u049b\u0442\u044b): \u0445\u044d\u0448\u0442\u0456 \u0435\u0441\u043a\u0435\u0440\u0435 \u043e\u0442\u044b\u0440\u044b\u043f, \u0431\u0430\u0441\u0442\u0430\u043f\u049b\u044b \u0435\u043d\u0433\u0456\u0437\u0443\u0434\u0456 \u049b\u0430\u043b\u043f\u044b\u043d\u0430 \u043a\u0435\u043b\u0442\u0456\u0440\u0443 \u04af\u0448\u0456\u043d \u0435\u0441\u0435\u043f\u0442\u0435\u0443 \u043c\u04af\u043c\u043a\u0456\u043d \u0435\u043c\u0435\u0441 \u0431\u043e\u043b\u0443\u044b \u043a\u0435\u0440\u0435\u043a.<br>\u0411\u0456\u0440\u043a\u0435\u043b\u043a\u0456: \u0445\u044d\u0448 \u043c\u04d9\u043d\u0434\u0435\u0440\u0456 \u0431\u0430\u0441\u0442\u0430\u043f\u049b\u044b \u043a\u0435\u04a3\u0456\u0441\u0442\u0456\u043a\u0442\u0435 \u0431\u0456\u0440\u043a\u0435\u043b\u043a\u0456 \u0431\u04e9\u043b\u0456\u043d\u0435\u0434\u0456.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0425\u044d\u0448 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043b\u0430\u0440\u044b \u04d9\u0440\u0442\u04af\u0440\u043b\u0456 \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043b\u0430\u0440\u0434\u0430 \u043a\u0435\u04a3\u0456\u043d\u0435\u043d \u049b\u043e\u043b\u0434\u0430\u043d\u044b\u043b\u0430\u0434\u044b, \u043c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0442\u04b1\u0442\u0430\u0441\u0442\u044b\u0493\u044b: \u0445\u044d\u0448 \u043c\u04d9\u043d\u0434\u0435\u0440\u0456\u043d \u0441\u0430\u043b\u044b\u0441\u0442\u044b\u0440\u0443 \u0430\u0440\u049b\u044b\u043b\u044b \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456\u04a3 \u04e9\u0437\u0433\u0435\u0440\u0442\u0456\u043b\u043c\u0435\u0433\u0435\u043d\u0456\u043d \u043d\u0435\u043c\u0435\u0441\u0435 \u0431\u04b1\u0440\u043c\u0430\u043b\u0430\u043d\u0431\u0430\u0493\u0430\u043d\u044b\u043d \u049b\u0430\u043c\u0442\u0430\u043c\u0430\u0441\u044b\u0437 \u0435\u0442\u0443.<br>\u049a\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437\u0434\u0456 \u0441\u0430\u049b\u0442\u0430\u0443: \u043d\u0430\u049b\u0442\u044b \u049b\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437\u0434\u0435\u0440\u0434\u0456\u04a3 \u043e\u0440\u043d\u044b\u043d\u0430 \u0445\u044d\u0448\u0442\u0435\u043b\u0433\u0435\u043d \u049b\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437\u0434\u0435\u0440\u0434\u0456 \u049b\u0430\u0443\u0456\u043f\u0441\u0456\u0437 \u0441\u0430\u049b\u0442\u0430\u0443 \u04af\u0448\u0456\u043d.<br>\u041a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044f: \u0446\u0438\u0444\u0440\u043b\u044b\u049b \u049b\u043e\u043b\u0442\u0430\u04a3\u0431\u0430\u0434\u0430 \u0436\u04d9\u043d\u0435 \u0431\u0430\u0441\u049b\u0430 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044f\u043b\u044b\u049b \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0434\u0435\u0440\u0434\u0435 \u049b\u043e\u043b\u0434\u0430\u043d\u044b\u043b\u0430\u0434\u044b.<br>\u0425\u044d\u0448 \u043a\u0435\u0441\u0442\u0435\u043b\u0435\u0440\u0456: \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u043b\u0430\u0443\u0434\u0430 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0442\u0438\u0456\u043c\u0434\u0456 \u0456\u0437\u0434\u0435\u0443 \u04af\u0448\u0456\u043d.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u041c\u0430\u0493\u0430\u043d \u0445\u044d\u0448 \u043a\u0430\u0440\u0442\u0430\u0441\u044b\u043d\u044b\u04a3 \u043c\u044b\u0441\u0430\u043b\u044b\u043d \u043a\u0435\u043b\u0442\u0456\u0440\u0456\u04a3\u0456\u0437 &#8211; \u043e\u043d\u044b \u049b\u0430\u043b\u0430\u0439 \u0436\u04af\u0437\u0435\u0433\u0435 \u0430\u0441\u044b\u0440\u0430\u0440 \u0435\u0434\u0456\u04a3\u0456\u0437?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SHA (\u049b\u0430\u0443\u0456\u043f\u0441\u0456\u0437 \u0445\u044d\u0448 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0456):<br>\u041e\u043b SHA-1, SHA-256, SHA-384 \u0436\u04d9\u043d\u0435 SHA-512 \u0441\u0438\u044f\u049b\u0442\u044b \u043d\u04b1\u0441\u049b\u0430\u043b\u0430\u0440\u0434\u044b \u049b\u0430\u043c\u0442\u0438\u0434\u044b.<br>SHA-256 \u0436\u04d9\u043d\u0435 SHA-512 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044f \u0436\u04d9\u043d\u0435 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u043b\u0430\u0440\u044b\u043d\u0434\u0430 \u043a\u0435\u04a3\u0456\u043d\u0435\u043d \u049b\u043e\u043b\u0434\u0430\u043d\u044b\u043b\u0430\u0434\u044b (\u043c\u044b\u0441\u0430\u043b\u044b, Bitcoin).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-mathematica\"><div class=\"cm-line\"><span class=\"tok-keyword\">import<\/span> <span class=\"tok-keyword\">java<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">security<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">MessageDigest<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">import<\/span> <span class=\"tok-keyword\">java<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">security<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">NoSuchAlgorithmException<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">HashExample<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">static<\/span> <span class=\"tok-keyword\">void<\/span> <span class=\"tok-keyword\">main<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">String<\/span><span class=\"tok-punctuation\">[]<\/span> <span class=\"tok-keyword\">args<\/span><span class=\"tok-punctuation\">)<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">try<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-keyword\">The<\/span> <span class=\"tok-keyword\">input<\/span> <span class=\"tok-keyword\">string<\/span> <span class=\"tok-keyword\">to<\/span> <span class=\"tok-keyword\">be<\/span> <span class=\"tok-keyword\">hashed<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">input<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-string\">&quot;Hello, world!&quot;<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-keyword\">Create<\/span> <span class=\"tok-keyword\">a<\/span> <span class=\"tok-keyword\">MessageDigest<\/span> <span class=\"tok-keyword\">instance<\/span> <span class=\"tok-keyword\">for<\/span> <span class=\"tok-keyword\">SHA<\/span><span class=\"tok-operator\">-<\/span><span class=\"tok-number\">256<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">MessageDigest<\/span> <span class=\"tok-keyword\">digest<\/span> <span class=\"tok-operator\">=<\/span> <\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">MessageDigest<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">getInstance<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-string\">&quot;SHA-256&quot;<\/span><span class=\"tok-punctuation\">)<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        <span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-keyword\">Compute<\/span> <span class=\"tok-keyword\">the<\/span> <span class=\"tok-keyword\">hash<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">byte<\/span><span class=\"tok-punctuation\">[]<\/span> <span class=\"tok-keyword\">hash<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">digest<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">digest<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">input<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">getBytes<\/span><span class=\"tok-punctuation\">())<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        <span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-keyword\">Convert<\/span> <span class=\"tok-keyword\">the<\/span> <span class=\"tok-keyword\">hash<\/span> <span class=\"tok-keyword\">bytes<\/span> <span class=\"tok-keyword\">to<\/span> <span class=\"tok-keyword\">a<\/span> <span class=\"tok-keyword\">hexadecimal<\/span> <span class=\"tok-keyword\">string<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">StringBuilder<\/span> <span class=\"tok-keyword\">hexString<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">new<\/span> <span class=\"tok-keyword\">StringBuilder<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">for<\/span> <span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">byte<\/span> <span class=\"tok-variableName2\">b : hash) {<\/span><\/div><div class=\"cm-line\">            <span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">hex<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">String<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">format<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-string\">&quot;%02x&quot;<\/span><span class=\"tok-operator\">,<\/span> <span class=\"tok-keyword\">b<\/span><span class=\"tok-punctuation\">)<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">            <span class=\"tok-keyword\">hexString<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">append<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">hex<\/span><span class=\"tok-punctuation\">)<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        <span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-keyword\">Print<\/span> <span class=\"tok-keyword\">the<\/span> <span class=\"tok-keyword\">resulting<\/span> <span class=\"tok-keyword\">hash<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">System<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">out<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">println<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-string\">&quot;SHA-256 Hash: &quot;<\/span> <span class=\"tok-operator\">+<\/span> <\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">hexString<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">toString<\/span><span class=\"tok-punctuation\">())<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-punctuation\">}<\/span> <span class=\"tok-keyword\">catch<\/span> <span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">NoSuchAlgorithmException<\/span> <span class=\"tok-keyword\">e<\/span><span class=\"tok-punctuation\">)<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">System<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">err<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">println<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-string\">&quot;Error: &quot;<\/span> <span class=\"tok-operator\">+<\/span> <span class=\"tok-keyword\">e<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">getMessage<\/span><span class=\"tok-punctuation\">())<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\">  <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0415\u043d\u0433\u0456\u0437\u0443 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456: \u041a\u0456\u0440\u0456\u0441 \u0430\u0439\u043d\u044b\u043c\u0430\u043b\u044b\u0441\u044b \u0445\u044d\u0448\u0442\u0435\u0443 \u043a\u0435\u0440\u0435\u043a \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u049b\u0430\u043c\u0442\u0438\u0434\u044b.<br>MessageDigest \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0441\u044b: MessageDigest \u0434\u0430\u043d\u0430\u0441\u044b SHA-256 \u0445\u044d\u0448\u0442\u0435\u0443 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0456\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0435\u0442\u0456\u043d getInstance(&#8220;SHA-256&#8221;) \u0430\u0440\u049b\u044b\u043b\u044b \u0436\u0430\u0441\u0430\u043b\u0430\u0434\u044b.<br>\u0425\u044d\u0448\u0438\u043d\u0433: \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442 \u04d9\u0434\u0456\u0441\u0456 \u043a\u0456\u0440\u0456\u0441 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456\u043d\u0456\u04a3 \u0445\u044d\u0448 \u043c\u04d9\u043d\u0456\u043d \u0435\u0441\u0435\u043f\u0442\u0435\u0439\u0434\u0456.<br>\u041e\u043d \u0430\u043b\u0442\u044b\u043b\u044b\u049b \u0442\u04af\u0440\u043b\u0435\u043d\u0434\u0456\u0440\u0443: \u0445\u044d\u0448 \u043c\u04d9\u043d\u0456 \u0435\u043a\u0456\u043b\u0456\u043a \u043f\u0456\u0448\u0456\u043c\u0434\u0435 \u0431\u043e\u043b\u0493\u0430\u043d\u0434\u044b\u049b\u0442\u0430\u043d, \u043e\u043d\u044b \u043e\u049b\u0443\u0493\u0430 \u0431\u043e\u043b\u0430\u0442\u044b\u043d \u043e\u043d \u0430\u043b\u0442\u044b\u043b\u044b\u049b \u0436\u043e\u043b\u0493\u0430 \u0442\u04af\u0440\u043b\u0435\u043d\u0434\u0456\u0440\u0443 \u04af\u0448\u0456\u043d \u0446\u0438\u043a\u043b\u0434\u044b \u049b\u043e\u043b\u0434\u0430\u043d\u0430\u043c\u044b\u0437.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u049a\u043e\u044e \u0436\u04d9\u043d\u0435 \u043f\u0430\u0442\u0447? \u0411\u0456\u0437 \u043e\u043b\u0430\u0440\u0434\u044b \u049b\u0430\u0448\u0430\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u044b\u043c\u044b\u0437 \u043a\u0435\u0440\u0435\u043a?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">PUT \u0436\u04d9\u043d\u0435 PATCH \u0441\u0435\u0440\u0432\u0435\u0440\u0434\u0435\u0433\u0456 \u0440\u0435\u0441\u0443\u0440\u0441\u0442\u0430\u0440\u0434\u044b \u0436\u0430\u04a3\u0430\u0440\u0442\u0443 \u04af\u0448\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0442\u044b\u043d HTTP \u04d9\u0434\u0456\u0441\u0442\u0435\u0440\u0456 \u0431\u043e\u043b\u044b\u043f \u0442\u0430\u0431\u044b\u043b\u0430\u0434\u044b, \u0431\u0456\u0440\u0430\u049b \u043e\u043b\u0430\u0440 \u04e9\u0437\u0433\u0435\u0440\u0442\u0443\u043b\u0435\u0440\u0434\u0456 \u049b\u043e\u043b\u0434\u0430\u043d\u0443 \u0442\u04d9\u0441\u0456\u043b\u0456\u043c\u0435\u043d \u0435\u0440\u0435\u043a\u0448\u0435\u043b\u0435\u043d\u0435\u0434\u0456:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u049a\u041e\u0419:<br>\u0422\u043e\u043b\u044b\u049b \u0436\u0430\u04a3\u0430\u0440\u0442\u0443:<br>PUT \u0431\u0430\u0440 \u0440\u0435\u0441\u0443\u0440\u0441\u0442\u044b \u0442\u043e\u043b\u044b\u0493\u044b\u043c\u0435\u043d \u0430\u0443\u044b\u0441\u0442\u044b\u0440\u0443 \u04af\u0448\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0434\u044b.<br>\u0411\u0456\u0440 \u0431\u04e9\u043b\u0456\u0433\u0456 \u0493\u0430\u043d\u0430 \u04e9\u0437\u0433\u0435\u0440\u0442\u0456\u043b\u0441\u0435 \u0434\u0435, \u0431\u04af\u043a\u0456\u043b \u0440\u0435\u0441\u0443\u0440\u0441 \u0441\u04b1\u0440\u0430\u0443\u0493\u0430 \u0436\u0456\u0431\u0435\u0440\u0456\u043b\u0443\u0456 \u043a\u0435\u0440\u0435\u043a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0441\u0443\u0440\u0441 \u0436\u043e\u049b \u0431\u043e\u043b\u0441\u0430, PUT \u043e\u043d\u044b \u0436\u0438\u0456 \u0436\u0430\u0441\u0430\u0439\u0434\u044b (\u0431\u0456\u0440\u0430\u049b \u0431\u04b1\u043b \u04d9\u0440\u0435\u043a\u0435\u0442 \u04d9\u0440\u0442\u04af\u0440\u043b\u0456 \u0431\u043e\u043b\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0434\u0435\u043c\u043f\u043e\u0442\u0435\u043d\u0442:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0411\u0456\u0440\u0434\u0435\u0439 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u043c\u0435\u043d \u049b\u0430\u0439\u0442\u0430\u043b\u0430\u043d\u0430\u0442\u044b\u043d PUT \u0441\u04b1\u0440\u0430\u0443\u043b\u0430\u0440\u044b \u04d9\u0440\u049b\u0430\u0448\u0430\u043d \u0431\u0456\u0440\u0434\u0435\u0439 \u0440\u0435\u0441\u0443\u0440\u0441 \u043a\u04af\u0439\u0456\u043d\u0435 \u04d9\u043a\u0435\u043b\u0435\u0434\u0456.<br>\u041c\u044b\u0441\u0430\u043b: \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u043f\u0440\u043e\u0444\u0438\u043b\u0456\u043d \u0436\u0430\u04a3\u0430\u0440\u0442\u0443:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">json<\/div><div class=\"cm-line\">PUT \/users\/123<\/div><div class=\"cm-line\">{<\/div><div class=\"cm-line\">&quot;name&quot;: &quot;Velislav&quot;,<\/div><div class=\"cm-line\">&quot;email&quot;: &quot;velislav@example.com&quot;,<\/div><div class=\"cm-line\">&quot;age&quot;: 30<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><br>\u0422\u0435\u043a \u0430\u0442\u044b \u04e9\u0437\u0433\u0435\u0440\u0441\u0435, \u0431\u0456\u0440\u0430\u049b \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u0434\u044b\u049b \u043f\u043e\u0448\u0442\u0430 \u0436\u04d9\u043d\u0435 \u0436\u0430\u0441\u044b \u04e9\u0437\u0433\u0435\u0440\u0456\u0441\u0441\u0456\u0437 \u049b\u0430\u043b\u0441\u0430, \u043e\u043b\u0430\u0440 \u0441\u04b1\u0440\u0430\u0443\u0434\u0430 \u04d9\u043b\u0456 \u0434\u0435 \u0431\u043e\u043b\u0443\u044b \u043a\u0435\u0440\u0435\u043a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0410\u0422\u0427\u0422\u0410\u0420:<br>\u0406\u0448\u0456\u043d\u0430\u0440\u0430 \u0436\u0430\u04a3\u0430\u0440\u0442\u0443:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PATCH \u0431\u0430\u0440 \u0440\u0435\u0441\u0443\u0440\u0441\u0442\u044b \u0456\u0448\u0456\u043d\u0430\u0440\u0430 \u0436\u0430\u04a3\u0430\u0440\u0442\u0443 \u04af\u0448\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0434\u044b.<br>\u0421\u04b1\u0440\u0430\u0443\u0434\u0430 \u0442\u0435\u043a \u04e9\u0437\u0433\u0435\u0440\u0435\u0442\u0456\u043d \u04e9\u0440\u0456\u0441\u0442\u0435\u0440 \u0436\u0456\u0431\u0435\u0440\u0456\u043b\u0435\u0434\u0456.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0434\u0435\u043c\u043f\u043e\u0442\u0435\u043d\u0442 (\u043a\u04e9\u0431\u0456\u043d\u0435\u0441\u0435):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PUT \u0441\u0438\u044f\u049b\u0442\u044b, \u0431\u0456\u0440\u0434\u0435\u0439 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u043c\u0435\u043d \u049b\u0430\u0439\u0442\u0430\u043b\u0430\u043d\u0430\u0442\u044b\u043d PATCH \u0441\u04b1\u0440\u0430\u0443\u043b\u0430\u0440\u044b \u04d9\u0434\u0435\u0442\u0442\u0435 \u0431\u0456\u0440\u0434\u0435\u0439 \u0440\u0435\u0441\u0443\u0440\u0441 \u043a\u04af\u0439\u0456\u043d\u0435 \u04d9\u043a\u0435\u043b\u0435\u0434\u0456.<br>\u0414\u0435\u0433\u0435\u043d\u043c\u0435\u043d, \u04d9\u0440\u0435\u043a\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0434\u0456 \u0456\u0441\u043a\u0435 \u0430\u0441\u044b\u0440\u0443\u0493\u0430 \u0431\u0430\u0439\u043b\u0430\u043d\u044b\u0441\u0442\u044b \u0431\u043e\u043b\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u044b\u0441\u0430\u043b: \u0442\u0435\u043a \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u0430\u0442\u044b\u043d \u0436\u0430\u04a3\u0430\u0440\u0442\u0443:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">json<\/div><div class=\"cm-line\">PATCH \/users\/123<\/div><div class=\"cm-line\">{<\/div><div class=\"cm-line\">&quot;name&quot;: &quot;Velislav&quot;<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><br>\u041c\u04b1\u043d\u0434\u0430 \u0442\u0435\u043a \u0430\u0442\u0430\u0443 \u04e9\u0440\u0456\u0441\u0456 \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u0430\u0434\u044b, \u0430\u043b \u049b\u0430\u043b\u0493\u0430\u043d \u04e9\u0440\u0456\u0441\u0442\u0435\u0440 \u04e9\u0437\u0433\u0435\u0440\u0456\u0441\u0441\u0456\u0437 \u049b\u0430\u043b\u0430\u0434\u044b.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u0430\u0439\u044b\u0440\u043c\u0430\u0448\u044b\u043b\u044b\u0493\u044b:<br>PUT \u0431\u04af\u043a\u0456\u043b \u0440\u0435\u0441\u0443\u0440\u0441\u0442\u044b \u0430\u0443\u044b\u0441\u0442\u044b\u0440\u0430\u0434\u044b, \u0430\u043b PATCH \u0440\u0435\u0441\u0443\u0440\u0441\u0442\u044b\u04a3 \u043a\u04e9\u0440\u0441\u0435\u0442\u0456\u043b\u0433\u0435\u043d \u04e9\u0440\u0456\u0441\u0442\u0435\u0440\u0456\u043d \u0493\u0430\u043d\u0430 \u04e9\u0437\u0433\u0435\u0440\u0442\u0435\u0434\u0456.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u049a\u044b\u0441\u049b\u0430\u0448\u0430 \u0441\u0438\u043f\u0430\u0442\u0442\u0430\u043c\u0430\u0441\u044b \u0431\u0430\u0440 HTTP \u04d9\u0434\u0456\u0441\u0442\u0435\u0440\u0456.<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">GET: \u0441\u0435\u0440\u0432\u0435\u0440\u0434\u0435\u043d \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u04e9\u0437\u0433\u0435\u0440\u0442\u043f\u0435\u0439 \u0448\u044b\u0493\u0430\u0440\u044b\u043f \u0430\u043b\u0443 \u04af\u0448\u0456\u043d \u049b\u043e\u043b\u0434\u0430\u043d\u044b\u043b\u0430\u0434\u044b. \u041a\u04e9\u0431\u0456\u043d\u0435\u0441\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u0442\u0430\u0440\u0434\u044b \u043d\u0435\u043c\u0435\u0441\u0435 \u0430\u049b\u043f\u0430\u0440\u0430\u0442\u0442\u044b \u0430\u043b\u0443 \u04af\u0448\u0456\u043d \u049b\u043e\u043b\u0434\u0430\u043d\u044b\u043b\u0430\u0434\u044b.<br>POST: \u0414\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0441\u0435\u0440\u0432\u0435\u0440\u0433\u0435 \u0436\u0456\u0431\u0435\u0440\u0443 \u04af\u0448\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0434\u044b, \u04d9\u0434\u0435\u0442\u0442\u0435 \u0436\u0430\u04a3\u0430 \u0440\u0435\u0441\u0443\u0440\u0441 \u0436\u0430\u0441\u0430\u0443 \u04af\u0448\u0456\u043d. \u041c\u044b\u0441\u0430\u043b\u044b, \u043f\u0456\u0448\u0456\u043d\u0434\u0456 \u0436\u0456\u0431\u0435\u0440\u0443 \u043d\u0435\u043c\u0435\u0441\u0435 \u0444\u0430\u0439\u043b\u0434\u044b \u0436\u04af\u043a\u0442\u0435\u043f \u0441\u0430\u043b\u0443 \u043a\u0435\u0437\u0456\u043d\u0434\u0435.<br>PUT: \u0441\u0435\u0440\u0432\u0435\u0440\u0434\u0435\u0433\u0456 \u0431\u0430\u0440 \u0440\u0435\u0441\u0443\u0440\u0441\u0442\u044b \u0436\u0430\u04a3\u0430\u0440\u0442\u0443 \u043d\u0435\u043c\u0435\u0441\u0435 \u0442\u043e\u043b\u044b\u0493\u044b\u043c\u0435\u043d \u0430\u0443\u044b\u0441\u0442\u044b\u0440\u0443 \u04af\u0448\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0434\u044b. \u0420\u0435\u0441\u0443\u0440\u0441 \u0436\u043e\u049b \u0431\u043e\u043b\u0441\u0430, \u043e\u043d\u044b \u0436\u0430\u0441\u0430\u0443\u0493\u0430 \u0431\u043e\u043b\u0430\u0434\u044b.<br>PATCH: \u0431\u0430\u0440 \u0440\u0435\u0441\u0443\u0440\u0441\u0442\u044b \u0456\u0448\u0456\u043d\u0430\u0440\u0430 \u0436\u0430\u04a3\u0430\u0440\u0442\u0443 \u04af\u0448\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0434\u044b, \u0442\u0435\u043a \u043a\u04e9\u0440\u0441\u0435\u0442\u0456\u043b\u0433\u0435\u043d \u04e9\u0440\u0456\u0441\u0442\u0435\u0440\u0434\u0456 \u04e9\u0437\u0433\u0435\u0440\u0442\u0435\u0434\u0456.<br>DELETE: \u0440\u0435\u0441\u0443\u0440\u0441\u0442\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u0434\u0435\u043d \u0436\u043e\u044e \u04af\u0448\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0434\u044b.<br>HEAD: GET \u0441\u0438\u044f\u049b\u0442\u044b, \u0440\u0435\u0441\u0443\u0440\u0441\u0442\u044b\u04a3 \u043d\u0435\u0433\u0456\u0437\u0433\u0456 \u0431\u04e9\u043b\u0456\u0433\u0456\u043d\u0441\u0456\u0437 \u0442\u0435\u043a \u0442\u0430\u049b\u044b\u0440\u044b\u043f\u0442\u0430\u0440\u0434\u044b \u0448\u044b\u0493\u0430\u0440\u0443 \u04af\u0448\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0434\u044b.<br>OPTIONS: \u049b\u0430\u043d\u0434\u0430\u0439 HTTP \u04d9\u0434\u0456\u0441\u0442\u0435\u0440\u0456\u043d\u0435 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0456\u043b\u0433\u0435\u043d\u0456\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0435\u0434\u0456.<br>TRACE: \u043a\u043b\u0438\u0435\u043d\u0442\u043a\u0435 \u0441\u04b1\u0440\u0430\u0443\u0434\u044b \u049b\u0430\u0439\u0442\u0430\u043b\u0430\u0443 \u0430\u0440\u049b\u044b\u043b\u044b \u043d\u0435\u0433\u0456\u0437\u0456\u043d\u0435\u043d \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0430\u043b\u044b\u049b \u043c\u0430\u049b\u0441\u0430\u0442\u0442\u0430\u0440 \u04af\u0448\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0434\u044b<br>\u049a\u041e\u0421\u0423: SSL\/TLS \u049b\u043e\u0441\u044b\u043b\u044b\u043c\u0434\u0430\u0440\u044b \u04af\u0448\u0456\u043d \u0436\u0438\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0442\u044b\u043d \u0441\u0435\u0440\u0432\u0435\u0440\u0433\u0435 \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u0434\u0456 \u043e\u0440\u043d\u0430\u0442\u0430\u0434\u044b.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0434\u044b\u049b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Java \u0442\u0456\u043b\u0456\u043d\u0434\u0435\u0433\u0456 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0434\u044b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u2013 \u0431\u04b1\u043b \u0434\u04d9\u043b \u0431\u0456\u0440 \u0434\u0435\u0440\u0435\u043a\u0441\u0456\u0437 \u04d9\u0434\u0456\u0441\u0442\u0456 \u049b\u0430\u043c\u0442\u0438\u0442\u044b\u043d \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. \u0411\u04b1\u043b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0442\u0435\u0440 \u043d\u0435\u0433\u0456\u0437\u0456\u043d\u0435\u043d \u043b\u044f\u043c\u0431\u0434\u0430 \u04e9\u0440\u043d\u0435\u043a\u0442\u0435\u0440\u0456\u043c\u0435\u043d \u0436\u04d9\u043d\u0435 \u04d9\u0434\u0456\u0441 \u0441\u0456\u043b\u0442\u0435\u043c\u0435\u043b\u0435\u0440\u0456\u043c\u0435\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0434\u044b, \u0431\u04b1\u043b \u049b\u044b\u0441\u049b\u0430 \u0436\u04d9\u043d\u0435 \u043e\u049b\u044b\u043b\u0430\u0442\u044b\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0434\u044b\u049b \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u043b\u0430\u0443 \u0441\u0442\u0438\u043b\u0456\u043d\u0435 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0434\u0456.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u0435\u0440\u0435\u043a\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440\u0456:<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u0411\u0456\u0440\u044b\u04a3\u0493\u0430\u0439 \u0434\u0435\u0440\u0435\u043a\u0441\u0456\u0437 \u04d9\u0434\u0456\u0441<\/strong>: \u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0434\u044b\u049b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0442\u0435 \u0431\u0456\u0440 \u0493\u0430\u043d\u0430 \u0434\u0435\u0440\u0435\u043a\u0441\u0456\u0437 \u04d9\u0434\u0456\u0441 \u0431\u0430\u0440. \u0411\u04b1\u043b \u043e\u043d\u044b\u04a3 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0434\u044b\u0493\u044b\u043d\u044b\u04a3 \u043c\u04d9\u043d\u0456.<\/li>\n\n\n\n<li><strong>\u04d8\u0434\u0435\u043f\u043a\u0456 \u0436\u04d9\u043d\u0435 \u0441\u0442\u0430\u0442\u0438\u043a\u0430\u043b\u044b\u049b \u04d9\u0434\u0456\u0441\u0442\u0435\u0440<\/strong>: \u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0434\u044b\u049b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0442\u0435\u0440 \u04d9\u0434\u0435\u043f\u043a\u0456 \u0436\u04d9\u043d\u0435 \u0441\u0442\u0430\u0442\u0438\u043a\u0430\u043b\u044b\u049b \u04d9\u0434\u0456\u0441\u0442\u0435\u0440\u0434\u0456 \u049b\u0430\u043c\u0442\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d, \u0431\u0456\u0440\u0430\u049b \u043e\u043b\u0430\u0440 \u0436\u0430\u043b\u0493\u044b\u0437 \u0434\u0435\u0440\u0435\u043a\u0441\u0456\u0437 \u04d9\u0434\u0456\u0441 \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u0435\u0441\u0435\u043f\u0442\u0435\u043b\u043c\u0435\u0439\u0434\u0456.<\/li>\n\n\n\n<li><strong>@FunctionalInterface \u0410\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f<\/strong>: \u0411\u04b1\u043b \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f \u043c\u0456\u043d\u0434\u0435\u0442\u0442\u0456 \u0435\u043c\u0435\u0441 \u0431\u043e\u043b\u0493\u0430\u043d\u044b\u043c\u0435\u043d, \u043e\u043b \u0431\u0435\u0440\u0456\u043b\u0433\u0435\u043d \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0442\u0456\u04a3 \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0443\u0433\u0435 \u0430\u0440\u043d\u0430\u043b\u0493\u0430\u043d\u044b\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0443\u0433\u0435 \u043a\u04e9\u043c\u0435\u043a\u0442\u0435\u0441\u0435\u0434\u0456. \u0415\u0433\u0435\u0440 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u043c\u0448\u0430 \u0434\u0435\u0440\u0435\u043a\u0441\u0456\u0437 \u04d9\u0434\u0456\u0441\u0442\u0435\u0440 \u049b\u043e\u0441\u044b\u043b\u0441\u0430, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u049b\u0430\u0442\u0435 \u0436\u0456\u0431\u0435\u0440\u0435\u0434\u0456.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">\u041c\u044b\u0441\u0430\u043b\u044b:<\/h3>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-mathematica\"><div class=\"cm-line\"><span class=\"tok-operator\">@<\/span><span class=\"tok-keyword\">FunctionalInterface<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">interface<\/span> <span class=\"tok-keyword\">Calculator<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">int<\/span> <span class=\"tok-keyword\">calculate<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">int<\/span> <span class=\"tok-keyword\">a<\/span><span class=\"tok-operator\">,<\/span> <span class=\"tok-keyword\">int<\/span> <span class=\"tok-keyword\">b<\/span><span class=\"tok-punctuation\">)<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-keyword\">Using<\/span> <span class=\"tok-keyword\">lambda<\/span> <span class=\"tok-keyword\">expression<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">Main<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">static<\/span> <span class=\"tok-keyword\">void<\/span> <span class=\"tok-keyword\">main<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">String<\/span><span class=\"tok-punctuation\">[]<\/span> <span class=\"tok-keyword\">args<\/span><span class=\"tok-punctuation\">)<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-keyword\">Implementing<\/span> <span class=\"tok-keyword\">the<\/span> <span class=\"tok-keyword\">calculate<\/span> <span class=\"tok-keyword\">method<\/span> <span class=\"tok-keyword\">using<\/span> <span class=\"tok-keyword\">a<\/span> <span class=\"tok-keyword\">lambda<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">Calculator<\/span> <span class=\"tok-keyword\">addition<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">a<\/span><span class=\"tok-operator\">,<\/span> <span class=\"tok-keyword\">b<\/span><span class=\"tok-punctuation\">)<\/span> <span class=\"tok-operator\">-&gt;<\/span> <span class=\"tok-keyword\">a<\/span> <span class=\"tok-operator\">+<\/span> <span class=\"tok-keyword\">b<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">Calculator<\/span> <span class=\"tok-keyword\">multiplication<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">a<\/span><span class=\"tok-operator\">,<\/span> <span class=\"tok-keyword\">b<\/span><span class=\"tok-punctuation\">)<\/span> <span class=\"tok-operator\">-&gt;<\/span> <span class=\"tok-keyword\">a<\/span> <span class=\"tok-operator\">*<\/span> <span class=\"tok-keyword\">b<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">System<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">out<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">println<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-string\">&quot;Addition: &quot;<\/span> <span class=\"tok-operator\">+<\/span> <\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">addition<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">calculate<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-number\">5<\/span><span class=\"tok-operator\">,<\/span> <span class=\"tok-number\">3<\/span><span class=\"tok-punctuation\">))<\/span><span class=\"tok-operator\">;<\/span>  <span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-variableName2\">Output: 8<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">System<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">out<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">println<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-string\">&quot;Multiplication: &quot;<\/span> <span class=\"tok-operator\">+<\/span> <\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">multiplication<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">calculate<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-number\">5<\/span><span class=\"tok-operator\">,<\/span> <span class=\"tok-number\">3<\/span><span class=\"tok-punctuation\">))<\/span><span class=\"tok-operator\">;<\/span>  <span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-variableName2\">Output: 15<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">\u049a\u043e\u043b\u0434\u0430\u043d\u0443 \u0436\u0430\u0493\u0434\u0430\u0439\u044b:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 <code>Calculator<\/code> \u043c\u044b\u0441\u0430\u043b\u0434\u0430 \u0431\u0456\u0440 \u0493\u0430\u043d\u0430 \u0434\u0435\u0440\u0435\u043a\u0441\u0456\u0437 \u04d9\u0434\u0456\u0441 \u0431\u0430\u0440 <code>calculate<\/code>, \u0431\u04b1\u043b \u043e\u043d\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0434\u044b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0435\u0442\u0435\u0434\u0456.<br>\u0411\u04b1\u043b \u049b\u044b\u0441\u049b\u0430 \u0436\u04d9\u043d\u0435 \u0442\u0430\u043b\u0493\u0430\u043c\u043f\u0430\u0437 \u0456\u0441\u043a\u0435 \u0430\u0441\u044b\u0440\u0443 \u04af\u0448\u0456\u043d \u043b\u044f\u043c\u0431\u0434\u0430 \u04e9\u0440\u043d\u0435\u043a\u0442\u0435\u0440\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0493\u0430 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0434\u0456.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Java \u0442\u0456\u043b\u0456\u043d\u0434\u0435 \u0436\u0438\u0456 \u049b\u043e\u043b\u0434\u0430\u043d\u044b\u043b\u0430\u0442\u044b\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0434\u044b\u049b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0442\u0435\u0440:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Java \u043f\u0430\u043a\u0435\u0442\u0442\u0435 \u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u043a\u0456\u0440\u0456\u0441\u0442\u0456\u0440\u0456\u043b\u0433\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0434\u044b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0442\u0435\u0440\u0434\u0456 \u049b\u0430\u043c\u0442\u0430\u043c\u0430\u0441\u044b\u0437 \u0435\u0442\u0435\u0434\u0456 <code>java.util.function<\/code>, \u043c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u041f\u0440\u0435\u0434\u0438\u043a\u0430\u0442<\/strong>: \u0435\u043d\u0433\u0456\u0437\u0443\u0434\u0456 \u049b\u0430\u0431\u044b\u043b\u0434\u0430\u0439\u0434\u044b \u0436\u04d9\u043d\u0435 \u043b\u043e\u0433\u0438\u043a\u0430\u043b\u044b\u049b \u043c\u04d9\u043d\u0434\u0456 \u049b\u0430\u0439\u0442\u0430\u0440\u0430\u0434\u044b.<\/li>\n\n\n\n<li><strong>\u0424\u0443\u043d\u043a\u0446\u0438\u044f<\/strong>: \u0415\u043d\u0433\u0456\u0437\u0443\u0434\u0456 \u049b\u0430\u0431\u044b\u043b\u0434\u0430\u0439\u0434\u044b \u0436\u04d9\u043d\u0435 R \u0442\u04af\u0440\u0456\u043d\u0434\u0435\u0433\u0456 \u043d\u04d9\u0442\u0438\u0436\u0435\u043d\u0456 \u049b\u0430\u0439\u0442\u0430\u0440\u0430\u0434\u044b.<\/li>\n\n\n\n<li><strong>\u0416\u0435\u0442\u043a\u0456\u0437\u0443\u0448\u0456<\/strong>: \u0415\u043d\u0433\u0456\u0437\u0443\u0441\u0456\u0437 \u043c\u04d9\u043d \u0431\u0435\u0440\u0435\u0434\u0456.<\/li>\n\n\n\n<li><strong>\u0422\u04b1\u0442\u044b\u043d\u0443\u0448\u044b<\/strong>: \u041c\u04d9\u043d\u0434\u0456 \u049b\u0430\u0431\u044b\u043b\u0434\u0430\u0439\u0434\u044b \u0436\u04d9\u043d\u0435 \u04d9\u0440\u0435\u043a\u0435\u0442\u0442\u0456 \u043e\u0440\u044b\u043d\u0434\u0430\u0439\u0434\u044b.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0434\u044b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0442\u0435\u0440 \u0436\u04b1\u043c\u044b\u0441\u0442\u044b \u0436\u0435\u04a3\u0456\u043b\u0434\u0435\u0442\u0435\u0434\u0456, \u04d9\u0441\u0456\u0440\u0435\u0441\u0435 \u0436\u0438\u043d\u0430\u049b\u0442\u0430\u0440\u043c\u0435\u043d, \u0430\u0493\u044b\u043d\u0434\u0430\u0440\u043c\u0435\u043d \u043d\u0435\u043c\u0435\u0441\u0435 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0434\u044b \u0442\u0430\u043f\u0441\u044b\u0440\u043c\u0430\u043b\u0430\u0440\u043c\u0435\u043d \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0443 \u0441\u0438\u044f\u049b\u0442\u044b \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u043b\u0435\u0440\u0434\u0435.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u041e\u043b\u0430\u0440 Java-\u0493\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0456\u0433\u0435 \u0431\u0430\u0493\u044b\u0442\u0442\u0430\u043b\u0493\u0430\u043d \u0441\u0438\u043f\u0430\u0442\u044b\u043d \u0441\u0430\u049b\u0442\u0430\u0439 \u043e\u0442\u044b\u0440\u044b\u043f, \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0434\u044b \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u043b\u0430\u0443 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0430\u043b\u0430\u0440\u044b\u043d \u049b\u0430\u0431\u044b\u043b\u0434\u0430\u0443\u0493\u0430 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0434\u0456.<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0416\u043e\u0493\u0430\u0440\u044b \u0440\u0435\u0442\u0442\u0456 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0416\u043e\u0493\u0430\u0440\u044b \u0440\u0435\u0442\u0442\u0456 \u0444\u0443\u043d\u043a\u0446\u0438\u044f &#8211; \u0431\u0430\u0441\u049b\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043b\u0430\u0440\u0434\u044b \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u049b\u0430\u0431\u044b\u043b\u0434\u0430\u0439\u0442\u044b\u043d \u043d\u0435\u043c\u0435\u0441\u0435 \u043e\u043d\u044b\u04a3 \u043d\u04d9\u0442\u0438\u0436\u0435\u0441\u0456 \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043d\u044b \u049b\u0430\u0439\u0442\u0430\u0440\u0430\u0442\u044b\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u044f. \u0411\u0430\u0441\u049b\u0430\u0448\u0430 \u0430\u0439\u0442\u049b\u0430\u043d\u0434\u0430, \u043e\u043b \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043b\u0430\u0440\u043c\u0435\u043d \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0439\u0434\u0456, \u043e\u043b\u0430\u0440\u0434\u044b \u00ab\u0431\u0456\u0440\u0456\u043d\u0448\u0456 \u0434\u04d9\u0440\u0435\u0436\u0435\u043b\u0456 \u0430\u0437\u0430\u043c\u0430\u0442\u0442\u0430\u0440\u00bb \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u049b\u0430\u0440\u0430\u0441\u0442\u044b\u0440\u0430\u0434\u044b. \u0411\u04b1\u043b \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f\u0493\u0430, \u043a\u043e\u0434\u0442\u044b \u049b\u0430\u0439\u0442\u0430 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0493\u0430 \u0436\u04d9\u043d\u0435 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f\u0493\u0430 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0442\u0456\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0434\u044b \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u043b\u0430\u0443 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0430\u043b\u0430\u0440\u044b\u043d\u044b\u04a3 \u049b\u0443\u0430\u0442\u0442\u044b \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u0433\u0456.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Java \u0442\u0456\u043b\u0456\u043d\u0434\u0435\u0433\u0456 \u0436\u043e\u0493\u0430\u0440\u044b \u0440\u0435\u0442\u0442\u0456 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043d\u044b\u04a3 \u043c\u044b\u0441\u0430\u043b\u044b:<\/h3>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-html\"><div class=\"cm-line\">import java.util.function.Function;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\">        \/\/ Higher-order function: applies a function to a value<\/div><div class=\"cm-line\">        Function<span class=\"tok-punctuation\">&lt;<\/span><span class=\"tok-typeName\">Integer<\/span><span class=\"tok-propertyName\">,<\/span> <span class=\"tok-propertyName\">Integer<\/span><span class=\"tok-punctuation\">&gt;<\/span> squareFunction = x -&gt; x * x;<\/div><div class=\"cm-line\">        int result = applyFunction(5, squareFunction);<\/div><div class=\"cm-line\">        System.out.println(&quot;Square of 5: &quot; + result);  <\/div><div class=\"cm-line\">          \/\/ Output: 25<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static int applyFunction(int value, <\/div><div class=\"cm-line\">    Function<span class=\"tok-punctuation\">&lt;<\/span><span class=\"tok-typeName\">Integer<\/span><span class=\"tok-propertyName\">,<\/span> <span class=\"tok-propertyName\">Integer<\/span><span class=\"tok-punctuation\">&gt;<\/span> function) {<\/div><div class=\"cm-line\">        return function.apply(value);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0416\u043e\u0493\u0430\u0440\u044b\u0434\u0430\u0493\u044b \u043c\u044b\u0441\u0430\u043b\u0434\u0430:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u04d8\u0434\u0456\u0441 <code>applyFunction<\/code> \u0436\u043e\u0493\u0430\u0440\u044b \u0440\u0435\u0442\u0442\u0456 \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u0441\u0435\u0431\u0435\u0431\u0456 \u043e\u043b \u0431\u0430\u0441\u049b\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043d\u044b \u049b\u0430\u0431\u044b\u043b\u0434\u0430\u0439\u0434\u044b (<code>Function&lt;Integer, Integer&gt;<\/code>) \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0440\u0435\u0442\u0456\u043d\u0434\u0435.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u0415\u0440\u0435\u043a\u0448\u0435 \u04e9\u0437\u0433\u0435\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440\u0456:<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u043b\u0430\u0440\u0434\u044b \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0442\u0435\u0440 \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u049b\u0430\u0431\u044b\u043b\u0434\u0430\u0439\u0434\u044b<\/strong>: \u0416\u043e\u0493\u0430\u0440\u044b \u0440\u0435\u0442\u0442\u0456 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043b\u0430\u0440 \u043d\u0430\u049b\u0442\u044b \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043b\u0430\u0440\u0434\u044b \u043e\u0440\u044b\u043d\u0434\u0430\u0443 \u04af\u0448\u0456\u043d \u043a\u0456\u0440\u0456\u0441 \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u0431\u0430\u0441\u049b\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043b\u0430\u0440\u0434\u044b \u049b\u0430\u0431\u044b\u043b\u0434\u0430\u0439 \u0430\u043b\u0430\u0434\u044b.<\/li>\n\n\n\n<li><strong>\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u043b\u0430\u0440\u0434\u044b \u049b\u0430\u0439\u0442\u0430\u0440\u0430\u0434\u044b<\/strong>: \u041e\u043b\u0430\u0440 \u0436\u0430\u04a3\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043b\u0430\u0440\u0434\u044b \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0430\u043b\u044b\u049b \u0442\u04af\u0440\u0434\u0435 \u0436\u0430\u0441\u0430\u043f, \u049b\u0430\u0439\u0442\u0430\u0440\u0430 \u0430\u043b\u0430\u0434\u044b.<\/li>\n\n\n\n<li><strong>\u041a\u043e\u0434\u0442\u044b \u049b\u0430\u0439\u0442\u0430 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0434\u044b \u044b\u043d\u0442\u0430\u043b\u0430\u043d\u0434\u044b\u0440\u0430\u0434\u044b<\/strong>: \u0424\u0443\u043d\u043a\u0446\u0438\u044f\u043b\u0430\u0440\u0434\u044b \u0431\u0456\u0440-\u0431\u0456\u0440\u0456\u043c\u0435\u043d \u0431\u0435\u0440\u0443\u0433\u0435 \u0436\u04d9\u043d\u0435 \u0431\u0456\u0440\u0456\u043a\u0442\u0456\u0440\u0443\u0433\u0435 \u0431\u043e\u043b\u0430\u0442\u044b\u043d\u0434\u044b\u049b\u0442\u0430\u043d, \u043c\u043e\u0434\u0443\u043b\u044c\u0434\u0456\u043a \u0436\u04d9\u043d\u0435 \u049b\u0430\u0439\u0442\u0430 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0493\u0430 \u0431\u043e\u043b\u0430\u0442\u044b\u043d \u043a\u043e\u0434\u0442\u044b \u043a\u04e9\u0442\u0435\u0440\u043c\u0435\u043b\u0435\u0439\u0434\u0456.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">\u049a\u043e\u043b\u0434\u0430\u043d\u0443 \u0436\u0430\u0493\u0434\u0430\u0439\u044b:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Java \u0442\u0456\u043b\u0456\u043d\u0434\u0435 \u0436\u043e\u0493\u0430\u0440\u044b \u0440\u0435\u0442\u0442\u0456 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043b\u0430\u0440 \u0430\u0493\u044b\u043d\u0434\u0430\u0440, \u043b\u0430\u043c\u0431\u0434\u0430\u043b\u0430\u0440 \u0436\u04d9\u043d\u0435 \u04d9\u0434\u0456\u0441 \u0441\u0456\u043b\u0442\u0435\u043c\u0435\u043b\u0435\u0440\u0456 \u0431\u0430\u0440 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0434\u044b \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u043b\u0430\u0443\u0434\u0430 \u0436\u0438\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0434\u044b. \u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-html\"><div class=\"cm-line\">List<span class=\"tok-punctuation\">&lt;<\/span><span class=\"tok-typeName\">String<\/span><span class=\"tok-punctuation\">&gt;<\/span> names = Arrays.asList(&quot;John&quot;, &quot;Jane&quot;, &quot;Jake&quot;);<\/div><div class=\"cm-line\">names.stream()<\/div><div class=\"cm-line\">     .filter(name -&gt; name.startsWith(&quot;J&quot;))  <\/div><div class=\"cm-line\">     \/\/ Takes a lambda function as argument<\/div><div class=\"cm-line\">     .forEach(System.out::println);         <\/div><div class=\"cm-line\">  \/\/ Takes a method reference as argument<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">\u0416\u043e\u0493\u0430\u0440\u044b \u0440\u0435\u0442\u0442\u0456 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043b\u0430\u0440 Java \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u043b\u0430\u0440\u044b\u043d\u0430 \u0438\u043a\u0435\u043c\u0434\u0456\u043b\u0456\u043a \u043f\u0435\u043d \u049b\u0443\u0430\u0442 \u049b\u043e\u0441\u044b\u043f, \u04d9\u0437\u0456\u0440\u043b\u0435\u0443\u0448\u0456\u043b\u0435\u0440\u0433\u0435 \u0442\u0430\u0437\u0430, \u049b\u044b\u0441\u049b\u0430 \u0436\u04d9\u043d\u0435 \u043c\u04d9\u043d\u0435\u0440\u043b\u0456 \u043a\u043e\u0434 \u0436\u0430\u0437\u0443\u0493\u0430 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0434\u0456!<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Access modifiers (\u041c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0438 \u0437\u0430 \u0434\u043e\u0441\u0442\u044a\u043f)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 Java, access modifiers \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0430\u0442 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0442\u0430 \u0438 \u0434\u043e\u0441\u0442\u044a\u043f\u043d\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 classes, methods \u0438 variables.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0415\u0442\u043e \u043a\u0440\u0430\u0442\u044a\u043a \u043f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0447\u0435\u0442\u0438\u0440\u0438\u0442\u0435 access modifiers \u0437\u0430 \u0435\u0434\u0438\u043d class:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">public: Class-\u044a\u0442 \u0435 \u0434\u043e\u0441\u0442\u044a\u043f\u0435\u043d \u043e\u0442 \u0432\u0441\u0435\u043a\u0438 \u0434\u0440\u0443\u0433 class, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u0432 \u043a\u043e\u0439 package \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">protected: \u041d\u0435 \u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0438\u043c \u0437\u0430 \u0441\u0430\u043c\u0438\u044f class, \u0442\u044a\u0439 \u043a\u0430\u0442\u043e protected modifier \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0430\u043c\u043e \u0437\u0430 members \u0432 \u0440\u0430\u043c\u043a\u0438\u0442\u0435 \u043d\u0430 class-\u0430 \u0438\u043b\u0438 \u043d\u0435\u0433\u043e\u0432\u0438\u0442\u0435 subclasses (\u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442 \u0432 \u0440\u0430\u043c\u043a\u0438\u0442\u0435 \u043d\u0430 \u0441\u044a\u0449\u0438\u044f package \u0438\u043b\u0438 \u043e\u0442 \u043d\u0430\u0441\u043b\u0435\u0434\u0435\u043d\u0438 classes).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">default (package-private): \u0410\u043a\u043e \u043d\u0435 \u0435 \u043f\u043e\u0441\u043e\u0447\u0435\u043d access modifier, class-\u044a\u0442 \u0435 \u0434\u043e\u0441\u0442\u044a\u043f\u0435\u043d \u0441\u0430\u043c\u043e \u0432 \u0440\u0430\u043c\u043a\u0438\u0442\u0435 \u043d\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u0438\u044f \u0441\u0438 package.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">private: Classes \u043d\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430\u043d\u0438 \u043a\u0430\u0442\u043e private. \u0422\u043e\u0437\u0438 modifier \u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0438\u043c \u0441\u0430\u043c\u043e \u0437\u0430 inner classes \u0438\u043b\u0438 \u0437\u0430 class members.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0429\u0435 \u0437\u0430\u043f\u0430\u0437\u0432\u0430\u043c Java \u0442\u0435\u0440\u043c\u0438\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u0442\u0430 \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438 \u0435\u0437\u0438\u043a, \u0430 \u043e\u0431\u044f\u0441\u043d\u0435\u043d\u0438\u044f\u0442\u0430 \u0449\u0435 \u043f\u0440\u0435\u0432\u0435\u0436\u0434\u0430\u043c \u043d\u0430 \u0431\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438, \u043a\u0430\u0442\u043e \u0449\u0435 \u0441\u0435 \u043f\u0440\u0438\u0434\u044a\u0440\u0436\u0430\u043c \u043a\u044a\u043c \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0430\u0442\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0438 \u0441\u043c\u0438\u0441\u044a\u043b \u043d\u0430 \u0442\u0435\u043a\u0441\u0442\u0430.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Atomic vs volatile<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 Java, \u043a\u0430\u043a\u0442\u043e <code>AtomicInteger<\/code>, \u0442\u0430\u043a\u0430 \u0438 <code>volatile<\/code> \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0438\u0442\u0435 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0437\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 concurrency (\u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u043d\u0430 \u043d\u044f\u043a\u043e\u043b\u043a\u043e threads), \u043d\u043e \u0441\u043b\u0443\u0436\u0430\u0442 \u0437\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0446\u0435\u043b\u0438 \u0438 \u0438\u043c\u0430\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0415\u0442\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u0431\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u0434\u0432\u0435\u0442\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u0438 \u0441\u043b\u0443\u0447\u0430\u0438\u0442\u0435, \u0432 \u043a\u043e\u0438\u0442\u043e \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. <code>AtomicInteger<\/code><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>AtomicInteger<\/code> \u0435 \u0447\u0430\u0441\u0442 \u043e\u0442 package-\u0430 <code>java.util.concurrent.atomic<\/code> \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u043d\u0430\u0447\u0438\u043d \u0437\u0430 \u0438\u0437\u0432\u044a\u0440\u0448\u0432\u0430\u043d\u0435 \u043d\u0430 atomic (thread-safe) \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u044a\u0440\u0445\u0443 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u043e\u0442 \u0442\u0438\u043f integer, \u0431\u0435\u0437 \u0434\u0430 \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u0437\u0440\u0438\u0447\u043d\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 synchronization.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 (Key Features)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f methods \u043a\u0430\u0442\u043e <code>incrementAndGet()<\/code>, <code>decrementAndGet()<\/code> \u0436\u04d9\u043d\u0435 <code>compareAndSet()<\/code> \u0437\u0430 thread-safe, lock-free \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/li>\n\n\n\n<li>\u0412\u044a\u0442\u0440\u0435\u0448\u043d\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 hardware-level atomic instructions, \u0437\u0430 \u0434\u0430 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430 thread safety.<\/li>\n\n\n\n<li>\u041f\u0440\u0435\u043c\u0430\u0445\u0432\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0442\u0430 \u043e\u0442 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 <code>synchronized<\/code> blocks \u0438\u043b\u0438 \u0438\u0437\u0440\u0438\u0447\u043d\u0438 locks.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u041f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430 <code>AtomicInteger<\/code><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\nimport java.util.concurrent.atomic.AtomicInteger;\n\npublic class AtomicIntegerExample {\n    public static void main(String&#91;] args) {\n        AtomicInteger counter = new AtomicInteger(0);\n\n        \/\/ Increment and get the value atomically\n        int newValue = counter.incrementAndGet();\n        System.out.println(&#34;New Value: &#34; + newValue); \n        \/\/ Output: 1\n\n        \/\/ Compare and set\n        boolean wasUpdated = counter.compareAndSet(1, 100);\n        System.out.println(&#34;Was Updated: &#34; + wasUpdated); \n        \/\/ Output: true\n        System.out.println(&#34;Updated Value: &#34; + counter.get()); \n        \/\/ Output: 100\n    }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 <code>AtomicInteger<\/code> (Use Cases)<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Counter: \u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0430\u0432\u0430\u043d\u0435 \u0438\u043b\u0438 \u043d\u0430\u043c\u0430\u043b\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u043e\u0431\u0449\u0430 integer \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442, \u0434\u043e\u0441\u0442\u044a\u043f\u0432\u0430\u043d\u0430 \u043e\u0442 \u043d\u044f\u043a\u043e\u043b\u043a\u043e threads.<\/li>\n\n\n\n<li>Non-blocking Operations: \u0418\u0437\u0432\u044a\u0440\u0448\u0432\u0430\u043d\u0435 \u043d\u0430 thread-safe \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u0435\u0437 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 locks.<\/li>\n\n\n\n<li>Optimized Performance: \u041f\u043e-\u0434\u043e\u0431\u0440\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442 \u0432 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0441\u044a\u0441 <code>synchronized<\/code> blocks \u043f\u0440\u0438 \u0441\u0440\u0435\u0434\u0438 \u0441 \u0432\u0438\u0441\u043e\u043a\u0430 \u0441\u0442\u0435\u043f\u0435\u043d \u043d\u0430 concurrency.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">2. <code>volatile<\/code> Integer<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>volatile<\/code> \u0435 Java keyword, \u043a\u043e\u0439\u0442\u043e \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0437\u0430 \u043c\u0430\u0440\u043a\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430, \u0442\u0430\u043a\u0430 \u0447\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u0442\u0435 \u0432 \u043d\u0435\u0439\u043d\u0430\u0442\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0432\u0438\u0434\u0438\u043c\u0438 \u0437\u0430 \u0432\u0441\u0438\u0447\u043a\u0438 threads.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0432\u0430 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430 visibility \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0430\u0442\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u043d\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 threads, \u043d\u043e \u043d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430 atomicity.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 (Key Features)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0413\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430, \u0447\u0435 \u0432\u0441\u0438\u0447\u043a\u0438 threads \u0432\u0438\u0436\u0434\u0430\u0442 \u043d\u0430\u0439-\u0430\u043a\u0442\u0443\u0430\u043b\u043d\u0430\u0442\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u043d\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430\u0442\u0430.<\/li>\n\n\n\n<li>\u041d\u0435 \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 synchronization, \u043f\u043e\u0440\u0430\u0434\u0438 \u043a\u043e\u0435\u0442\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u0430\u0442\u043e increment (<code>x++<\/code>) \u043d\u0435 \u0441\u0430 thread-safe.<\/li>\n\n\n\n<li>\u041f\u043e\u043b\u0435\u0437\u0435\u043d \u0435 \u0441\u0430\u043c\u043e \u0432 \u043f\u043e-\u043f\u0440\u043e\u0441\u0442\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438, \u043f\u0440\u0438 \u043a\u043e\u0438\u0442\u043e \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430\u0442\u0430 \u0441\u0435 \u0447\u0435\u0442\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u0432\u0430 \u0431\u0435\u0437 \u043c\u0435\u0436\u0434\u0438\u043d\u043d\u0438 \u0438\u0437\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u041f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430 <code>volatile<\/code><\/h3>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-mathematica\"><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">VolatileExample<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">private<\/span> <span class=\"tok-keyword\">static<\/span> <span class=\"tok-keyword\">volatile<\/span> <span class=\"tok-keyword\">int<\/span> <span class=\"tok-keyword\">counter<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-number\">0<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">static<\/span> <span class=\"tok-keyword\">void<\/span> <span class=\"tok-keyword\">main<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">String<\/span><span class=\"tok-punctuation\">[]<\/span> <span class=\"tok-keyword\">args<\/span><span class=\"tok-punctuation\">)<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">counter<\/span><span class=\"tok-operator\">++;<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">System<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">out<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">println<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-string\">&quot;Counter: &quot;<\/span> <span class=\"tok-operator\">+<\/span> <span class=\"tok-keyword\">counter<\/span><span class=\"tok-punctuation\">)<\/span><span class=\"tok-operator\">;<\/span> <\/div><div class=\"cm-line\">        <span class=\"tok-operator\">\/\/<\/span> <span class=\"tok-keyword\">Not<\/span> <span class=\"tok-keyword\">thread<\/span><span class=\"tok-operator\">-<\/span><span class=\"tok-keyword\">safe<\/span><span class=\"tok-operator\">!<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 <code>volatile<\/code> (Use Cases)<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Flags: \u041f\u0440\u043e\u0441\u0442\u0438 <code>boolean<\/code> \u0438\u043b\u0438 <code>integer<\/code> flags, \u043a\u043e\u0438\u0442\u043e \u0441\u0435 \u0437\u0430\u0434\u0430\u0432\u0430\u0442 \u0438\u043b\u0438 \u0447\u0435\u0442\u0430\u0442 \u043e\u0442 \u043d\u044f\u043a\u043e\u043b\u043a\u043e threads.<\/li>\n\n\n\n<li>State Management: \u041f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0438, \u043a\u043e\u0438\u0442\u043e \u043d\u0435 \u0438\u0437\u0438\u0441\u043a\u0432\u0430\u0442 \u0441\u044a\u0441\u0442\u0430\u0432\u043d\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 (\u043a\u0430\u0442\u043e increment) \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 atomic.<\/li>\n\n\n\n<li>Lightweight Synchronization: \u041a\u043e\u0433\u0430\u0442\u043e \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 visibility, \u043d\u043e \u043d\u0435 \u0438 atomicity.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">\u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u0440\u0430\u0437\u043b\u0438\u043a\u0438 \u043c\u0435\u0436\u0434\u0443 <code>AtomicInteger<\/code> \u0436\u04d9\u043d\u0435 <code>volatile<\/code><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u0425\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430 (Aspect)<\/th><th><code>AtomicInteger<\/code><\/th><th><code>volatile<\/code><\/th><\/tr><tr><td>Thread Safety<\/td><td>\u041d\u0430\u043f\u044a\u043b\u043d\u043e thread-safe \u2013 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 atomic operations.<\/td><td>\u041e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 visibility, \u043d\u043e \u043d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430 thread safety \u043f\u0440\u0438 \u0441\u044a\u0441\u0442\u0430\u0432\u043d\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/td><\/tr><tr><td>Atomicity<\/td><td>\u0413\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430 atomic operations \u043a\u0430\u0442\u043e increment \u0438\u043b\u0438 set.<\/td><td>\u041d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430 atomicity \u043f\u0440\u0438 \u0441\u044a\u0441\u0442\u0430\u0432\u043d\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/td><\/tr><tr><td>Performance<\/td><td>\u041f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u0437\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u0441 \u0432\u0438\u0441\u043e\u043a\u0430 \u0441\u0442\u0435\u043f\u0435\u043d \u043d\u0430 concurrency.<\/td><td>\u041f\u043e-\u043b\u0435\u043a \u043a\u0430\u0442\u043e \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435, \u043d\u043e \u043d\u0435 \u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u0437\u0430 \u0441\u043b\u043e\u0436\u043d\u0438 \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/td><\/tr><tr><td>Methods<\/td><td>\u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f utility methods \u043a\u0430\u0442\u043e <code>incrementAndGet()<\/code>.<\/td><td>\u041d\u044f\u043c\u0430 \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u0438 methods \u0438\u0437\u0432\u044a\u043d \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430\u0442\u0430.<\/td><\/tr><tr><td>Use Case<\/td><td>\u0421\u043b\u043e\u0436\u043d\u0438 \u0438 thread-safe \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430 \u0441\u043f\u043e\u0434\u0435\u043b\u0435\u043d\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430.<\/td><td>\u041f\u0440\u043e\u0441\u0442\u043e \u0447\u0435\u0442\u0435\u043d\u0435 \u0438\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0438, \u043f\u0440\u0438 \u043a\u043e\u0438\u0442\u043e \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 visibility.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u041a\u043e\u0433\u0430 \u043a\u043e\u0435 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435? (When to Use What?)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">1. \u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 <code>AtomicInteger<\/code>, \u043a\u043e\u0433\u0430\u0442\u043e:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0418\u043c\u0430\u0442\u0435 \u043d\u0443\u0436\u0434\u0430 \u043e\u0442 atomic operations (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 increment \u0438\u043b\u0438 compare-and-set).<\/li>\n\n\n\n<li>\u041f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430\u0442\u0430 \u0441\u0435 \u0434\u043e\u0441\u0442\u044a\u043f\u0432\u0430 \u0438 \u043f\u0440\u043e\u043c\u0435\u043d\u044f \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043e\u0442 \u043d\u044f\u043a\u043e\u043b\u043a\u043e threads.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">2. \u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 <code>volatile<\/code>, \u043a\u043e\u0433\u0430\u0442\u043e:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0422\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430\u0442\u0435 visibility \u043d\u0430 \u0441\u043f\u043e\u0434\u0435\u043b\u0435\u043d\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430 \u043c\u0435\u0436\u0434\u0443 threads.<\/li>\n\n\n\n<li>\u041d\u0435 \u0441\u0435 \u0438\u0437\u0432\u044a\u0440\u0448\u0432\u0430\u0442 \u0441\u044a\u0441\u0442\u0430\u0432\u043d\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 (\u043a\u0430\u0442\u043e increment \u0438\u043b\u0438 addition).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e \u0443\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435: <code>volatile<\/code> \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0432\u0430, \u0447\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430\u0442\u0430 \u0441\u0435 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0430\u043c\u043e \u0432 main memory. \u0422\u043e \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 \u0433\u0430\u0440\u0430\u043d\u0446\u0438\u0438 \u0437\u0430 visibility \u0438 memory ordering \u0441\u043f\u043e\u0440\u0435\u0434 Java Memory Model (JMM). \u0421\u044a\u0449\u043e \u0442\u0430\u043a\u0430 <code>AtomicInteger<\/code> \u043d\u0435 \u0435 \u043d\u0435\u043f\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043f\u043e-\u0431\u044a\u0440\u0437 \u043e\u0442 <code>synchronized<\/code> \u0432\u044a\u0432 \u0432\u0441\u0438\u0447\u043a\u0438 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u2013 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442\u0442\u0430 \u0437\u0430\u0432\u0438\u0441\u0438 \u043e\u0442 \u043d\u0430\u0442\u043e\u0432\u0430\u0440\u0432\u0430\u043d\u0435\u0442\u043e \u0438 \u0431\u0440\u043e\u044f \u043d\u0430 threads.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Authentication vs Authorisation (\u0423\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u044f\u0432\u0430\u043d\u0435 \u0441\u0440\u0435\u0449\u0443 \u043e\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Authentication (\u0423\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u044f\u0432\u0430\u043d\u0435): \u041f\u0440\u043e\u0446\u0435\u0441\u044a\u0442 \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u0441\u0430\u043c\u043e\u043b\u0438\u0447\u043d\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 \u0434\u0430\u0434\u0435\u043d \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b. \u041c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0440\u0430\u0437\u0433\u043b\u0435\u0436\u0434\u0430 \u043a\u0430\u0442\u043e \u0434\u043e\u043a\u0430\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u0442\u043e\u0432\u0430 \u043a\u043e\u0439 \u0441\u0442\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0447\u0440\u0435\u0437 Login \u0441 <code>username<\/code> \u0436\u04d9\u043d\u0435 <code>password<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0412\u0438\u0434\u043e\u0432\u0435 Authentication<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Type<\/th><th>Description (\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435)<\/th><th>Example \/ Where Used (\u041f\u0440\u0438\u043c\u0435\u0440 \/ \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435)<\/th><\/tr><tr><td>Basic Authentication<\/td><td><code>Username<\/code> \u0436\u04d9\u043d\u0435 <code>password<\/code> \u0441\u0435 \u0438\u0437\u043f\u0440\u0430\u0449\u0430\u0442 \u0432 HTTP header \u0447\u0440\u0435\u0437 Base64 encoding. \u0417\u0430 \u0441\u0438\u0433\u0443\u0440\u043d\u043e\u0441\u0442 \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c HTTPS.<\/td><td>\u041f\u0440\u043e\u0441\u0442\u0438 REST endpoints (dev\/internal). Header: <code>Authorization: Basic &lt;base64&gt;<\/code><\/td><\/tr><tr><td>Form-based Authentication<\/td><td>Login \u0447\u0440\u0435\u0437 HTML form, \u043f\u0440\u0438 \u043a\u043e\u0439\u0442\u043e server \u0432\u0430\u043b\u0438\u0434\u0438\u0440\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u044f \u0438 \u0441\u044a\u0437\u0434\u0430\u0432\u0430 session.<\/td><td>Web applications \u0441\u044a\u0441 sessions (Servlets\/JSP, Spring MVC).<\/td><\/tr><tr><td>Token-based (JWT)<\/td><td>\u0421\u043b\u0435\u0434 Login server \u0438\u0437\u0434\u0430\u0432\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d token, \u043a\u043e\u0439\u0442\u043e client \u0438\u0437\u043f\u0440\u0430\u0449\u0430 \u0441 \u0432\u0441\u044f\u043a\u0430 \u0437\u0430\u044f\u0432\u043a\u0430. Stateless authentication.<\/td><td>REST APIs, microservices; <code>Authorization: Bearer &lt;jwt&gt;<\/code><\/td><\/tr><tr><td>OAuth2 \/ OpenID Connect<\/td><td>\u0414\u0435\u043b\u0435\u0433\u0438\u0440\u0430\u043d\u0430 authentication \u0447\u0440\u0435\u0437 \u0432\u044a\u043d\u0448\u0435\u043d Identity Provider. \u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 SSO \u0438 consent.<\/td><td>Login \u0441 Google\/Azure AD\/Keycloak; \u0437\u0430\u0449\u0438\u0442\u0430 \u043d\u0430 APIs \u0438 SPAs.<\/td><\/tr><tr><td>Digest Authentication<\/td><td>Password \u043d\u0435 \u0441\u0435 \u0438\u0437\u043f\u0440\u0430\u0449\u0430 \u0432 \u043e\u0442\u043a\u0440\u0438\u0442 \u0432\u0438\u0434; \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 legacy hash-based challenge\/response \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u044a\u043c.<\/td><td>Legacy systems; \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u0440\u044f\u0434\u043a\u043e \u0434\u043d\u0435\u0441.<\/td><\/tr><tr><td>Certificate-based (Mutual TLS)<\/td><td>Client \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f X.509 certificate, \u0447\u0440\u0435\u0437 \u043a\u043e\u0439\u0442\u043e server \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0432\u0430 \u043d\u0435\u0433\u043e\u0432\u0430\u0442\u0430 \u0441\u0430\u043c\u043e\u043b\u0438\u0447\u043d\u043e\u0441\u0442 \u043d\u0430 TLS layer.<\/td><td>Banking\/enterprise integrations; \u0441\u0438\u0433\u0443\u0440\u043d\u043e\u0441\u0442 \u043f\u0440\u0438 service-to-service \u043a\u043e\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044f.<\/td><\/tr><tr><td>LDAP Authentication<\/td><td>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0432\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0438\u0442\u0435 \u0441\u043f\u0440\u044f\u043c\u043e directory service (LDAP\/Active Directory).<\/td><td>\u041a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u0438 intranets; Spring Security + AD\/LDAP.<\/td><\/tr><tr><td>Kerberos \/ SPNEGO<\/td><td>Authentication \u0447\u0440\u0435\u0437 tickets, \u043a\u043e\u044f\u0442\u043e \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 Single Sign-On (SSO) \u0432 \u0440\u0430\u043c\u043a\u0438\u0442\u0435 \u043d\u0430 domain.<\/td><td>Enterprise Windows domains; SSO \u0437\u0430 intranet applications.<\/td><\/tr><tr><td>SAML<\/td><td>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 XML assertions \u0437\u0430 SSO \u043c\u0435\u0436\u0434\u0443 Identity Provider \u0438 Service Provider.<\/td><td>Enterprise SSO (Keycloak, ADFS, Okta) \u0437\u0430 web applications.<\/td><\/tr><tr><td>Multi-factor Authentication (MFA)<\/td><td>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u0434\u0432\u0430 \u0438\u043b\u0438 \u043f\u043e\u0432\u0435\u0447\u0435 authentication factors (password + OTP\/biometric\/device).<\/td><td>\u0414\u043e\u0431\u0430\u0432\u044f \u0441\u0435 \u043a\u044a\u043c \u0434\u0440\u0443\u0433\u0438 authentication methods; SMS\/Authenticator apps, WebAuthn.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Authorization (\u041e\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f): \u041f\u0440\u043e\u0446\u0435\u0441\u044a\u0442 \u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u043d\u0435 \u043a\u0430\u043a\u0432\u043e \u0438\u043c\u0430 \u043f\u0440\u0430\u0432\u043e \u0434\u0430 \u043f\u0440\u0430\u0432\u0438 \u0434\u0430\u0434\u0435\u043d \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b. \u0421\u043b\u0435\u0434 \u043a\u0430\u0442\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u044f\u0442 \u043f\u0440\u0435\u043c\u0438\u043d\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e Authentication, Authorization \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f \u043d\u0435\u0433\u043e\u0432\u0438\u0442\u0435 permissions, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0438 \u0444\u0430\u0439\u043b\u043e\u0432\u0435 \u0438\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u0442\u043e.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u041e\u0441\u043d\u043e\u0432\u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u043a\u0430 (Key Difference)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Authentication: \u201e\u041a\u043e\u0439 \u0441\u0438 \u0442\u0438?\u201c (Who are you?)<\/li>\n\n\n\n<li>Authorization: \u201e\u041a\u0430\u043a\u0432\u043e \u0438\u043c\u0430\u0448 \u043f\u0440\u0430\u0432\u043e \u0434\u0430 \u043f\u0440\u0430\u0432\u0438\u0448?\u201c (What are you allowed to do?)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410\u043a\u043e \u0432\u043b\u0435\u0437\u0435\u0442\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0432 \u0435\u0434\u043d\u0430 Web Application \u0447\u0440\u0435\u0437 <code>username<\/code> \u0436\u04d9\u043d\u0435 <code>password<\/code>, \u0442\u043e\u0432\u0430 \u0435 Authentication.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410\u043a\u043e \u0441\u043b\u0435\u0434 Login \u0438\u043c\u0430\u0442\u0435 \u043f\u0440\u0430\u0432\u043e \u0434\u0430 \u043e\u0442\u0432\u0430\u0440\u044f\u0442\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0438, \u0434\u0430 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0430\u0442\u0435 \u0434\u0430\u043d\u043d\u0438 \u0438\u043b\u0438 \u0434\u0430 \u0438\u0437\u0442\u0440\u0438\u0432\u0430\u0442\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0441\u043f\u043e\u0440\u0435\u0434 \u0432\u0430\u0448\u0430\u0442\u0430 \u0440\u043e\u043b\u044f (<code>Admin<\/code>, <code>User<\/code>, <code>Manager<\/code>), \u0442\u043e\u0432\u0430 \u0435 Authorization.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Collections and Big O (Java Collections Framework \u0438 \u0432\u0440\u0435\u043c\u0435\u0432\u0430 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Java Collections Framework (JCF) \u0435 \u043d\u0430\u0431\u043e\u0440 \u043e\u0442 interfaces \u0438 classes, \u043a\u043e\u0438\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430\u0442 \u0435\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0433\u0440\u0443\u043f\u0438 \u043e\u0442 objects.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0439 \u0432\u043a\u043b\u044e\u0447\u0432\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 data structures (\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438 \u043e\u0442 \u0434\u0430\u043d\u043d\u0438), \u043a\u0430\u0442\u043e:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>List \u2013 \u043a\u043e\u043b\u0435\u043a\u0446\u0438\u044f, \u043a\u043e\u044f\u0442\u043e \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d \u0440\u0435\u0434 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0434\u0443\u0431\u043b\u0438\u0440\u0430\u0449\u0438 \u0441\u0435 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438.<\/li>\n\n\n\n<li>Set \u2013 \u043a\u043e\u043b\u0435\u043a\u0446\u0438\u044f, \u043a\u043e\u044f\u0442\u043e \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0434\u0443\u0431\u043b\u0438\u0440\u0430\u0449\u0438 \u0441\u0435 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438.<\/li>\n\n\n\n<li>Map \u2013 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430, \u043a\u043e\u044f\u0442\u043e \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u0434\u0430\u043d\u043d\u0438 \u043f\u043e\u0434 \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u043d\u0430 \u0434\u0432\u043e\u0439\u043a\u0438 <code>key-value<\/code>. \u0412\u0441\u0435\u043a\u0438 <code>key<\/code> \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0443\u043d\u0438\u043a\u0430\u043b\u0435\u043d.<\/li>\n\n\n\n<li>Queue \u2013 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430, \u043a\u043e\u044f\u0442\u043e \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435 \u043f\u043e \u0440\u0435\u0434\u0430 \u043d\u0430 \u0442\u044f\u0445\u043d\u043e\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u044f\u043d\u0435 (FIFO \u2013 First In, First Out).<\/li>\n\n\n\n<li>Deque \u2013 Double Ended Queue, \u043a\u043e\u044f\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0434\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u0438 \u043f\u0440\u0435\u043c\u0430\u0445\u0432\u0430\u043d\u0435 \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438 \u043e\u0442 \u0434\u0432\u0430\u0442\u0430 \u043a\u0440\u0430\u044f.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0438 implementations \u0441\u0430 <code>ArrayList<\/code>, <code>LinkedList<\/code>, <code>HashSet<\/code>, <code>TreeSet<\/code>, <code>HashMap<\/code>, <code>TreeMap<\/code>, <code>PriorityQueue<\/code> \u0438 \u0434\u0440\u0443\u0433\u0438.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u041a\u0430\u043a\u0432\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0432\u0430 Big O Notation?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Big O Notation \u0435 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430 \u043d\u043e\u0442\u0430\u0446\u0438\u044f, \u043a\u043e\u044f\u0442\u043e \u043e\u043f\u0438\u0441\u0432\u0430 \u043a\u0430\u043a \u043d\u0430\u0440\u0430\u0441\u0442\u0432\u0430 \u0432\u0440\u0435\u043c\u0435\u0442\u043e \u0437\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 (Time Complexity) \u0438\u043b\u0438 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0430\u0442\u0430 \u043f\u0430\u043c\u0435\u0442 (Space Complexity) \u043d\u0430 \u0435\u0434\u0438\u043d algorithm \u0441\u043f\u0440\u044f\u043c\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043d\u0430 \u0432\u0445\u043e\u0434\u043d\u0438\u0442\u0435 \u0434\u0430\u043d\u043d\u0438 (<code>n<\/code>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421 \u0434\u0440\u0443\u0433\u0438 \u0434\u0443\u043c\u0438, Big O \u043f\u043e\u043a\u0430\u0437\u0432\u0430 \u043a\u0430\u043a \u0449\u0435 \u0441\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 \u0434\u0430\u0434\u0435\u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f, \u043a\u043e\u0433\u0430\u0442\u043e \u0431\u0440\u043e\u044f\u0442 \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435 \u0432 \u043a\u043e\u043b\u0435\u043a\u0446\u0438\u044f\u0442\u0430 \u0441\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0430\u0432\u0430.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: Big O \u043d\u0435 \u0438\u0437\u043c\u0435\u0440\u0432\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0442\u043e \u0432\u0440\u0435\u043c\u0435 \u0437\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0438, \u0430 \u043e\u043f\u0438\u0441\u0432\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 \u043d\u0430\u0440\u0430\u0441\u0442\u0432\u0430\u043d\u0435 \u043d\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438\u0442\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u041d\u0430\u0439-\u0447\u0435\u0441\u0442\u043e \u0441\u0440\u0435\u0449\u0430\u043d\u0438 Big O complexities<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Complexity<\/th><th>\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435<\/th><th>\u041e\u0431\u044f\u0441\u043d\u0435\u043d\u0438\u0435<\/th><\/tr><tr><td>O(1)<\/td><td>Constant Time<\/td><td>\u0412\u0440\u0435\u043c\u0435\u0442\u043e \u0437\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 \u043e\u0441\u0442\u0430\u0432\u0430 \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0435\u043b\u043d\u043e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0431\u0440\u043e\u044f \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435.<\/td><\/tr><tr><td>O(log n)<\/td><td>Logarithmic Time<\/td><td>\u0412\u0440\u0435\u043c\u0435\u0442\u043e \u043d\u0430\u0440\u0430\u0441\u0442\u0432\u0430 \u043b\u043e\u0433\u0430\u0440\u0438\u0442\u043c\u0438\u0447\u043d\u043e. \u041f\u0440\u0438 \u0432\u0441\u044f\u043a\u0430 \u0441\u0442\u044a\u043f\u043a\u0430 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0441\u0435 \u043d\u0430\u043c\u0430\u043b\u044f\u0432\u0430 \u043d\u0430\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u0442\u043e \u0437\u0430 \u0442\u044a\u0440\u0441\u0435\u043d\u0435.<\/td><\/tr><tr><td>O(n)<\/td><td>Linear Time<\/td><td>\u0412\u0440\u0435\u043c\u0435\u0442\u043e \u043d\u0430\u0440\u0430\u0441\u0442\u0432\u0430 \u043f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e \u043d\u0430 \u0431\u0440\u043e\u044f \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435.<\/td><\/tr><tr><td>O(n log n)<\/td><td>Linearithmic Time<\/td><td>\u0427\u0435\u0441\u0442\u043e \u0441\u0435 \u0441\u0440\u0435\u0449\u0430 \u043f\u0440\u0438 \u0435\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0438 sorting algorithms.<\/td><\/tr><tr><td>O(n\u00b2)<\/td><td>Quadratic Time<\/td><td>\u041e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0441\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430 \u043f\u0440\u0438 \u0432\u043b\u043e\u0436\u0435\u043d\u0438 loops, \u043a\u043e\u0438\u0442\u043e \u043e\u0431\u0445\u043e\u0436\u0434\u0430\u0442 \u0432\u0441\u0438\u0447\u043a\u0438 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438.<\/td><\/tr><tr><td>O(2\u207f)<\/td><td>Exponential Time<\/td><td>\u0412\u0440\u0435\u043c\u0435\u0442\u043e \u043d\u0430\u0440\u0430\u0441\u0442\u0432\u0430 \u0435\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0446\u0438\u0430\u043b\u043d\u043e \u0441 \u0443\u0432\u0435\u043b\u0438\u0447\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0432\u0445\u043e\u0434\u043d\u0438\u0442\u0435 \u0434\u0430\u043d\u043d\u0438.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"965\" height=\"767\" data-attachment-id=\"3269\" data-permalink=\"https:\/\/vkrastev1blog.com\/2026\/05\/29\/questions-and-informations-prepairing-for-java-developer-job-interview\/image-50\/\" data-orig-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image.png?fit=965%2C767&amp;ssl=1\" data-orig-size=\"965,767\" data-comments-opened=\"1\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image.png?fit=965%2C767&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image.png?resize=965%2C767&#038;ssl=1\" alt=\"\" class=\"wp-image-3269\" srcset=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image.png?w=965&amp;ssl=1 965w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image.png?resize=300%2C238&amp;ssl=1 300w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image.png?resize=768%2C610&amp;ssl=1 768w\" sizes=\"auto, (max-width: 965px) 100vw, 965px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u043e: \u041a\u043e\u043b\u043a\u043e\u0442\u043e \u043f\u043e-\u0431\u0430\u0432\u043d\u043e \u043d\u0430\u0440\u0430\u0441\u0442\u0432\u0430 Big O complexity, \u0442\u043e\u043b\u043a\u043e\u0432\u0430 \u043f\u043e-\u0434\u043e\u0431\u0440\u0435 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0441\u0435 \u043c\u0430\u0449\u0430\u0431\u0438\u0440\u0430 algorithm-\u044a\u0442 \u043f\u0440\u0438 \u0433\u043e\u043b\u0435\u043c\u0438 \u0432\u0445\u043e\u0434\u043d\u0438 \u0434\u0430\u043d\u043d\u0438.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Common Big O Complexities in Java Collections<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">2.1. ArrayList<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ArrayList<\/code> \u0435 implementation \u043d\u0430 <code>List<\/code> interface. \u0422\u043e\u0439 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u043d array, \u043a\u043e\u0439\u0442\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0430\u0432\u0430 \u043a\u0430\u043f\u0430\u0446\u0438\u0442\u0435\u0442\u0430 \u0441\u0438 \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Operation<\/th><th>Time Complexity<\/th><th>\u041e\u0431\u044f\u0441\u043d\u0435\u043d\u0438\u0435<\/th><\/tr><tr><td>Access (<code>get(index)<\/code>)<\/td><td>O(1)<\/td><td>\u0414\u0438\u0440\u0435\u043a\u0442\u0435\u043d \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u0447\u0440\u0435\u0437 index.<\/td><\/tr><tr><td>Search (<code>contains()<\/code>)<\/td><td>O(n)<\/td><td>\u041f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e \u0442\u044a\u0440\u0441\u0435\u043d\u0435 \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442.<\/td><\/tr><tr><td>Insertion (<code>add(element)<\/code>)<\/td><td>O(1) amortized<\/td><td>\u0414\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u0432 \u043a\u0440\u0430\u044f. \u041f\u0440\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0432\u044a\u0442\u0440\u0435\u0448\u043d\u0438\u044f array \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u0442\u0430 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 O(n).<\/td><\/tr><tr><td>Insertion (<code>add(index, element)<\/code>)<\/td><td>O(n)<\/td><td>\u0415\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435 \u0441\u043b\u0435\u0434 \u043f\u043e\u0441\u043e\u0447\u0435\u043d\u0438\u044f index \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u043f\u0440\u0435\u043c\u0435\u0441\u0442\u0435\u043d\u0438.<\/td><\/tr><tr><td>Removal (<code>remove(index)<\/code>)<\/td><td>O(n)<\/td><td>\u0415\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435 \u0441\u043b\u0435\u0434 \u043f\u0440\u0435\u043c\u0430\u0445\u043d\u0430\u0442\u0438\u044f index \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0438\u0437\u043c\u0435\u0441\u0442\u0435\u043d\u0438.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0433\u0430 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 ArrayList?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u0447\u0435\u0441\u0442\u043e \u0434\u043e\u0441\u0442\u044a\u043f\u0432\u0430\u043c\u0435 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438 \u0447\u0440\u0435\u0437 index.<\/li>\n\n\n\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u044f\u043c\u0435 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u043e \u0432 \u043a\u0440\u0430\u044f \u043d\u0430 \u043a\u043e\u043b\u0435\u043a\u0446\u0438\u044f\u0442\u0430.<\/li>\n\n\n\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u0438\u043c\u0430\u043c\u0435 \u043d\u0443\u0436\u0434\u0430 \u043e\u0442 \u0431\u044a\u0440\u0437 \u0434\u043e\u0441\u0442\u044a\u043f \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2.2. HashMap<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>HashMap<\/code> \u0435 implementation \u043d\u0430 <code>Map<\/code> interface. \u0422\u043e\u0439 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435 \u043a\u0430\u0442\u043e \u0434\u0432\u043e\u0439\u043a\u0438 <code>key-value<\/code> \u0438 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 hashing mechanism \u0437\u0430 \u0431\u044a\u0440\u0437\u043e \u043d\u0430\u043c\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438\u0442\u0435.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Operation<\/th><th>Average Time Complexity<\/th><th>Worst Case<\/th><\/tr><tr><td>Access (<code>get()<\/code>)<\/td><td>O(1)<\/td><td>O(n)*<\/td><\/tr><tr><td>Search (<code>containsKey()<\/code>)<\/td><td>O(1)<\/td><td>O(n)*<\/td><\/tr><tr><td>Insertion (<code>put()<\/code>)<\/td><td>O(1)<\/td><td>O(n)*<\/td><\/tr><tr><td>Removal (<code>remove()<\/code>)<\/td><td>O(1)<\/td><td>O(n)*<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u0431\u0435\u043b\u0435\u0436\u043a\u0430: \u041f\u0440\u0438 \u043c\u043d\u043e\u0433\u043e hash collisions \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442\u0442\u0430 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0432\u043b\u043e\u0448\u0438. \u0412 \u0441\u044a\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0438\u0442\u0435 Java implementations \u043d\u0430 <code>HashMap<\/code> \u043d\u044f\u043a\u043e\u0438 collision-heavy buckets \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430\u043d\u0438 \u0432 balanced trees, \u043a\u043e\u0435\u0442\u043e \u043f\u0440\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043f\u043e\u0434\u043e\u0431\u0440\u044f\u0432\u0430 worst-case complexity \u0434\u043e O(log n) \u0437\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u0441\u044a\u043e\u0442\u0432\u0435\u0442\u043d\u0438\u044f bucket.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u0435\u0440\u0435\u043a\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440\u0456:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430 \u0440\u0435\u0434\u0430 \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435.<\/li>\n\n\n\n<li>\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0435\u0434\u0438\u043d <code>null<\/code> key.<\/li>\n\n\n\n<li>\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e <code>null<\/code> values.<\/li>\n\n\n\n<li>\u041d\u0435 \u0435 thread-safe \u043f\u0440\u0438 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u0435\u043d \u0434\u043e\u0441\u0442\u044a\u043f \u0438 \u043f\u0440\u043e\u043c\u044f\u043d\u0430 \u043e\u0442 \u043d\u044f\u043a\u043e\u043b\u043a\u043e threads.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0433\u0430 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 HashMap?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u0438\u043c\u0430\u043c\u0435 \u043d\u0443\u0436\u0434\u0430 \u043e\u0442 \u0431\u044a\u0440\u0437\u043e \u043d\u0430\u043c\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u043f\u043e <code>key<\/code>.<\/li>\n\n\n\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u043c\u0435 \u0434\u0430\u043d\u043d\u0438 \u0432\u044a\u0432 \u0444\u043e\u0440\u043c\u0430\u0442 <code>key-value<\/code>.<\/li>\n\n\n\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u0440\u0435\u0434\u044a\u0442 \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435 \u043d\u0435 \u0435 \u043e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2.3. TreeMap<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>TreeMap<\/code> \u0435 implementation \u043d\u0430 <code>NavigableMap<\/code> interface \u0438 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u0441\u0432\u043e\u0438\u0442\u0435 entries \u0441\u043e\u0440\u0442\u0438\u0440\u0430\u043d\u0438 \u0441\u043f\u043e\u0440\u0435\u0434 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u0438\u044f \u0440\u0435\u0434 \u043d\u0430 <code>keys<\/code> \u0438\u043b\u0438 \u0447\u0440\u0435\u0437 \u0437\u0430\u0434\u0430\u0434\u0435\u043d <code>Comparator<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u044a\u0442\u0440\u0435\u0448\u043d\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Red-Black Tree \u2013 self-balancing binary search tree.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Operation<\/th><th>Time Complexity<\/th><\/tr><tr><td>Access (<code>get()<\/code>)<\/td><td>O(log n)<\/td><\/tr><tr><td>Search (<code>containsKey()<\/code>)<\/td><td>O(log n)<\/td><\/tr><tr><td>Insertion (<code>put()<\/code>)<\/td><td>O(log n)<\/td><\/tr><tr><td>Removal (<code>remove()<\/code>)<\/td><td>O(log n)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u0435\u0440\u0435\u043a\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440\u0456:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0441\u043e\u0440\u0442\u0438\u0440\u0430\u043d \u0440\u0435\u0434 \u043d\u0430 <code>keys<\/code>.<\/li>\n\n\n\n<li>\u041d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 <code>null<\/code> keys \u043f\u0440\u0438 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u0430\u043d\u0435.<\/li>\n\n\n\n<li>\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 <code>null<\/code> values.<\/li>\n\n\n\n<li>\u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f methods \u043a\u0430\u0442\u043e <code>firstKey()<\/code>, <code>lastKey()<\/code>, <code>higherKey()<\/code> \u0436\u04d9\u043d\u0435 <code>lowerKey()<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0433\u0430 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 TreeMap?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u0430\u043d\u043d\u0438\u0442\u0435 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u0430\u043d\u0438.<\/li>\n\n\n\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u0438\u043c\u0430\u043c\u0435 \u043d\u0443\u0436\u0434\u0430 \u043e\u0442 \u0442\u044a\u0440\u0441\u0435\u043d\u0435 \u043d\u0430 \u043d\u0430\u0439-\u0431\u043b\u0438\u0437\u044a\u043a \u043f\u043e \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 <code>key<\/code>.<\/li>\n\n\n\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0437\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0438 \u043e\u0442 keys (Range Queries).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2.4. HashSet<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>HashSet<\/code> \u0435 implementation \u043d\u0430 <code>Set<\/code> interface \u0438 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0432\u044a\u0442\u0440\u0435\u0448\u043d\u043e <code>HashMap<\/code> \u0437\u0430 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u0432\u043e\u0438\u0442\u0435 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Operation<\/th><th>Average Time Complexity<\/th><th>Worst Case<\/th><\/tr><tr><td>Add (<code>add()<\/code>)<\/td><td>O(1)<\/td><td>O(n)*<\/td><\/tr><tr><td>Remove (<code>remove()<\/code>)<\/td><td>O(1)<\/td><td>O(n)*<\/td><\/tr><tr><td>Search (<code>contains()<\/code>)<\/td><td>O(1)<\/td><td>O(n)*<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u0434\u043e\u0431\u043d\u043e \u043d\u0430 <code>HashMap<\/code>, \u043f\u0440\u0438 hash collisions \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442\u0442\u0430 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0432\u043b\u043e\u0448\u0438, \u043a\u0430\u0442\u043e \u0441\u044a\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0438\u0442\u0435 implementations \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 tree bins \u043f\u0440\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u0435\u0440\u0435\u043a\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440\u0456:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0434\u0443\u0431\u043b\u0438\u0440\u0430\u0449\u0438 \u0441\u0435 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438.<\/li>\n\n\n\n<li>\u041d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430 \u0440\u0435\u0434\u0430 \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435.<\/li>\n\n\n\n<li>\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0435\u0434\u0438\u043d <code>null<\/code> \u0435\u043b\u0435\u043c\u0435\u043d\u0442.<\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 <code>hashCode()<\/code> \u0436\u04d9\u043d\u0435 <code>equals()<\/code> \u0437\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u043d\u0435 \u043d\u0430 \u0443\u043d\u0438\u043a\u0430\u043b\u043d\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 \u043e\u0431\u0435\u043a\u0442\u0438\u0442\u0435.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0433\u0430 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 HashSet?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u043c\u0435 \u0441\u0430\u043c\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u043d\u0438 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438.<\/li>\n\n\n\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u0438\u0441\u043a\u0430\u043c\u0435 \u0431\u044a\u0440\u0437\u043e \u0434\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0432\u0430\u043c\u0435 \u0434\u0430\u043b\u0438 \u0434\u0430\u0434\u0435\u043d \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430.<\/li>\n\n\n\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u0440\u0435\u0434\u044a\u0442 \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435 \u043d\u044f\u043c\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">3. \u0414\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u0438 \u0432\u0430\u0436\u043d\u0438 Java Collections<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430 \u0438\u043d\u0442\u0435\u0440\u0432\u044e \u0437\u0430 Java Developer \u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u0430 \u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0442\u0435 \u0438 \u0441\u043b\u0435\u0434\u043d\u0438\u0442\u0435 implementations:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.1. LinkedList<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>LinkedList<\/code> \u0440\u0435\u0430\u043b\u0438\u0437\u0438\u0440\u0430 <code>List<\/code> \u0436\u04d9\u043d\u0435 <code>Deque<\/code> interfaces. \u0412\u044a\u0442\u0440\u0435\u0448\u043d\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Doubly Linked List, \u043f\u0440\u0438 \u043a\u043e\u0439\u0442\u043e \u0432\u0441\u0435\u043a\u0438 node \u0441\u044a\u0434\u044a\u0440\u0436\u0430 references \u043a\u044a\u043c \u043f\u0440\u0435\u0434\u0445\u043e\u0434\u043d\u0438\u044f \u0438 \u0441\u043b\u0435\u0434\u0432\u0430\u0449\u0438\u044f node.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Operation<\/th><th>Time Complexity<\/th><\/tr><tr><td>Access (<code>get(index)<\/code>)<\/td><td>O(n)<\/td><\/tr><tr><td>Search (<code>contains()<\/code>)<\/td><td>O(n)<\/td><\/tr><tr><td>Add at beginning (<code>addFirst()<\/code>)<\/td><td>O(1)<\/td><\/tr><tr><td>Add at end (<code>addLast()<\/code>)<\/td><td>O(1)<\/td><\/tr><tr><td>Remove first (<code>removeFirst()<\/code>)<\/td><td>O(1)<\/td><\/tr><tr><td>Remove last (<code>removeLast()<\/code>)<\/td><td>O(1)<\/td><\/tr><tr><td>Insert\/remove at arbitrary index<\/td><td>O(n)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: <code>LinkedList<\/code> \u043d\u0435 \u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u043f\u043e-\u0431\u044a\u0440\u0437 \u043e\u0442 <code>ArrayList<\/code> \u043f\u0440\u0438 insertion \u0438 removal. \u0410\u043a\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u043f\u044a\u0440\u0432\u043e \u0434\u0430 \u043d\u0430\u043c\u0435\u0440\u0438\u043c \u043f\u043e\u0437\u0438\u0446\u0438\u044f\u0442\u0430 \u043f\u043e index, \u043f\u0430\u043a \u0449\u0435 \u0441\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438 O(n) \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.2. TreeSet<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>TreeSet<\/code> \u0435 implementation \u043d\u0430 <code>NavigableSet<\/code> \u0438 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0432\u044a\u0442\u0440\u0435\u0448\u043d\u043e <code>TreeMap<\/code> (Red-Black Tree).<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Operation<\/th><th>Time Complexity<\/th><\/tr><tr><td>Add (<code>add()<\/code>)<\/td><td>O(log n)<\/td><\/tr><tr><td>Remove (<code>remove()<\/code>)<\/td><td>O(log n)<\/td><\/tr><tr><td>Search (<code>contains()<\/code>)<\/td><td>O(log n)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u0435\u0440\u0435\u043a\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440\u0456:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0434\u0443\u0431\u043b\u0438\u0440\u0430\u0449\u0438 \u0441\u0435 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438.<\/li>\n\n\n\n<li>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u0430\u043d \u0440\u0435\u0434.<\/li>\n\n\n\n<li>\u041d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 <code>null<\/code> \u043f\u0440\u0438 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u0430\u043d\u0435.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3.3. PriorityQueue<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>PriorityQueue<\/code> \u0440\u0435\u0430\u043b\u0438\u0437\u0438\u0440\u0430 <code>Queue<\/code> interface \u0438 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0432\u044a\u0442\u0440\u0435\u0448\u043d\u043e Binary Heap.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Operation<\/th><th>Time Complexity<\/th><\/tr><tr><td>Add (<code>offer()<\/code>)<\/td><td>O(log n)<\/td><\/tr><tr><td>Remove head (<code>poll()<\/code>)<\/td><td>O(log n)<\/td><\/tr><tr><td>Read head (<code>peek()<\/code>)<\/td><td>O(1)<\/td><\/tr><tr><td>Search (<code>contains()<\/code>)<\/td><td>O(n)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u0435\u0440\u0435\u043a\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440\u0456:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0415\u043b\u0435\u043c\u0435\u043d\u0442\u044a\u0442 \u0441 \u043d\u0430\u0439-\u0432\u0438\u0441\u043e\u043a \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 (\u0441\u043f\u043e\u0440\u0435\u0434 \u0437\u0430\u0434\u0430\u0434\u0435\u043d\u0438\u044f ordering) \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430 \u043d\u0430 head \u043f\u043e\u0437\u0438\u0446\u0438\u044f\u0442\u0430.<\/li>\n\n\n\n<li>\u041f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 natural ordering \u2013 \u043d\u0430\u0439-\u043c\u0430\u043b\u043a\u0438\u044f\u0442 \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u0435 \u043f\u044a\u0440\u0432\u0438.<\/li>\n\n\n\n<li>\u041d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430 \u043f\u044a\u043b\u043d\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u0430\u043d\u0435 \u043f\u0440\u0438 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044f.<\/li>\n\n\n\n<li>\u041d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 <code>null<\/code> elements.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. Comparison Table \u2013 Java Collections<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0431\u043e\u0431\u0449\u0435\u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0437\u0430 \u0431\u044a\u0440\u0437\u043e \u0437\u0430\u043f\u043e\u043c\u043d\u044f\u043d\u0435:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Collection<\/th><th>Access<\/th><th>\u0406\u0437\u0434\u0435\u0443<\/th><th>Insertion<\/th><th>Removal<\/th><\/tr><tr><td><code>ArrayList<\/code><\/td><td>O(1)<\/td><td>O(n)<\/td><td>O(1)*<\/td><td>O(n)<\/td><\/tr><tr><td><code>LinkedList<\/code><\/td><td>O(n)<\/td><td>O(n)<\/td><td>O(1)**<\/td><td>O(1)**<\/td><\/tr><tr><td><code>HashMap<\/code><\/td><td>O(1)*<\/td><td>O(1)*<\/td><td>O(1)*<\/td><td>O(1)*<\/td><\/tr><tr><td><code>TreeMap<\/code><\/td><td>O(log n)<\/td><td>O(log n)<\/td><td>O(log n)<\/td><td>O(log n)<\/td><\/tr><tr><td><code>HashSet<\/code><\/td><td>N\/A<\/td><td>O(1)*<\/td><td>O(1)*<\/td><td>O(1)*<\/td><\/tr><tr><td><code>TreeSet<\/code><\/td><td>N\/A<\/td><td>O(log n)<\/td><td>O(log n)<\/td><td>O(log n)<\/td><\/tr><tr><td><code>PriorityQueue<\/code><\/td><td>O(1)***<\/td><td>O(n)<\/td><td>O(log n)<\/td><td>O(log n)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Average\/amortized complexity \u043f\u0440\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430 <code>LinkedList<\/code>: O(1) \u043f\u0440\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u043d\u0430\u0447\u0430\u043b\u043e\u0442\u043e \u0438\u043b\u0438 \u043a\u0440\u0430\u044f, \u0438\u043b\u0438 \u043a\u043e\u0433\u0430\u0442\u043e \u0432\u0435\u0447\u0435 \u0440\u0430\u0437\u043f\u043e\u043b\u0430\u0433\u0430\u043c\u0435 \u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438\u044f node. \u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438\u0442\u0435 \u043f\u043e index \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0441\u0430 O(n).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">*\u0417\u0430 <code>PriorityQueue<\/code>: O(1) \u0441\u0435 \u043e\u0442\u043d\u0430\u0441\u044f \u0434\u043e \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e head \u0447\u0440\u0435\u0437 <code>peek()<\/code>, \u0430 \u043d\u0435 \u0434\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u0435\u043d \u0435\u043b\u0435\u043c\u0435\u043d\u0442.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. \u0412\u0430\u0436\u043d\u0438 \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">1. What is the difference between ArrayList and LinkedList?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>ArrayList<\/code> \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 dynamic array \u0438 \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 O(1) \u0434\u043e\u0441\u0442\u044a\u043f \u0447\u0440\u0435\u0437 index.<\/li>\n\n\n\n<li><code>LinkedList<\/code> \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Doubly Linked List \u0438 \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 O(n) \u0434\u043e\u0441\u0442\u044a\u043f \u0447\u0440\u0435\u0437 index.<\/li>\n\n\n\n<li><code>LinkedList<\/code> \u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u0437\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u043d\u0430\u0447\u0430\u043b\u043e\u0442\u043e \u0438 \u043a\u0440\u0430\u044f \u043d\u0430 \u0441\u043f\u0438\u0441\u044a\u043a\u0430, \u043d\u043e \u0438\u043c\u0430 \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u0435\u043d memory overhead \u0437\u0430 references.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">2. What is the difference between HashMap and TreeMap?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>HashMap<\/code> \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 hashing \u0438 \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 \u0441\u0440\u0435\u0434\u043d\u043e O(1) \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/li>\n\n\n\n<li><code>TreeMap<\/code> \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Red-Black Tree \u0438 \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 O(log n) \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/li>\n\n\n\n<li><code>HashMap<\/code> \u043d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430 \u0440\u0435\u0434\u0430 \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435, \u0434\u043e\u043a\u0430\u0442\u043e <code>TreeMap<\/code> \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0441\u043e\u0440\u0442\u0438\u0440\u0430\u043d\u0438 keys.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">3. What is the difference between HashSet and TreeSet?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>HashSet<\/code> \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 hashing \u0438 \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 \u0441\u0440\u0435\u0434\u043d\u043e O(1) \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/li>\n\n\n\n<li><code>TreeSet<\/code> \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Red-Black Tree \u0438 \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 O(log n) \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/li>\n\n\n\n<li><code>HashSet<\/code> \u043d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430 \u0440\u0435\u0434\u0430, \u0434\u043e\u043a\u0430\u0442\u043e <code>TreeSet<\/code> \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0441\u043e\u0440\u0442\u0438\u0440\u0430\u043d\u0438 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">4. What is Hash Collision?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hash Collision \u0432\u044a\u0437\u043d\u0438\u043a\u0432\u0430, \u043a\u043e\u0433\u0430\u0442\u043e \u0434\u0432\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 objects \u0438\u043c\u0430\u0442 \u0435\u0434\u043d\u0430\u043a\u044a\u0432 <code>hashCode()<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>HashMap<\/code> \u0436\u04d9\u043d\u0435 <code>HashSet<\/code> \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 <code>hashCode()<\/code> \u0436\u04d9\u043d\u0435 <code>equals()<\/code> \u0437\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u043d\u043e\u0442\u043e \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0435 \u0438 \u043d\u0430\u043c\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 objects.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e \u0435 \u0434\u0430 \u0441\u0435 \u043f\u043e\u043c\u043d\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0410\u043a\u043e \u0434\u0432\u0430 objects \u0441\u0430 \u0440\u0430\u0432\u043d\u0438 \u0441\u043f\u043e\u0440\u0435\u0434 <code>equals()<\/code>, \u0442\u0435 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0438\u043c\u0430\u0442 \u0435\u0434\u043d\u0430\u043a\u044a\u0432 <code>hashCode()<\/code>.<\/li>\n\n\n\n<li>\u0414\u0432\u0430 objects \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0438\u043c\u0430\u0442 \u0435\u0434\u043d\u0430\u043a\u044a\u0432 <code>hashCode()<\/code>, \u043d\u043e \u0434\u0430 \u043d\u0435 \u0441\u0430 \u0440\u0430\u0432\u043d\u0438 \u0441\u043f\u043e\u0440\u0435\u0434 <code>equals()<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">5. Are Java Collections thread-safe?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u0432\u0435\u0447\u0435\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0438 implementations \u043a\u0430\u0442\u043e <code>ArrayList<\/code>, <code>HashMap<\/code> \u0436\u04d9\u043d\u0435 <code>HashSet<\/code> \u043d\u0435 \u0441\u0430 thread-safe \u043f\u0440\u0438 \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430 \u043f\u0440\u043e\u043c\u044f\u043d\u0430 \u043e\u0442 \u043d\u044f\u043a\u043e\u043b\u043a\u043e threads.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Java \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0438 concurrent collections:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>ConcurrentHashMap<\/code> \u2013 thread-safe Map.<\/li>\n\n\n\n<li><code>CopyOnWriteArrayList<\/code> \u2013 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u0437\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u0441 \u043c\u043d\u043e\u0433\u043e read \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0438 \u043c\u0430\u043b\u043a\u043e write \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/li>\n\n\n\n<li><code>BlockingQueue<\/code> \u2013 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 thread-safe \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u0430\u0449\u043e \u0438\u0437\u0447\u0430\u043a\u0432\u0430\u043d\u0435 \u043f\u0440\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f.<\/li>\n\n\n\n<li><code>ConcurrentLinkedQueue<\/code> \u2013 non-blocking thread-safe Queue.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">6. \u041d\u0430\u0439-\u0432\u0430\u0436\u043d\u043e\u0442\u043e \u0437\u0430 \u0437\u0430\u043f\u043e\u043c\u043d\u044f\u043d\u0435<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Big O<\/th><th>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th><\/tr><tr><td>O(1)<\/td><td>\u041e\u0442\u043b\u0438\u0447\u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442 \u2013 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u0435\u043d \u0431\u0440\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/td><\/tr><tr><td>O(log n)<\/td><td>\u041c\u043d\u043e\u0433\u043e \u0434\u043e\u0431\u0440\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442 \u043f\u0440\u0438 \u0433\u043e\u043b\u0435\u043c\u0438 \u043a\u043e\u043b\u0435\u043a\u0446\u0438\u0438.<\/td><\/tr><tr><td>O(n)<\/td><td>\u041b\u0438\u043d\u0435\u0439\u043d\u043e \u043d\u0430\u0440\u0430\u0441\u0442\u0432\u0430\u043d\u0435 \u2013 \u0432\u0441\u044f\u043a\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0430\u0432\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u0430 \u043f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e.<\/td><\/tr><tr><td>O(n log n)<\/td><td>\u041e\u0431\u0438\u0447\u0430\u0439\u043d\u043e \u0434\u043e\u0431\u0440\u0430 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442 \u0437\u0430 sorting algorithms.<\/td><\/tr><tr><td>O(n\u00b2)<\/td><td>\u041c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0442\u0430\u043d\u0435 \u0431\u0430\u0432\u043d\u043e \u043f\u0440\u0438 \u0433\u043e\u043b\u0435\u043c\u0438 \u0432\u0445\u043e\u0434\u043d\u0438 \u0434\u0430\u043d\u043d\u0438.<\/td><\/tr><tr><td>O(2\u207f)<\/td><td>\u041c\u043d\u043e\u0433\u043e \u0431\u044a\u0440\u0437\u043e \u043d\u0430\u0440\u0430\u0441\u0442\u0432\u0430\u043d\u0435 \u043d\u0430 \u0438\u0437\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u043d\u0430\u0442\u0430 \u0440\u0430\u0431\u043e\u0442\u0430.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u044a\u0432\u0435\u0442 \u0437\u0430 Java Developer Interview: \u041d\u0435 \u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u044a\u0447\u043d\u043e \u0441\u0430\u043c\u043e \u0434\u0430 \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u0435 Big O \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438\u0442\u0435. \u0422\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u043e\u0431\u044f\u0441\u043d\u0438\u0442\u0435 \u043a\u0430\u043a\u0432\u0430 \u0432\u044a\u0442\u0440\u0435\u0448\u043d\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0432\u0441\u044f\u043a\u0430 Collection, \u0437\u0430\u0449\u043e \u0434\u0430\u0434\u0435\u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0435 O(1), O(log n) \u0438\u043b\u0438 O(n) \u0438 \u0432 \u043a\u0430\u043a\u044a\u0432 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0431\u0438\u0445\u0442\u0435 \u0438\u0437\u0431\u0440\u0430\u043b\u0438 \u0441\u044a\u043e\u0442\u0432\u0435\u0442\u043d\u0430\u0442\u0430 implementation.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Composite Indexes in Databases (\u0421\u044a\u0441\u0442\u0430\u0432\u043d\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u0438 \u0432 \u0431\u0430\u0437\u0438 \u0434\u0430\u043d\u043d\u0438)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Composite Index \u0435 \u0435\u0434\u0438\u043d database index, \u0438\u0437\u0433\u0440\u0430\u0434\u0435\u043d \u0432\u044a\u0440\u0445\u0443 \u0434\u0432\u0435 \u0438\u043b\u0438 \u043f\u043e\u0432\u0435\u0447\u0435 columns \u0432 \u0435\u0434\u043d\u0430 table.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u0437\u0430 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 SQL queries, \u043a\u043e\u0438\u0442\u043e \u0444\u0438\u043b\u0442\u0440\u0438\u0440\u0430\u0442, \u0441\u043e\u0440\u0442\u0438\u0440\u0430\u0442 \u0438\u043b\u0438 \u0442\u044a\u0440\u0441\u044f\u0442 \u0434\u0430\u043d\u043d\u0438 \u043f\u043e \u043d\u044f\u043a\u043e\u043b\u043a\u043e columns \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. How Composite Indexes Work<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Database \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438\u0442\u0435 \u043d\u0430 \u043f\u043e\u0441\u043e\u0447\u0435\u043d\u0438\u0442\u0435 columns \u0437\u0430\u0435\u0434\u043d\u043e \u0432 \u0435\u0434\u0438\u043d index.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0434\u044a\u0442 \u043d\u0430 columns \u0435 \u043c\u043d\u043e\u0433\u043e \u0432\u0430\u0436\u0435\u043d!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0430\u043a\u043e \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u043c index \u0432\u044a\u0440\u0445\u0443 <code>(A, B, C)<\/code>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0415\u0444\u0435\u043a\u0442\u0438\u0432\u0435\u043d \u0435 \u043f\u0440\u0438 \u0442\u044a\u0440\u0441\u0435\u043d\u0435 \u043f\u043e <code>A<\/code>.<\/li>\n\n\n\n<li>\u0415\u0444\u0435\u043a\u0442\u0438\u0432\u0435\u043d \u0435 \u043f\u0440\u0438 \u0442\u044a\u0440\u0441\u0435\u043d\u0435 \u043f\u043e <code>A<\/code> \u0436\u04d9\u043d\u0435 <code>B<\/code>.<\/li>\n\n\n\n<li>\u0415\u0444\u0435\u043a\u0442\u0438\u0432\u0435\u043d \u0435 \u043f\u0440\u0438 \u0442\u044a\u0440\u0441\u0435\u043d\u0435 \u043f\u043e <code>A<\/code>, <code>B<\/code> \u0436\u04d9\u043d\u0435 <code>C<\/code>.<\/li>\n\n\n\n<li>\u041e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u043d\u0435 \u0435 \u0435\u0444\u0435\u043a\u0442\u0438\u0432\u0435\u043d \u043f\u0440\u0438 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u043d\u043e \u0442\u044a\u0440\u0441\u0435\u043d\u0435 \u0441\u0430\u043c\u043e \u043f\u043e <code>B<\/code> \u0438\u043b\u0438 <code>C<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0432\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0441\u0435 \u043d\u0430\u0440\u0438\u0447\u0430 Leftmost Prefix Rule.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Example<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u0430 \u0440\u0430\u0437\u0433\u043b\u0435\u0434\u0430\u043c\u0435 \u0441\u043b\u0435\u0434\u043d\u0430\u0442\u0430 table <code>Employees<\/code>:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>ID<\/th><th>FirstName<\/th><th>LastName<\/th><th>Department<\/th><\/tr><tr><td>1<\/td><td>John<\/td><td>Doe<\/td><td>HR<\/td><\/tr><tr><td>2<\/td><td>Jane<\/td><td>Smith<\/td><td>IT<\/td><\/tr><tr><td>3<\/td><td>Alice<\/td><td>Johnson<\/td><td>HR<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043c\u0435 Composite Index:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">CREATE INDEX idx_employee_name<\/div><div class=\"cm-line\">ON Employees (LastName, FirstName);<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Query 1:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">SELECT * FROM Employees<\/div><div class=\"cm-line\">WHERE LastName = &apos;Smith&apos;<\/div><div class=\"cm-line\">AND FirstName = &apos;Jane&apos;;<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Efficient<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Database \u043c\u043e\u0436\u0435 \u0435\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Composite Index.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Query 2:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">SELECT * FROM Employees<\/div><div class=\"cm-line\">WHERE FirstName = &apos;Alice&apos;;<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Less efficient<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Index-\u044a\u0442 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0435\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e, \u0437\u0430\u0449\u043e\u0442\u043e <code>FirstName<\/code>\u043d\u0435 \u0435 \u043f\u044a\u0440\u0432\u0430\u0442\u0430 column.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Advantages and Disadvantages<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410\u0440\u0442\u044b\u049b\u0448\u044b\u043b\u044b\u049b\u0442\u0430\u0440\u044b:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Improved Query Performance \u2013 \u043f\u043e-\u0431\u044a\u0440\u0437\u043e \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 queries.<\/li>\n\n\n\n<li>Reduced Disk I\/O \u2013 \u043d\u0430\u043c\u0430\u043b\u044f\u0432\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0442\u0430 \u043e\u0442 \u0441\u043a\u0430\u043d\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0433\u043e\u043b\u044f\u043c \u0431\u0440\u043e\u0439 records.<\/li>\n\n\n\n<li>Better Filtering \u2013 \u043f\u043e-\u0435\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0444\u0438\u043b\u0442\u0440\u0438\u0440\u0430\u043d\u0435 \u043f\u043e \u043d\u044f\u043a\u043e\u043b\u043a\u043e columns.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Disadvantages:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0417\u0430\u0435\u043c\u0430 \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u043e storage space.<\/li>\n\n\n\n<li>\u041c\u043e\u0436\u0435 \u0434\u0430 \u0437\u0430\u0431\u0430\u0432\u0438 <code>INSERT<\/code>, <code>UPDATE<\/code> \u0436\u04d9\u043d\u0435 <code>DELETE<\/code>, \u0437\u0430\u0449\u043e\u0442\u043e index-\u044a\u0442 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u0430.<\/li>\n\n\n\n<li>\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u043d\u0438\u044f\u0442 \u0440\u0435\u0434 \u043d\u0430 columns \u043c\u043e\u0436\u0435 \u0434\u0430 \u043d\u0430\u043c\u0430\u043b\u0438 \u0435\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0442\u0430 \u043c\u0443.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. When to Use Composite Indexes?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 Composite Index, \u043a\u043e\u0433\u0430\u0442\u043e \u0447\u0435\u0441\u0442\u043e \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430\u0442\u0435 queries \u0441 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f \u043e\u0442 \u043d\u044f\u043a\u043e\u043b\u043a\u043e columns \u0432 <code>WHERE<\/code>, <code>JOIN<\/code> \u0438\u043b\u0438 <code>ORDER BY<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435 \u0442\u0440\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u0438 \u043d\u0435\u0449\u0430:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Composite Index \u0441\u044a\u0434\u044a\u0440\u0436\u0430 \u0434\u0432\u0435 \u0438\u043b\u0438 \u043f\u043e\u0432\u0435\u0447\u0435 columns.<\/li>\n\n\n\n<li>\u0420\u0435\u0434\u044a\u0442 \u043d\u0430 columns \u0435 \u043e\u0442 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (Leftmost Prefix Rule).<\/li>\n\n\n\n<li>Index-\u0438\u0442\u0435 \u0443\u0441\u043a\u043e\u0440\u044f\u0432\u0430\u0442 <code>SELECT<\/code>, \u043d\u043e \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0437\u0430\u0431\u0430\u0432\u044f\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438\u0442\u0435 \u0437\u0430 \u043f\u0440\u043e\u043c\u044f\u043d\u0430 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435 (<code>INSERT<\/code>, <code>UPDATE<\/code>, <code>DELETE<\/code>).<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u043e: \u041d\u0430\u043b\u0438\u0447\u0438\u0435\u0442\u043e \u043d\u0430 Composite Index \u043d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430, \u0447\u0435 Database \u0449\u0435 \u0433\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430. \u0422\u043e\u0432\u0430 \u0437\u0430\u0432\u0438\u0441\u0438 \u043e\u0442 Query Optimizer, \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430\u0442\u0430 \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0442\u0430 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0438\u044f SQL query.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Composite Key (\u0421\u044a\u0441\u0442\u0430\u0432\u0435\u043d \u043a\u043b\u044e\u0447)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Composite Key \u0435 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f \u043e\u0442 \u0434\u0432\u0435 \u0438\u043b\u0438 \u043f\u043e\u0432\u0435\u0447\u0435 columns \u0432 \u0435\u0434\u043d\u0430 database table, \u043a\u043e\u0438\u0442\u043e \u0437\u0430\u0435\u0434\u043d\u043e \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u043d\u0430 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043d\u0430 \u0432\u0441\u0435\u043a\u0438 record (\u0440\u0435\u0434).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u043e\u0442\u0434\u0435\u043b\u043d\u043e \u0442\u0435\u0437\u0438 columns \u043c\u043e\u0436\u0435 \u0434\u0430 \u043d\u0435 \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u043d\u0438 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438, \u043d\u043e \u0442\u044f\u0445\u043d\u0430\u0442\u0430 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0443\u043d\u0438\u043a\u0430\u043b\u043d\u0430.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Example<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u0430 \u0440\u0430\u0437\u0433\u043b\u0435\u0434\u0430\u043c\u0435 database table <code>StudentCourses<\/code>, \u043a\u043e\u044f\u0442\u043e \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u0437\u0430\u043f\u0438\u0441\u0432\u0430\u043d\u0438\u044f\u0442\u0430 \u043d\u0430 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0438\u0442\u0435 \u0437\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u043a\u0443\u0440\u0441\u043e\u0432\u0435.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>StudentID<\/th><th>CourseID<\/th><th>EnrollmentDate<\/th><\/tr><tr><td>101<\/td><td>1<\/td><td>2026-01-10<\/td><\/tr><tr><td>101<\/td><td>2<\/td><td>2026-01-12<\/td><\/tr><tr><td>102<\/td><td>1<\/td><td>2026-01-15<\/td><\/tr><tr><td>103<\/td><td>2<\/td><td>2026-01-18<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>StudentID<\/code> \u043d\u0435 \u0435 \u0443\u043d\u0438\u043a\u0430\u043b\u0435\u043d, \u0437\u0430\u0449\u043e\u0442\u043e \u0435\u0434\u0438\u043d \u0441\u0442\u0443\u0434\u0435\u043d\u0442 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u043e\u0441\u0435\u0449\u0430\u0432\u0430 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u043a\u0443\u0440\u0441\u0430.<\/li>\n\n\n\n<li><code>CourseID<\/code> \u043d\u0435 \u0435 \u0443\u043d\u0438\u043a\u0430\u043b\u0435\u043d, \u0437\u0430\u0449\u043e\u0442\u043e \u0435\u0434\u0438\u043d \u043a\u0443\u0440\u0441 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0438\u043c\u0430 \u043c\u043d\u043e\u0433\u043e \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0438.<\/li>\n\n\n\n<li>\u041a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f\u0442\u0430 <code>(StudentID, CourseID)<\/code> \u0435 \u0443\u043d\u0438\u043a\u0430\u043b\u043d\u0430 \u0437\u0430 \u0432\u0441\u044f\u043a\u043e \u0437\u0430\u043f\u0438\u0441\u0432\u0430\u043d\u0435.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 Composite Primary Key:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">CREATE TABLE StudentCourses (<\/div><div class=\"cm-line\">    StudentID INT,<\/div><div class=\"cm-line\">    CourseID INT,<\/div><div class=\"cm-line\">    EnrollmentDate DATE,<\/div><div class=\"cm-line\">    PRIMARY KEY (StudentID, CourseID)<\/div><div class=\"cm-line\">);<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">2. When to Use Composite Key?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u0440\u0438 Many-to-Many Relationships \u2013 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 Students \u0438 Courses.<\/li>\n\n\n\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u043d\u0430\u0442\u0430 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0438\u0437\u0438\u0441\u043a\u0432\u0430 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f \u043e\u0442 \u043d\u044f\u043a\u043e\u043b\u043a\u043e columns.<\/li>\n\n\n\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u043d\u0435 \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u043e\u0442\u0434\u0435\u043b\u0435\u043d \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 (<code>ID<\/code>) \u0437\u0430 \u0432\u0441\u0435\u043a\u0438 record.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">3. Composite Key vs Composite Index<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e \u0435 \u0434\u0430 \u043d\u0435 \u0441\u0435 \u0431\u044a\u0440\u043a\u0430\u0442 \u0434\u0432\u0435\u0442\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Composite Key<\/th><th>Composite Index<\/th><\/tr><tr><td>\u0413\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430 \u0443\u043d\u0438\u043a\u0430\u043b\u043d\u043e\u0441\u0442 \u043d\u0430 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f\u0442\u0430 \u043e\u0442 columns, \u043a\u043e\u0433\u0430\u0442\u043e \u0435 Primary Key \u0438\u043b\u0438 Unique Key.<\/td><td>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u0430 \u0442\u044a\u0440\u0441\u0435\u043d\u0435\u0442\u043e \u0438 \u0434\u043e\u0441\u0442\u044a\u043f\u0430 \u0434\u043e \u0434\u0430\u043d\u043d\u0438.<\/td><\/tr><tr><td>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u0437\u0430 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043d\u0430 records.<\/td><td>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u0437\u0430 \u043f\u043e\u0434\u043e\u0431\u0440\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 Query Performance.<\/td><\/tr><tr><td>\u0412\u0438\u043d\u0430\u0433\u0438 \u043d\u0430\u043b\u0430\u0433\u0430 \u0443\u043d\u0438\u043a\u0430\u043b\u043d\u043e\u0441\u0442.<\/td><td>\u041d\u0435 \u0435 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u043e \u0434\u0430 \u043d\u0430\u043b\u0430\u0433\u0430 \u0443\u043d\u0438\u043a\u0430\u043b\u043d\u043e\u0441\u0442.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview: Composite Key \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0447\u0435\u0441\u0442\u043e \u043f\u0440\u0438 Many-to-Many relationships. \u0412 JPA\/Hibernate \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d \u0447\u0440\u0435\u0437 <code>@EmbeddedId<\/code> \u0438\u043b\u0438 <code>@IdClass<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Composition and Aggregation (\u041a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0438 \u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u044f)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 Java Composition \u0438 Aggregation \u0441\u0430 \u0434\u0432\u0430 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430 \u043d\u0430 Object-Oriented Programming (OOP), \u043a\u043e\u0438\u0442\u043e \u043e\u043f\u0438\u0441\u0432\u0430\u0442 \u0432\u0437\u0430\u0438\u043c\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 objects.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418 \u0434\u0432\u0430\u0442\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0432\u0430\u0442 \u0444\u043e\u0440\u043c\u0438 \u043d\u0430 Association (\u0430\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u044f) \u0438 \u043e\u043f\u0438\u0441\u0432\u0430\u0442 \u0432\u0440\u044a\u0437\u043a\u0430 \u0442\u0438\u043f Has-A, \u043d\u043e \u0441\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0432\u0430\u0442 \u043f\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 \u0436\u0438\u0437\u043d\u0435\u043d\u0438\u0442\u0435 \u0446\u0438\u043a\u043b\u0438 \u043d\u0430 \u043e\u0431\u0435\u043a\u0442\u0438\u0442\u0435.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Composition (\u041a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Definition: \u0421\u0438\u043b\u043d\u0430 Has-A \u0432\u0440\u044a\u0437\u043a\u0430, \u043f\u0440\u0438 \u043a\u043e\u044f\u0442\u043e \u0436\u0438\u0437\u043d\u0435\u043d\u0438\u044f\u0442 \u0446\u0438\u043a\u044a\u043b \u043d\u0430 child object \u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c \u043e\u0442 \u0436\u0438\u0437\u043d\u0435\u043d\u0438\u044f \u0446\u0438\u043a\u044a\u043b \u043d\u0430 parent object.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Key Feature: Parent object \u043f\u0440\u0438\u0442\u0435\u0436\u0430\u0432\u0430 child object. \u0410\u043a\u043e parent object \u0431\u044a\u0434\u0435 \u043f\u0440\u0435\u043c\u0430\u0445\u043d\u0430\u0442, child object \u0432\u0435\u0447\u0435 \u043d\u044f\u043c\u0430 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u0435\u043d \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u0438\u043a \u0438 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0441\u0435 \u043f\u0440\u0435\u043c\u0430\u0445\u0432\u0430 \u0437\u0430\u0435\u0434\u043d\u043e \u0441 \u043d\u0435\u0433\u043e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">class Engine {<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">class Car {<\/div><div class=\"cm-line\">    private final Engine engine = new Engine();<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0443\u043a <code>Engine<\/code> \u0435 \u0447\u0430\u0441\u0442 \u043e\u0442 <code>Car<\/code>. <code>Car<\/code> \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u0438 \u043f\u0440\u0438\u0442\u0435\u0436\u0430\u0432\u0430 \u0441\u0432\u043e\u044f <code>Engine<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Aggregation (\u0410\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u044f)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Definition: \u041f\u043e-\u0441\u043b\u0430\u0431\u0430 Has-A \u0432\u0440\u044a\u0437\u043a\u0430, \u043f\u0440\u0438 \u043a\u043e\u044f\u0442\u043e child object \u0438\u043c\u0430 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c \u0436\u0438\u0437\u043d\u0435\u043d \u0446\u0438\u043a\u044a\u043b \u043e\u0442 parent object.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Key Feature: Parent \u0438 child objects \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0442 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u0435\u0434\u0438\u043d \u043e\u0442 \u0434\u0440\u0443\u0433.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">class Book {<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">class Library {<\/div><div class=\"cm-line\">    private List&lt;Book&gt; books;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public Library(List&lt;Book&gt; books) {<\/div><div class=\"cm-line\">        this.books = books;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0443\u043a <code>Library<\/code> \u0441\u044a\u0434\u044a\u0440\u0436\u0430 references \u043a\u044a\u043c <code>Book<\/code> objects, \u043d\u043e \u043a\u043d\u0438\u0433\u0438\u0442\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0442 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0442\u0430.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Key Differences<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Composition<\/th><th>Aggregation<\/th><\/tr><tr><td>Strong Has-A relationship<\/td><td>Weak Has-A relationship<\/td><\/tr><tr><td>Child object \u0435 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043e\u0441\u0442 \u043d\u0430 parent object.<\/td><td>Child object \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e.<\/td><\/tr><tr><td>\u0416\u0438\u0437\u043d\u0435\u043d\u0438\u044f\u0442 \u0446\u0438\u043a\u044a\u043b \u0435 \u0441\u0432\u044a\u0440\u0437\u0430\u043d.<\/td><td>\u0416\u0438\u0437\u043d\u0435\u043d\u0438\u0442\u0435 \u0446\u0438\u043a\u043b\u0438 \u0441\u0430 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0438.<\/td><\/tr><tr><td>Parent \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 child.<\/td><td>Child \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u043d \u0438\u0437\u0432\u044a\u043d parent.<\/td><\/tr><tr><td>\u041c\u044b\u0441\u0430\u043b\u044b: <code>Car<\/code> \u2013 <code>Engine<\/code><\/td><td>\u041c\u044b\u0441\u0430\u043b\u044b: <code>Library<\/code> \u2013 <code>Book<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">4. Important for Java Developer Interview<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Composition \u2013 \u0441\u0438\u043b\u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0430, \u043f\u0440\u0438 \u043a\u043e\u044f\u0442\u043e parent object \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 \u0436\u0438\u0437\u043d\u0435\u043d\u0438\u044f \u0446\u0438\u043a\u044a\u043b \u043d\u0430 child object.<\/li>\n\n\n\n<li>Aggregation \u2013 child object \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 parent object.<\/li>\n\n\n\n<li>\u0418 \u0434\u0432\u0435\u0442\u0435 \u0441\u0430 \u0440\u0430\u0437\u043d\u043e\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 Association.<\/li>\n\n\n\n<li>Java \u043d\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u043d\u0438 keywords \u0437\u0430 Composition \u0438 Aggregation. \u0422\u0435 \u0441\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u0442 \u0447\u0440\u0435\u0437 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438 object references \u0438 design decisions.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435: Composition = Strong ownership. Aggregation = Independent lifecycle.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e \u0443\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435: Java \u043d\u0435 \u0443\u043d\u0438\u0449\u043e\u0436\u0430\u0432\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e child object \u043f\u0440\u0438 \u043f\u0440\u0435\u043c\u0430\u0445\u0432\u0430\u043d\u0435 \u043d\u0430 parent object. Garbage Collector \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0432\u0430 \u043e\u0431\u0435\u043a\u0442\u0438\u0442\u0435, \u043a\u043e\u0433\u0430\u0442\u043e \u0432\u0435\u0447\u0435 \u043d\u044f\u043c\u0430 \u0434\u043e\u0441\u0442\u0438\u0436\u0438\u043c\u0438 references \u043a\u044a\u043c \u0442\u044f\u0445. Composition \u0438 Aggregation \u043e\u043f\u0438\u0441\u0432\u0430\u0442 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u044f \u0434\u0438\u0437\u0430\u0439\u043d \u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043e\u0441\u0442\u0442\u0430, \u0430 \u043d\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u043d \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u044a\u043c \u0437\u0430 \u0443\u043d\u0438\u0449\u043e\u0436\u0430\u0432\u0430\u043d\u0435.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Concurrency vs Parallelism (\u041a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u043e\u0441\u0442 \u0441\u0440\u0435\u0449\u0443 \u043f\u0430\u0440\u0430\u043b\u0435\u043b\u0438\u0437\u044a\u043c)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 Java Concurrency \u0438 Parallelism \u043e\u043f\u0438\u0441\u0432\u0430\u0442 \u0434\u0432\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u043d\u0430\u0447\u0438\u043d\u0430 \u0437\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u0434\u0430\u0447\u0438 (tasks).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Concurrency (\u041a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u043e\u0441\u0442)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Definition: Concurrency \u043e\u0437\u043d\u0430\u0447\u0430\u0432\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0438\u0442\u043e \u043d\u0430\u043f\u0440\u0435\u0434\u0432\u0430\u0442 \u0432 \u043f\u0440\u0438\u043f\u043e\u043a\u0440\u0438\u0432\u0430\u0449\u0438 \u0441\u0435 \u0432\u0440\u0435\u043c\u0435\u0432\u0438 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0438. \u0422\u0435 \u043d\u0435 \u0435 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u043e \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430\u0442 \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e <code>Threads<\/code> \u0438\u043b\u0438 <code>ExecutorService<\/code>.<\/li>\n\n\n\n<li>\u0415\u0434\u0438\u043d CPU core \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0435\u0432\u043a\u043b\u044e\u0447\u0432\u0430 \u043c\u0435\u0436\u0434\u0443 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 tasks \u0447\u0440\u0435\u0437 Context Switching.<\/li>\n\n\n\n<li>\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u0442\u0430 \u0446\u0435\u043b \u0435 \u0435\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u0434\u0430\u0447\u0438.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Example: \u0415\u0434\u0438\u043d thread \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430 \u0437\u0430\u044f\u0432\u043a\u0430 \u043a\u044a\u043c Database, \u0434\u043e\u043a\u0430\u0442\u043e \u0434\u0440\u0443\u0433 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0441\u043a\u0438 input.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Parallelism (\u041f\u0430\u0440\u0430\u043b\u0435\u043b\u0438\u0437\u044a\u043c)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Definition: Parallelism \u043e\u0437\u043d\u0430\u0447\u0430\u0432\u0430 \u0440\u0435\u0430\u043b\u043d\u043e \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0437\u0430\u0434\u0430\u0447\u0438.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e CPU cores.<\/li>\n\n\n\n<li>\u0412 Java \u0441\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0438\u0440\u0430 \u0447\u0440\u0435\u0437 <code>ForkJoinPool<\/code> \u0436\u04d9\u043d\u0435 <code>parallelStream()<\/code>.<\/li>\n\n\n\n<li>\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u0442\u0430 \u0446\u0435\u043b \u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442\u0442\u0430 \u0447\u0440\u0435\u0437 \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u0438\u0437\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Example: \u0420\u0430\u0437\u0434\u0435\u043b\u044f\u043d\u0435 \u043d\u0430 \u0433\u043e\u043b\u044f\u043c \u043d\u0430\u0431\u043e\u0440 \u043e\u0442 \u0434\u0430\u043d\u043d\u0438 \u043d\u0430 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0447\u0430\u0441\u0442\u0438, \u043a\u043e\u0438\u0442\u043e \u0441\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442 \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043e\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 CPU cores.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Key Differences<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Concurrency<\/th><th>Parallelism<\/th><\/tr><tr><td>\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u0434\u0430\u0447\u0438.<\/td><td>\u0415\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u0434\u0430\u0447\u0438.<\/td><\/tr><tr><td>\u041d\u0435 \u0438\u0437\u0438\u0441\u043a\u0432\u0430 \u043d\u044f\u043a\u043e\u043b\u043a\u043e CPU cores.<\/td><td>\u0418\u0437\u0438\u0441\u043a\u0432\u0430 \u0445\u0430\u0440\u0434\u0443\u0435\u0440\u043d\u0430 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442 \u0437\u0430 \u043f\u0430\u0440\u0430\u043b\u0435\u043b\u043d\u043e \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435.<\/td><\/tr><tr><td>\u0424\u043e\u043a\u0443\u0441 \u0432\u044a\u0440\u0445\u0443 coordination \u0438 task management.<\/td><td>\u0424\u043e\u043a\u0443\u0441 \u0432\u044a\u0440\u0445\u0443 performance \u0438 throughput.<\/td><\/tr><tr><td>\u041c\u043e\u0436\u0435 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Context Switching.<\/td><td>Tasks \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430\u0442 \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 cores.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">4. Simple Example<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Concurrency: \u0415\u0434\u0438\u043d \u0433\u043e\u0442\u0432\u0430\u0447 \u043f\u0440\u0438\u0433\u043e\u0442\u0432\u044f \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u044f\u0441\u0442\u0438\u044f, \u043a\u0430\u0442\u043e \u043f\u0440\u0435\u0432\u043a\u043b\u044e\u0447\u0432\u0430 \u043c\u0435\u0436\u0434\u0443 \u0442\u044f\u0445.<\/li>\n\n\n\n<li>Parallelism: \u041d\u044f\u043a\u043e\u043b\u043a\u043e \u0433\u043e\u0442\u0432\u0430\u0447\u0438 \u043f\u0440\u0438\u0433\u043e\u0442\u0432\u044f\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u044f\u0441\u0442\u0438\u044f \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Concurrency = Dealing with multiple tasks.<\/li>\n\n\n\n<li>Parallelism = Doing multiple tasks simultaneously.<\/li>\n\n\n\n<li>Concurrency \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430 \u0431\u0435\u0437 Parallelism.<\/li>\n\n\n\n<li>Parallelism \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Concurrency, \u043d\u043e \u0434\u0432\u0435\u0442\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u043d\u0435 \u0441\u0430 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u0438.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u043e: \u041d\u0435 \u0431\u044a\u0440\u043a\u0430\u0439\u0442\u0435 <code>Concurrency<\/code> \u0441 <code>Thread Safety<\/code>. \u0414\u043e\u0440\u0438 \u043a\u043e\u0433\u0430\u0442\u043e \u043d\u044f\u043a\u043e\u043b\u043a\u043e threads \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430\u0442 \u0437\u0430\u0434\u0430\u0447\u0438 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u043e, \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u0435 \u043e\u0441\u0438\u0433\u0443\u0440\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0435\u043d \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0441\u043f\u043e\u0434\u0435\u043b\u0435\u043d\u0438\u0442\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u0438 \u0447\u0440\u0435\u0437 <code>synchronized<\/code>, <code>Lock<\/code>, <code>AtomicInteger<\/code> \u0438 \u0434\u0440\u0443\u0433\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0438.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Concurrent vs Synchronized Collections (\u041a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u0438 \u0441\u0440\u0435\u0449\u0443 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u0430\u043d\u0438 \u043a\u043e\u043b\u0435\u043a\u0446\u0438\u0438)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 Java \u0438 \u0434\u0432\u0430\u0442\u0430 \u0432\u0438\u0434\u0430 Collections \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430\u0442 Thread Safety, \u043d\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0438 \u0437\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0434\u0430\u043d\u043d\u0438\u0442\u0435.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Synchronized Collections<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Definition: \u0422\u043e\u0432\u0430 \u0441\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0438 Java Collections, \u043e\u0431\u0432\u0438\u0442\u0438 \u0447\u0440\u0435\u0437 synchronized wrappers \u043e\u0442 \u043a\u043b\u0430\u0441\u0430 <code>java.util.Collections<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u0435\u0440\u0435\u043a\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440\u0456:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 <code>intrinsic locks<\/code> (monitor locks).<\/li>\n\n\n\n<li>\u041f\u0440\u0438 \u0438\u0437\u0432\u0438\u043a\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u0430\u043d method \u0441\u0430\u043c\u043e \u0435\u0434\u0438\u043d thread \u043c\u043e\u0436\u0435 \u0434\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 \u0441\u044a\u043e\u0442\u0432\u0435\u0442\u043d\u0430\u0442\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0432\u044a\u0440\u0445\u0443 wrapper-\u0430 \u0432 \u0434\u0430\u0434\u0435\u043d \u043c\u043e\u043c\u0435\u043d\u0442.<\/li>\n\n\n\n<li>\u041f\u0440\u0438 \u0432\u0438\u0441\u043e\u043a\u0430 Concurrency \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0434\u0430\u0442 bottleneck \u0438 \u0434\u0430 \u043d\u0430\u043c\u0430\u043b\u044f\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442\u0442\u0430.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Examples:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">List&lt;String&gt; list =<\/div><div class=\"cm-line\">    Collections.synchronizedList(new ArrayList&lt;&gt;());<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">Set&lt;String&gt; set =<\/div><div class=\"cm-line\">    Collections.synchronizedSet(new HashSet&lt;&gt;());<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">Map&lt;String, Integer&gt; map =<\/div><div class=\"cm-line\">    Collections.synchronizedMap(new HashMap&lt;&gt;());<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Use Case: \u041f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438 \u0441\u0430 \u0437\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u043d\u0438\u0441\u043a\u0430 Concurrency, \u043a\u043e\u0433\u0430\u0442\u043e \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u043f\u0440\u043e\u0441\u0442\u0430 Thread Safety.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: \u041f\u0440\u0438 \u043e\u0431\u0445\u043e\u0436\u0434\u0430\u043d\u0435 \u0441 <code>Iterator<\/code> \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u043e \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 <code>synchronized<\/code> \u0432\u044a\u0440\u0445\u0443 \u0441\u0430\u043c\u0430\u0442\u0430 collection.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Concurrent Collections<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Definition: \u0422\u043e\u0432\u0430 \u0441\u0430 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0438 Thread-Safe Collections \u043e\u0442 package-\u0430 <code>java.util.concurrent<\/code>, \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u0430\u043d\u0438 \u0437\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u0432\u0438\u0441\u043e\u043a\u0430 Concurrency.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u0435\u0440\u0435\u043a\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440\u0456:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 Fine-Grained Locking, Lock-Free Algorithms \u0438 \u0434\u0440\u0443\u0433\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u0430\u043d\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0438.<\/li>\n\n\n\n<li>\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430\u0442 \u043f\u043e-\u0435\u0444\u0435\u043a\u0442\u0438\u0432\u0435\u043d \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043d \u0434\u043e\u0441\u0442\u044a\u043f \u043e\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e threads.<\/li>\n\n\n\n<li>\u041e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430\u0442 \u043f\u043e-\u0434\u043e\u0431\u0440\u0430 Scalability \u043f\u0440\u0438 \u0432\u0438\u0441\u043e\u043a\u0430 Concurrency.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Examples:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Class<\/th><th>\u041f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th><\/tr><tr><td><code>ConcurrentHashMap<\/code><\/td><td>Thread-Safe Map<\/td><\/tr><tr><td><code>ConcurrentLinkedQueue<\/code><\/td><td>Non-blocking Thread-Safe Queue<\/td><\/tr><tr><td><code>CopyOnWriteArrayList<\/code><\/td><td>List \u0441 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435 \u043f\u0440\u0438 \u0432\u0441\u044f\u043a\u0430 \u043f\u0440\u043e\u043c\u044f\u043d\u0430<\/td><\/tr><tr><td><code>CopyOnWriteArraySet<\/code><\/td><td>Set \u0441 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435 \u043f\u0440\u0438 \u0432\u0441\u044f\u043a\u0430 \u043f\u0440\u043e\u043c\u044f\u043d\u0430<\/td><\/tr><tr><td><code>BlockingQueue<\/code><\/td><td>Queue \u0441 \u0431\u043b\u043e\u043a\u0438\u0440\u0430\u0449\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Use Case: \u041f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438 \u0441\u0430 \u0437\u0430 Multi-threaded applications \u0441 \u0438\u043d\u0442\u0435\u043d\u0437\u0438\u0432\u0435\u043d \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043d \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0434\u0430\u043d\u043d\u0438\u0442\u0435.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Key Differences<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Aspect<\/th><th>Synchronized Collections<\/th><th>Concurrent Collections<\/th><\/tr><tr><td>Thread Safety<\/td><td>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u043e\u0431\u0449 lock \u0437\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438\u0442\u0435 \u0432\u044a\u0440\u0445\u0443 wrapper-\u0430.<\/td><td>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u0430\u043d\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0438.<\/td><\/tr><tr><td>Performance<\/td><td>\u041f\u043e-\u043d\u0438\u0441\u043a\u0430 \u043f\u0440\u0438 \u0432\u0438\u0441\u043e\u043a\u0430 Concurrency.<\/td><td>\u041e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u043f\u043e-\u0432\u0438\u0441\u043e\u043a\u0430 \u043f\u0440\u0438 \u0432\u0438\u0441\u043e\u043a\u0430 Concurrency.<\/td><\/tr><tr><td>Scalability<\/td><td>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0430 \u043f\u0440\u0438 \u043c\u043d\u043e\u0433\u043e threads.<\/td><td>\u041f\u043e-\u0434\u043e\u0431\u0440\u0430 \u043f\u0440\u0438 \u043c\u043d\u043e\u0433\u043e threads.<\/td><\/tr><tr><td>Package<\/td><td><code>java.util.Collections<\/code><\/td><td><code>java.util.concurrent<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">4. When to Use What?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Synchronized Collections: \u041f\u0440\u0438 \u043d\u0438\u0441\u043a\u0430 Concurrency \u0438 \u043a\u043e\u0433\u0430\u0442\u043e \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u043f\u0440\u043e\u0441\u0442\u0430 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f.<\/li>\n\n\n\n<li>Concurrent Collections: \u041f\u0440\u0438 \u0432\u0438\u0441\u043e\u043a\u0430 Concurrency \u0438 \u043a\u043e\u0433\u0430\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442\u0442\u0430 \u0438 Scalability \u0441\u0430 \u0432\u0430\u0436\u043d\u0438.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>Collections.synchronizedList()<\/code> \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u043e\u0431\u0449 lock \u0437\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u0430 \u043f\u0440\u0435\u0437 wrapper-\u0430.<\/li>\n\n\n\n<li><code>ConcurrentHashMap<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0431\u0435\u0437 \u0435\u0434\u0438\u043d \u043e\u0431\u0449 lock \u0437\u0430 \u0446\u044f\u043b\u0430\u0442\u0430 Map.<\/li>\n\n\n\n<li><code>CopyOnWriteArrayList<\/code> \u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u043f\u0440\u0438 \u043c\u043d\u043e\u0433\u043e READ \u0438 \u043c\u0430\u043b\u043a\u043e WRITE \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u0437\u0430\u0449\u043e\u0442\u043e \u043f\u0440\u0438 \u0432\u0441\u044f\u043a\u0430 \u043f\u0440\u043e\u043c\u044f\u043d\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u043d\u043e\u0432\u043e \u043a\u043e\u043f\u0438\u0435 \u043d\u0430 \u0432\u044a\u0442\u0440\u0435\u0448\u043d\u0438\u044f array.<\/li>\n\n\n\n<li>Thread-Safe \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0432\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e, \u0447\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442 \u043e\u0442 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0435 atomic.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435: Synchronized Collections = Shared Lock. Concurrent Collections = Optimized Concurrent Access.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Critical Section (\u041a\u0440\u0438\u0442\u0438\u0447\u043d\u0430 \u0441\u0435\u043a\u0446\u0438\u044f)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Critical Section \u0432 Java \u0435 \u0447\u0430\u0441\u0442 \u043e\u0442 \u043a\u043e\u0434\u0430, \u0432 \u043a\u043e\u044f\u0442\u043e \u0441\u0435 \u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u044f\u0432\u0430 \u0434\u043e\u0441\u0442\u044a\u043f \u0438\u043b\u0438 \u043f\u0440\u043e\u043c\u044f\u043d\u0430 \u043d\u0430 Shared Resources (\u0441\u043f\u043e\u0434\u0435\u043b\u0435\u043d\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0438), \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0438 \u043e\u0442 \u043d\u044f\u043a\u043e\u043b\u043a\u043e threads.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u044f \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0437\u0430\u0449\u0438\u0442\u0435\u043d\u0430 \u0432 Multi-threaded environment, \u0437\u0430 \u0434\u0430 \u0441\u0435 \u0438\u0437\u0431\u0435\u0433\u043d\u0430\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438 \u043a\u0430\u0442\u043e Race Conditions, \u043d\u0435\u043a\u043e\u043d\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u0438 \u0434\u0430\u043d\u043d\u0438 \u0438 \u043d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0438\u043c\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Key Concepts<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Shared Resources: \u0420\u0435\u0441\u0443\u0440\u0441\u0438 (variables, objects, data structures), \u0434\u043e \u043a\u043e\u0438\u0442\u043e \u0438\u043c\u0430\u0442 \u0434\u043e\u0441\u0442\u044a\u043f \u043d\u044f\u043a\u043e\u043b\u043a\u043e threads.<\/li>\n\n\n\n<li>Mutual Exclusion: \u0413\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430, \u0447\u0435 \u0441\u0430\u043c\u043e \u0435\u0434\u0438\u043d thread \u043c\u043e\u0436\u0435 \u0434\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 \u0437\u0430\u0449\u0438\u0442\u0435\u043d\u0430\u0442\u0430 \u0441\u0435\u043a\u0446\u0438\u044f \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e.<\/li>\n\n\n\n<li>Synchronization: Java \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0438 \u043a\u0430\u0442\u043e <code>synchronized<\/code> \u0436\u04d9\u043d\u0435 <code>Locks<\/code> \u0437\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b \u043d\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u0430 \u0434\u043e Critical Section.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">2. Example: Critical Section with synchronized<\/h2>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class Counter {<\/div><div class=\"cm-line\">    private int count = 0;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public synchronized void increment() {<\/div><div class=\"cm-line\">        count++;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public synchronized int getCount() {<\/div><div class=\"cm-line\">        return count;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Explanation:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>increment()<\/code> \u0436\u04d9\u043d\u0435 <code>getCount()<\/code> \u0441\u0430 synchronized methods.<\/li>\n\n\n\n<li><code>synchronized<\/code> \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430, \u0447\u0435 \u0441\u0430\u043c\u043e \u0435\u0434\u0438\u043d thread \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043c\u043e\u0436\u0435 \u0434\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 synchronized method \u0432\u044a\u0440\u0445\u0443 \u0441\u044a\u0449\u0438\u044f object.<\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 Intrinsic Lock (Monitor Lock) \u043d\u0430 \u043e\u0431\u0435\u043a\u0442\u0430.<\/li>\n\n\n\n<li>\u041f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0432\u0430 Race Conditions \u043f\u0440\u0438 \u0434\u043e\u0441\u0442\u044a\u043f\u0430 \u0434\u043e <code>count<\/code>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">3. Other Synchronization Tools in Java<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u0432\u0435\u043d <code>synchronized<\/code>, Java \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u0438 \u0434\u0440\u0443\u0433\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0438:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1. Locks (<code>java.util.concurrent.locks<\/code>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>ReentrantLock<\/code> \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u043f\u043e-\u0433\u043e\u043b\u044f\u043c\u0430 \u0433\u044a\u0432\u043a\u0430\u0432\u043e\u0441\u0442 \u043f\u0440\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 synchronization.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Lock lock = new ReentrantLock();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">lock.lock();<\/div><div class=\"cm-line\">try {<\/div><div class=\"cm-line\">    \/\/ Critical Section<\/div><div class=\"cm-line\">} finally {<\/div><div class=\"cm-line\">    lock.unlock();<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">2. Atomic Variables (<code>java.util.concurrent.atomic<\/code>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>AtomicInteger<\/code> \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 atomic \u0438 thread-safe \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0431\u0435\u0437 \u0438\u0437\u0440\u0438\u0447\u043d\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 locks.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">AtomicInteger count = new AtomicInteger(0);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">count.incrementAndGet();<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">4. Important for Java Developer Interview<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Critical Section: \u0427\u0430\u0441\u0442 \u043e\u0442 \u043a\u043e\u0434\u0430, \u043a\u043e\u044f\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0438 \u0441\u044a\u0441 shared resources.<\/li>\n\n\n\n<li>Race Condition: \u0412\u044a\u0437\u043d\u0438\u043a\u0432\u0430, \u043a\u043e\u0433\u0430\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u044a\u0442 \u0437\u0430\u0432\u0438\u0441\u0438 \u043e\u0442 \u043d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0438\u043c\u043e\u0442\u043e \u043f\u0440\u0435\u043f\u043b\u0438\u0442\u0430\u043d\u0435 \u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438\u0442\u0435 \u043d\u0430 \u043d\u044f\u043a\u043e\u043b\u043a\u043e threads.<\/li>\n\n\n\n<li>Mutual Exclusion: \u0421\u0430\u043c\u043e \u0435\u0434\u0438\u043d thread \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 \u0437\u0430\u0449\u0438\u0442\u0435\u043d\u0430\u0442\u0430 \u0441\u0435\u043a\u0446\u0438\u044f \u0432 \u0434\u0430\u0434\u0435\u043d \u043c\u043e\u043c\u0435\u043d\u0442.<\/li>\n\n\n\n<li>Synchronization: \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u0430 \u0434\u043e shared resources \u0438 \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u0442\u0430 memory visibility.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435: \u0426\u0435\u043b\u0442\u0430 \u043d\u0430 Critical Section \u0435 \u0434\u0430 \u043f\u0440\u0435\u0434\u043f\u0430\u0437\u0438 shared data \u043e\u0442 \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0438 \u043d\u0435\u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0438 \u0434\u0430 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430 \u043a\u043e\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438\u0442\u0435.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Dynamic and Static Polymorphism in Java (\u0421\u0442\u0430\u0442\u0438\u0447\u0435\u043d \u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u043d \u043f\u043e\u043b\u0438\u043c\u043e\u0440\u0444\u0438\u0437\u044a\u043c)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Polymorphism (\u041f\u043e\u043b\u0438\u043c\u043e\u0440\u0444\u0438\u0437\u044a\u043c) \u0435 \u0435\u0434\u0438\u043d \u043e\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u0438\u0442\u0435 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438 \u043d\u0430 Object-Oriented Programming (OOP). \u0422\u043e\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0435\u0434\u0438\u043d \u0438 \u0441\u044a\u0449 method \u0438\u043b\u0438 reference \u0434\u0430 \u0438\u043c\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442 \u043e\u0442 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 Java \u0438\u043c\u0430 \u0434\u0432\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u0438 \u0432\u0438\u0434\u0430 Polymorphism:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Static Polymorphism (Compile-Time Polymorphism)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u0440\u0438\u0447\u0430 \u0441\u0435 \u043e\u0449\u0435 Compile-Time Polymorphism, \u0437\u0430\u0449\u043e\u0442\u043e \u0438\u0437\u0431\u043e\u0440\u044a\u0442 \u043d\u0430 method \u0441\u0435 \u0438\u0437\u0432\u044a\u0440\u0448\u0432\u0430 \u043f\u043e \u0432\u0440\u0435\u043c\u0435 \u043d\u0430 compilation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u0439-\u0447\u0435\u0441\u0442\u043e \u0441\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0438\u0440\u0430 \u0447\u0440\u0435\u0437 Method Overloading.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Method Overloading: \u041d\u044f\u043a\u043e\u043b\u043a\u043e methods \u0438\u043c\u0430\u0442 \u0435\u0434\u043d\u043e \u0438 \u0441\u044a\u0449\u043e \u0438\u043c\u0435, \u043d\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 parameters (\u0431\u0440\u043e\u0439, \u0442\u0438\u043f \u0438\u043b\u0438 \u0440\u0435\u0434).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">class Calculator {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    int add(int a, int b) {<\/div><div class=\"cm-line\">        return a + b;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    double add(double a, double b) {<\/div><div class=\"cm-line\">        return a + b;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    int add(int a, int b, int c) {<\/div><div class=\"cm-line\">        return a + b + c;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Compiler \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f \u043a\u043e\u0439 method \u0434\u0430 \u0438\u0437\u0432\u0438\u043a\u0430 \u0432\u044a\u0437 \u043e\u0441\u043d\u043e\u0432\u0430 \u043d\u0430 \u043f\u043e\u0434\u0430\u0434\u0435\u043d\u0438\u0442\u0435 arguments.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Dynamic Polymorphism (Runtime Polymorphism)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u0440\u0438\u0447\u0430 \u0441\u0435 \u043e\u0449\u0435 Runtime Polymorphism, \u0437\u0430\u0449\u043e\u0442\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0438\u044f\u0442 method \u0441\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f \u043f\u043e \u0432\u0440\u0435\u043c\u0435 \u043d\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 (runtime).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0430\u043b\u0438\u0437\u0438\u0440\u0430 \u0441\u0435 \u0447\u0440\u0435\u0437 Method Overriding.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Method Overriding: Subclass \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u0430 implementation \u043d\u0430 method, \u043d\u0430\u0441\u043b\u0435\u0434\u0435\u043d \u043e\u0442 Parent Class.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">class Animal {<\/div><div class=\"cm-line\">    void makeSound() {<\/div><div class=\"cm-line\">        System.out.println(&quot;Animal sound&quot;);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">class Dog extends Animal {<\/div><div class=\"cm-line\">    @Override<\/div><div class=\"cm-line\">    void makeSound() {<\/div><div class=\"cm-line\">        System.out.println(&quot;Bark&quot;);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">Animal animal = new Dog();<\/div><div class=\"cm-line\">animal.makeSound(); \/\/ Bark<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0412\u044a\u043f\u0440\u0435\u043a\u0438 \u0447\u0435 reference type \u0435 <code>Animal<\/code>, \u0440\u0435\u0430\u043b\u043d\u0438\u044f\u0442 object \u0435 <code>Dog<\/code>. \u0417\u0430\u0442\u043e\u0432\u0430 JVM \u0438\u0437\u0432\u0438\u043a\u0432\u0430 <code>Dog<\/code> implementation \u043d\u0430 <code>makeSound()<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Key Differences<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Aspect<\/th><th>Static Polymorphism<\/th><th>Dynamic Polymorphism<\/th><\/tr><tr><td>Decision Time<\/td><td>Compile Time<\/td><td>Runtime<\/td><\/tr><tr><td>Example<\/td><td>Method Overloading<\/td><td>Method Overriding<\/td><\/tr><tr><td>Binding Type<\/td><td>Early Binding<\/td><td>Late Binding<\/td><\/tr><tr><td>Method Selection<\/td><td>\u0421\u043f\u043e\u0440\u0435\u0434 method signature \u0438 \u0442\u0438\u043f\u043e\u0432\u0435\u0442\u0435 \u043d\u0430 arguments.<\/td><td>\u0421\u043f\u043e\u0440\u0435\u0434 \u0440\u0435\u0430\u043b\u043d\u0438\u044f object type.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">4. Important for Java Developer Interview<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Overloading = Same method name, different parameters.<\/li>\n\n\n\n<li>Overriding = Subclass changes the inherited method implementation.<\/li>\n\n\n\n<li><code>@Override<\/code> annotation \u043f\u043e\u043c\u0430\u0433\u0430 \u043d\u0430 compiler \u0434\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u0438 \u0434\u0430\u043b\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u043d\u043e \u0441\u0435 \u043f\u0440\u0430\u0432\u0438 overriding.<\/li>\n\n\n\n<li><code>static<\/code>, <code>private<\/code> \u0436\u04d9\u043d\u0435 <code>final<\/code> methods \u043d\u0435 \u0443\u0447\u0430\u0441\u0442\u0432\u0430\u0442 \u0432 Dynamic Method Dispatch \u043f\u043e \u0441\u044a\u0449\u0438\u044f \u043d\u0430\u0447\u0438\u043d \u043a\u0430\u0442\u043e \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u0442\u0435 instance methods.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e \u0443\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435: \u041f\u0440\u0438 Static Polymorphism \u0438\u0437\u0431\u043e\u0440\u044a\u0442 \u043d\u0430 overloaded method \u0441\u0435 \u0438\u0437\u0432\u044a\u0440\u0448\u0432\u0430 \u0441\u043f\u043e\u0440\u0435\u0434 \u0442\u0438\u043f\u043e\u0432\u0435\u0442\u0435, \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0438 \u043f\u043e \u0432\u0440\u0435\u043c\u0435 \u043d\u0430 compilation. \u041f\u0440\u0438 Dynamic Polymorphism JVM \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f \u043a\u043e\u044f overridden instance method implementation \u0434\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0438 \u0441\u043f\u043e\u0440\u0435\u0434 \u0440\u0435\u0430\u043b\u043d\u0438\u044f object type.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Static Polymorphism \u2192 Method Overloading \u2192 Compile Time.<\/li>\n\n\n\n<li>Dynamic Polymorphism \u2192 Method Overriding \u2192 Runtime.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Functional Interface (\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0435\u043d \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Functional Interface \u0432 Java \u0435 interface, \u043a\u043e\u0439\u0442\u043e \u0438\u043c\u0430 \u0442\u043e\u0447\u043d\u043e \u0435\u0434\u0438\u043d Abstract Method (SAM \u2013 Single Abstract Method).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e \u043f\u0440\u0438 Lambda Expressions \u0438 Method References, \u0437\u0430 \u0434\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u0438 \u043a\u043e\u0434\u0430 \u043f\u043e-\u043a\u0440\u0430\u0442\u044a\u043a \u0438 \u0447\u0435\u0442\u0438\u043c \u0438 \u0434\u0430 \u043f\u043e\u0434\u043f\u043e\u043c\u043e\u0433\u043d\u0435 Functional Programming.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Key Features<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Single Abstract Method: Functional Interface \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0438\u043c\u0430 \u0442\u043e\u0447\u043d\u043e \u0435\u0434\u0438\u043d abstract method.<\/li>\n\n\n\n<li>Default and Static Methods: \u041c\u043e\u0436\u0435 \u0434\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430 <code>default<\/code> \u0436\u04d9\u043d\u0435 <code>static<\/code> methods, \u0431\u0435\u0437 \u0442\u0435 \u0434\u0430 \u0441\u0435 \u0431\u0440\u043e\u044f\u0442 \u043a\u044a\u043c \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u0438\u044f abstract method.<\/li>\n\n\n\n<li>@FunctionalInterface Annotation: \u041d\u0435\u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u0430 annotation, \u043a\u043e\u044f\u0442\u043e \u0443\u043a\u0430\u0437\u0432\u0430 \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u0438\u0435\u0442\u043e interface-\u044a\u0442 \u0434\u0430 \u0431\u044a\u0434\u0435 Functional Interface. Compiler \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0432\u0430 \u0434\u0430\u043b\u0438 \u0438\u043c\u0430 \u0442\u043e\u0447\u043d\u043e \u0435\u0434\u0438\u043d abstract method.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">2. Example<\/h2>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@FunctionalInterface<\/div><div class=\"cm-line\">interface Calculator {<\/div><div class=\"cm-line\">    int calculate(int a, int b);<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        Calculator addition = (a, b) -&gt; a + b;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        System.out.println(addition.calculate(5, 3));<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442: <code>8<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0443\u043a:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Calculator<\/code> \u0438\u043c\u0430 \u0435\u0434\u0438\u043d abstract method \u2013 <code>calculate()<\/code>.<\/li>\n\n\n\n<li><code>(a, b) -&gt; a + b<\/code> \u0435 Lambda Expression.<\/li>\n\n\n\n<li>Lambda Expression \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f implementation \u043d\u0430 <code>calculate()<\/code>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">3. Common Functional Interfaces in Java<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Java \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u0433\u043e\u0442\u043e\u0432\u0438 Functional Interfaces \u0432 package-\u0430 <code>java.util.function<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Interface<\/th><th>Input<\/th><th>Output<\/th><th>\u041f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th><\/tr><tr><td><code>Predicate&lt;T&gt;<\/code><\/td><td>T<\/td><td>boolean<\/td><td>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0435.<\/td><\/tr><tr><td><code>Function&lt;T, R&gt;<\/code><\/td><td>T<\/td><td>R<\/td><td>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442.<\/td><\/tr><tr><td><code>Supplier&lt;T&gt;<\/code><\/td><td>None<\/td><td>T<\/td><td>\u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442.<\/td><\/tr><tr><td><code>Consumer&lt;T&gt;<\/code><\/td><td>T<\/td><td>void<\/td><td>\u0418\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0432\u044a\u0440\u0445\u0443 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442.<\/td><\/tr><tr><td><code>BiFunction&lt;T, U, R&gt;<\/code><\/td><td>T, U<\/td><td>R<\/td><td>\u041f\u0440\u0438\u0435\u043c\u0430 \u0434\u0432\u0430 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 \u0438 \u0432\u0440\u044a\u0449\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">4. Important for Java Developer Interview<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Functional Interface = Exactly one Abstract Method.<\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u0441 Lambda Expressions \u0438 Method References.<\/li>\n\n\n\n<li><code>@FunctionalInterface<\/code> \u043d\u0435 \u0435 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u0430, \u043d\u043e \u043f\u043e\u043c\u0430\u0433\u0430 \u0437\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043e\u0442 compiler.<\/li>\n\n\n\n<li>\u041c\u043e\u0436\u0435 \u0434\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e <code>default<\/code> \u0436\u04d9\u043d\u0435 <code>static<\/code> methods.<\/li>\n\n\n\n<li>Methods, \u0441\u044a\u0432\u043f\u0430\u0434\u0430\u0449\u0438 \u0441 public methods \u043e\u0442 <code>Object<\/code> (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>toString()<\/code>), \u043d\u0435 \u0441\u0435 \u0431\u0440\u043e\u044f\u0442 \u043a\u0430\u0442\u043e \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u0438 abstract methods.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435: Functional Interface \u0435 \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0430 \u043d\u0430 Lambda Expressions \u0432 Java \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0434\u0430 \u043f\u043e\u0434\u0430\u0432\u0430\u043c\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 (behavior) \u043a\u0430\u0442\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u043d\u0430 methods.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Functional Programming (FP) \u2013 \u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0438\u0440\u0430\u043d\u0435<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Functional Programming (FP) \u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043d\u0430 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0430, \u043f\u0440\u0438 \u043a\u043e\u044f\u0442\u043e \u0438\u0437\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f\u0442\u0430 \u0441\u0435 \u0440\u0430\u0437\u0433\u043b\u0435\u0436\u0434\u0430\u0442 \u043a\u0430\u0442\u043e \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u0442\u0430 \u0438\u0434\u0435\u044f \u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u0431\u044f\u0433\u0432\u0430\u0442 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u043e\u0442\u043e \u0441\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u0435 (Mutable State) \u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043d\u0438\u0442\u0435 \u0435\u0444\u0435\u043a\u0442\u0438 (Side Effects), \u043a\u0430\u0442\u043e \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 Pure Functions \u0438 Immutable Data.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Core Ideas of Functional Programming<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pure Functions: \u0424\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0438\u0442\u043e \u043f\u0440\u0438 \u0435\u0434\u043d\u0430\u043a\u0432\u0438 \u0432\u0445\u043e\u0434\u043d\u0438 \u0434\u0430\u043d\u043d\u0438 \u0432\u0438\u043d\u0430\u0433\u0438 \u0432\u0440\u044a\u0449\u0430\u0442 \u0435\u0434\u043d\u0430\u043a\u044a\u0432 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442 \u0438 \u043d\u044f\u043c\u0430\u0442 Side Effects.<\/li>\n\n\n\n<li>Immutability: \u0414\u0430\u043d\u043d\u0438\u0442\u0435 \u043d\u0435 \u0441\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u0442 \u0441\u043b\u0435\u0434 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u0438\u043c.<\/li>\n\n\n\n<li>First-Class Functions: \u0424\u0443\u043d\u043a\u0446\u0438\u0438\u0442\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0441\u0435 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u0442 \u0432 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0438, \u0434\u0430 \u0441\u0435 \u043f\u043e\u0434\u0430\u0432\u0430\u0442 \u043a\u0430\u0442\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0438 \u0438 \u0434\u0430 \u0441\u0435 \u0432\u0440\u044a\u0449\u0430\u0442 \u043e\u0442 \u0434\u0440\u0443\u0433\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/li>\n\n\n\n<li>Higher-Order Functions: \u0424\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0438\u0442\u043e \u043f\u0440\u0438\u0435\u043c\u0430\u0442 \u0434\u0440\u0443\u0433\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u0430\u0442\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0438 \u0438\u043b\u0438 \u0432\u0440\u044a\u0449\u0430\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/li>\n\n\n\n<li>Declarative Style: \u041e\u043f\u0438\u0441\u0432\u0430 \u0441\u0435 \u043a\u0430\u043a\u0432\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u0438, \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043a\u0430\u043a \u0434\u0430 \u0441\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u0438.<\/li>\n\n\n\n<li>Recursion: \u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u044f\u0442\u043e \u0438\u0437\u0432\u0438\u043a\u0432\u0430 \u0441\u0430\u043c\u0430 \u0441\u0435\u0431\u0435 \u0441\u0438, \u0432\u043c\u0435\u0441\u0442\u043e \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u0438 loops.<\/li>\n\n\n\n<li>Lazy Evaluation: \u0418\u0437\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f\u0442\u0430 \u0441\u0435 \u0438\u0437\u0432\u044a\u0440\u0448\u0432\u0430\u0442 \u0441\u0430\u043c\u043e \u043a\u043e\u0433\u0430\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u044a\u0442 \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c (\u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0441\u0435 \u043e\u0442 \u043d\u044f\u043a\u043e\u0438 \u0435\u0437\u0438\u0446\u0438).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">2. Examples of Functional Programming Languages<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Pure \/ Primarily Functional<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Language<\/th><th>Characteristics<\/th><\/tr><tr><td>Haskell<\/td><td>Pure Functional Programming, Lazy Evaluation, Strong Type System.<\/td><\/tr><tr><td>Erlang<\/td><td>\u0421\u044a\u0437\u0434\u0430\u0434\u0435\u043d \u0437\u0430 Concurrency \u0438 Fault Tolerance, \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u0432 \u0442\u0435\u043b\u0435\u043a\u043e\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0438.<\/td><\/tr><tr><td>Elixir<\/td><td>\u041c\u043e\u0434\u0435\u0440\u0435\u043d Functional Language, \u0440\u0430\u0431\u043e\u0442\u0435\u0449 \u0432\u044a\u0440\u0445\u0443 Erlang VM.<\/td><\/tr><tr><td>OCaml \/ F#<\/td><td>Functional-first languages \u0441\u044a\u0441 Strong Type Inference.<\/td><\/tr><tr><td>Scheme \/ Lisp \/ Clojure<\/td><td>Functional Programming \u0438 Symbolic Processing.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Multi-paradigm (FP + OOP \/ Imperative)<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Language<\/th><th>Characteristics<\/th><\/tr><tr><td>Scala<\/td><td>\u041a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u0430 FP \u0438 OOP. \u0420\u0430\u0431\u043e\u0442\u0438 \u0432\u044a\u0440\u0445\u0443 JVM \u0438 \u0441\u0435 \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0430 \u0441 Java.<\/td><\/tr><tr><td>Kotlin<\/td><td>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 Lambdas, Immutability \u0438 <code>map\/filter\/reduce<\/code>.<\/td><\/tr><tr><td>JavaScript \/ TypeScript<\/td><td>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u0442 Closures \u0438 Higher-Order Functions.<\/td><\/tr><tr><td>Python<\/td><td>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 <code>map()<\/code>, <code>filter()<\/code>, <code>lambda<\/code> \u0436\u04d9\u043d\u0435 <code>functools<\/code>.<\/td><\/tr><tr><td>Rust<\/td><td>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 Immutability, Higher-Order Functions \u0438 Pattern Matching.<\/td><\/tr><tr><td>Swift<\/td><td>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 Closures, Immutability \u0438 <code>map\/filter\/reduce<\/code>.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">3. Functional Programming in Java<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Java \u043d\u0435 \u0435 Pure Functional Programming Language, \u0430 Multi-paradigm Language \u2013 \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u0430 OOP, Imperative Programming \u0438 Functional Programming.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0442 Java 8 \u0441\u0430 \u0432\u044a\u0432\u0435\u0434\u0435\u043d\u0438 \u0432\u0430\u0436\u043d\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u0438 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Lambda Expressions \u2013 \u043a\u0440\u0430\u0442\u044a\u043a \u043d\u0430\u0447\u0438\u043d \u0437\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 Functional Interfaces.<\/li>\n\n\n\n<li>Functional Interfaces \u2013 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>Predicate<\/code>, <code>Function<\/code>, <code>Consumer<\/code> \u0436\u04d9\u043d\u0435 <code>Supplier<\/code>.<\/li>\n\n\n\n<li>Stream API \u2013 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u043a\u043e\u043b\u0435\u043a\u0446\u0438\u0438 \u0447\u0440\u0435\u0437 <code>filter()<\/code>, <code>map()<\/code> \u0436\u04d9\u043d\u0435 <code>reduce()<\/code>.<\/li>\n\n\n\n<li>Method References \u2013 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449\u0438 methods \u043a\u0430\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/li>\n\n\n\n<li>Optional \u2013 \u043f\u043e\u043c\u0430\u0433\u0430 \u0437\u0430 \u043f\u043e-\u044f\u0441\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e \u043b\u0438\u043f\u0441\u0432\u0430\u0449\u0438 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">List&lt;Integer&gt; numbers = List.of(1, 2, 3, 4, 5);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">List&lt;Integer&gt; result = numbers.stream()<\/div><div class=\"cm-line\">        .filter(n -&gt; n % 2 == 0)<\/div><div class=\"cm-line\">        .map(n -&gt; n * n)<\/div><div class=\"cm-line\">        .toList();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">System.out.println(result); \/\/ [4, 16]<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0443\u043a:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>filter()<\/code> \u0438\u0437\u0431\u0438\u0440\u0430 \u0447\u0435\u0442\u043d\u0438\u0442\u0435 \u0447\u0438\u0441\u043b\u0430.<\/li>\n\n\n\n<li><code>map()<\/code> \u043f\u043e\u0432\u0434\u0438\u0433\u0430 \u0432\u0441\u044f\u043a\u043e \u0447\u0438\u0441\u043b\u043e \u043d\u0430 \u043a\u0432\u0430\u0434\u0440\u0430\u0442.<\/li>\n\n\n\n<li><code>toList()<\/code> \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u043d\u043e\u0432 List \u0441 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438\u0442\u0435.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. Summary<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Functional-only \/ Primarily Functional: Haskell, Erlang, Elixir, Scheme, OCaml, F#.<\/li>\n\n\n\n<li>Multi-paradigm: Scala, Kotlin, JavaScript, Python, Rust, Swift, Java.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview: Java \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 Functional Programming \u0447\u0440\u0435\u0437 Lambda Expressions, Functional Interfaces \u0438 Stream API, \u043d\u043e \u043e\u0441\u0442\u0430\u0432\u0430 Multi-paradigm Language, \u0430 \u043d\u0435 Pure Functional Language.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Garbage Collector (GC) \u2013 \u0421\u044a\u0431\u0438\u0440\u0430\u0447 \u043d\u0430 \u043d\u0435\u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0430 \u043f\u0430\u043c\u0435\u0442<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">1. Heap Memory<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Heap Memory \u0435 \u043e\u0431\u043b\u0430\u0441\u0442 \u043e\u0442 \u043f\u0430\u043c\u0435\u0442\u0442\u0430 \u043d\u0430 JVM, \u0432 \u043a\u043e\u044f\u0442\u043e \u0441\u0435 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u0442 Java objects \u0438 arrays.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0433\u0430\u0442\u043e \u0434\u0430\u0434\u0435\u043d object \u0432\u0435\u0447\u0435 \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0430\u0442 \u0447\u0440\u0435\u0437 references \u043e\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u0430\u0442\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0430, \u0442\u043e\u0439 \u0441\u0442\u0430\u0432\u0430 Eligible for Garbage Collection (\u043f\u043e\u0434\u043b\u0435\u0436\u0430\u0449 \u043d\u0430 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0432\u0430\u043d\u0435 \u043e\u0442 GC).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Garbage Collector (GC)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Garbage Collector \u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u043d \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u044a\u043c \u043d\u0430 JVM, \u043a\u043e\u0439\u0442\u043e \u043e\u0442\u043a\u0440\u0438\u0432\u0430 \u0438 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0432\u0430 \u043f\u0430\u043c\u0435\u0442\u0442\u0430, \u0437\u0430\u0435\u0442\u0430 \u043e\u0442 objects, \u043a\u043e\u0438\u0442\u043e \u0432\u0435\u0447\u0435 \u043d\u0435 \u0441\u0430 \u0434\u043e\u0441\u0442\u0438\u0436\u0438\u043c\u0438 (Unreachable Objects).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GC \u0440\u0430\u0431\u043e\u0442\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e, \u0431\u0435\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0438\u0441\u0442\u044a\u0442 \u0434\u0430 \u0442\u0440\u044f\u0431\u0432\u0430 \u0440\u044a\u0447\u043d\u043e \u0434\u0430 \u0438\u0437\u0442\u0440\u0438\u0432\u0430 objects.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u0432\u0438\u0434\u043e\u0432\u0435 Garbage Collection<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Minor GC (Young GC): \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430 Young Generation \u2013 \u043e\u0431\u043b\u0430\u0441\u0442\u0442\u0430, \u0432 \u043a\u043e\u044f\u0442\u043e \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430\u0442 \u043d\u043e\u0432\u043e\u0441\u044a\u0437\u0434\u0430\u0434\u0435\u043d\u0438 objects.<\/li>\n\n\n\n<li>Major GC: \u0422\u0435\u0440\u043c\u0438\u043d, \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d \u0437\u0430 \u0441\u044a\u0431\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u043f\u0430\u043c\u0435\u0442 \u0432 Old Generation. \u0422\u043e\u0447\u043d\u043e\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438 \u043e\u0442 GC implementation.<\/li>\n\n\n\n<li>Full GC: \u041f\u043e-\u0448\u0438\u0440\u043e\u043a\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f, \u043a\u043e\u044f\u0442\u043e \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0432\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u0446\u0435\u043b\u0438\u044f Heap.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">3. Generations in Heap Memory<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u0430\u0442\u0430 Generational GC \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f Heap Memory \u0441\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044f \u043d\u0430:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Young Generation: \u0417\u0430 \u043d\u043e\u0432\u043e\u0441\u044a\u0437\u0434\u0430\u0434\u0435\u043d\u0438 objects. \u0412\u043a\u043b\u044e\u0447\u0432\u0430 Eden Space \u0438 Survivor Spaces.<\/li>\n\n\n\n<li>Old Generation (Tenured Generation): \u0417\u0430 objects, \u043a\u043e\u0438\u0442\u043e \u0441\u0430 \u043e\u0446\u0435\u043b\u0435\u043b\u0438 \u0441\u043b\u0435\u0434 \u043d\u044f\u043a\u043e\u043b\u043a\u043e GC cycles.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. Benefits of Garbage Collection<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Automatic Memory Management: \u041d\u0435 \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0440\u044a\u0447\u043d\u043e \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u0430\u043c\u0435\u0442\u0442\u0430.<\/li>\n\n\n\n<li>Reduced Memory Leaks: \u041d\u0430\u043c\u0430\u043b\u044f\u0432\u0430 \u0440\u0438\u0441\u043a\u0430 \u043e\u0442 \u0433\u0440\u0435\u0448\u043a\u0438 \u043f\u0440\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043f\u0430\u043c\u0435\u0442\u0442\u0430.<\/li>\n\n\n\n<li>Memory Reclamation: \u041e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0432\u0430 \u043f\u0430\u043c\u0435\u0442 \u043e\u0442 unreachable objects.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">5. Important for Java Developer Interview<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>GC \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0432\u0430 \u043f\u0430\u043c\u0435\u0442\u0442\u0430 \u043e\u0442 unreachable objects, \u0430 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0442 objects, \u043a\u043e\u0438\u0442\u043e \u043d\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438.<\/li>\n\n\n\n<li><code>System.gc()<\/code> \u0441\u0430\u043c\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430 \u043d\u0430 JVM \u0434\u0430 \u0438\u0437\u0432\u044a\u0440\u0448\u0438 Garbage Collection \u2013 \u043d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435\u0442\u043e \u043c\u0443.<\/li>\n\n\n\n<li>Garbage Collection \u043d\u0435 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0432\u0430 \u0432\u0441\u0438\u0447\u043a\u0438 <code>OutOfMemoryError<\/code> \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438.<\/li>\n\n\n\n<li>\u0414\u043e\u0440\u0438 \u043f\u0440\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u043d GC \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0432\u044a\u0437\u043d\u0438\u043a\u043d\u0430\u0442 Memory Leaks, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0433\u0430\u0442\u043e \u043d\u0435\u043d\u0443\u0436\u043d\u0438 objects \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0430\u0432\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0434\u043e\u0441\u0442\u0438\u0436\u0438\u043c\u0438 \u0447\u0440\u0435\u0437 references.<\/li>\n\n\n\n<li>GC \u043c\u043e\u0436\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0434\u0430 \u0441\u043f\u0438\u0440\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 application threads (Stop-The-World Pause), \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442 \u043e\u0442 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0438\u044f Garbage Collector.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435: Garbage Collector \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 Heap Memory, \u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0438\u0441\u0442\u044a\u0442 \u0432\u0441\u0435 \u043e\u0449\u0435 \u043d\u043e\u0441\u0438 \u043e\u0442\u0433\u043e\u0432\u043e\u0440\u043d\u043e\u0441\u0442 \u0437\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u043d\u043e\u0442\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 references \u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0438\u0442\u0435.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">GoF \u2013 Gang of Four (Design Patterns)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">GoF (Gang of Four) \u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u0447\u0435\u0442\u0438\u0440\u0438\u043c\u0430\u0442\u0430 \u0430\u0432\u0442\u043e\u0440\u0438 \u043d\u0430 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u0442\u0430 \u043a\u043d\u0438\u0433\u0430 Design Patterns: Elements of Reusable Object-Oriented Software (1994).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0427\u0435\u0442\u0438\u0440\u0438\u043c\u0430\u0442\u0430 \u0430\u0432\u0442\u043e\u0440\u0438<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Erich Gamma<\/li>\n\n\n\n<li>Richard Helm<\/li>\n\n\n\n<li>Ralph Johnson<\/li>\n\n\n\n<li>John Vlissides<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">1. What are GoF Design Patterns?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">GoF \u043d\u0435 \u0435 \u0435\u0434\u0438\u043d \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u0435\u043d \u043f\u0440\u0438\u043d\u0446\u0438\u043f, \u0430 \u0441\u044a\u0432\u043a\u0443\u043f\u043d\u043e\u0441\u0442 \u043e\u0442 23 \u043a\u043b\u0430\u0441\u0438\u0447\u0435\u0441\u043a\u0438 Design Patterns, \u043a\u043e\u0438\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0442 \u0434\u043e\u043a\u0430\u0437\u0430\u043d\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u0447\u0435\u0441\u0442\u043e \u0441\u0440\u0435\u0449\u0430\u043d\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438 \u043f\u0440\u0438 Object-Oriented Software Design.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0435 \u0441\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438 \u0432 \u0442\u0440\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u0438 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">A. Creational Patterns (\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u0449\u0438 \u043c\u043e\u0434\u0435\u043b\u0438)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u0432\u044a\u0440\u0437\u0430\u043d\u0438 \u0441\u0430 \u0441\u044a\u0441 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0435\u0442\u043e \u043d\u0430 objects.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Singleton<\/li>\n\n\n\n<li>Factory Method<\/li>\n\n\n\n<li>Abstract Factory<\/li>\n\n\n\n<li>\u049a\u04b1\u0440\u044b\u043b\u044b\u0441\u0448\u044b<\/li>\n\n\n\n<li>\u041f\u0440\u043e\u0442\u043e\u0442\u0438\u043f<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">B. Structural Patterns (\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u0438 \u043c\u043e\u0434\u0435\u043b\u0438)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u043f\u0438\u0441\u0432\u0430\u0442 \u043a\u0430\u043a \u0441\u0435 \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u0430\u0442 classes \u0438 objects \u0437\u0430 \u0438\u0437\u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0435 \u043d\u0430 \u043f\u043e-\u0433\u043e\u043b\u0435\u043c\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Adapter<\/li>\n\n\n\n<li>Bridge<\/li>\n\n\n\n<li>\u049a\u04b1\u0440\u0430\u043c\u0430<\/li>\n\n\n\n<li>Decorator<\/li>\n\n\n\n<li>Facade<\/li>\n\n\n\n<li>Flyweight<\/li>\n\n\n\n<li>Proxy<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">C. Behavioral Patterns (\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0447\u0435\u0441\u043a\u0438 \u043c\u043e\u0434\u0435\u043b\u0438)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u043f\u0438\u0441\u0432\u0430\u0442 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u0442\u043e \u043c\u0435\u0436\u0434\u0443 objects \u0438 \u0440\u0430\u0437\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u043d\u0435\u0442\u043e \u043d\u0430 \u043e\u0442\u0433\u043e\u0432\u043e\u0440\u043d\u043e\u0441\u0442\u0438\u0442\u0435 \u043c\u0435\u0436\u0434\u0443 \u0442\u044f\u0445.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Observer<\/li>\n\n\n\n<li>Strategy<\/li>\n\n\n\n<li>Command<\/li>\n\n\n\n<li>State<\/li>\n\n\n\n<li>Visitor<\/li>\n\n\n\n<li>Mediator<\/li>\n\n\n\n<li>Iterator<\/li>\n\n\n\n<li>Memento<\/li>\n\n\n\n<li>Template Method<\/li>\n\n\n\n<li>Chain of Responsibility<\/li>\n\n\n\n<li>Interpreter<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">2. Underlying Design Principles<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">GoF \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u0438\u0437\u0438\u0440\u0430\u0442 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0432\u0430\u0436\u043d\u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430 \u043d\u0430 Software Design:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Encapsulation of Change: \u0418\u0437\u043e\u043b\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0447\u0430\u0441\u0442\u0438\u0442\u0435 \u043e\u0442 \u043a\u043e\u0434\u0430, \u043a\u043e\u0438\u0442\u043e \u0441\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u0442, \u043e\u0442 \u0442\u0435\u0437\u0438, \u043a\u043e\u0438\u0442\u043e \u043e\u0441\u0442\u0430\u0432\u0430\u0442 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0438.<\/li>\n\n\n\n<li>Program to an Interface, Not an Implementation: \u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 interfaces \u0432\u043c\u0435\u0441\u0442\u043e \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442 \u043e\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0438 implementations.<\/li>\n\n\n\n<li>Favor Composition Over Inheritance: \u041f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u043d\u0435 \u043d\u0430 Composition \u043f\u0440\u0435\u0434 Inheritance, \u043a\u043e\u0433\u0430\u0442\u043e \u0442\u043e\u0432\u0430 \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 \u043f\u043e-\u0433\u044a\u0432\u043a\u0430\u0432 \u0434\u0438\u0437\u0430\u0439\u043d.<\/li>\n\n\n\n<li>Loose Coupling: \u041d\u0430\u043c\u0430\u043b\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438\u0442\u0435 \u043c\u0435\u0436\u0434\u0443 components.<\/li>\n\n\n\n<li>High Cohesion: \u0413\u0440\u0443\u043f\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0441\u0432\u044a\u0440\u0437\u0430\u043d\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442\u0438 \u0432 \u0435\u0434\u0438\u043d component.<\/li>\n\n\n\n<li>Reusability and Maintainability: \u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043a\u043e\u0434, \u043a\u043e\u0439\u0442\u043e \u0435 \u043b\u0435\u0441\u0435\u043d \u0437\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u0430 \u0443\u043f\u043e\u0442\u0440\u0435\u0431\u0430 \u0438 \u043f\u043e\u0434\u0434\u0440\u044a\u0436\u043a\u0430.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">3. Important for Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435 \u0442\u0440\u0438\u0442\u0435 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Category<\/th><th>\u041e\u0441\u043d\u043e\u0432\u043d\u0430 \u0446\u0435\u043b<\/th><th>\u041f\u0440\u0438\u043c\u0435\u0440\u0438<\/th><\/tr><tr><td>Creational<\/td><td>\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 objects<\/td><td>Singleton, Factory, Builder<\/td><\/tr><tr><td>Structural<\/td><td>\u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 objects<\/td><td>Adapter, Decorator, Facade<\/td><\/tr><tr><td>Behavioral<\/td><td>\u0412\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 objects<\/td><td>Observer, Strategy, Command<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e \u0443\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435: GoF Design Patterns \u043d\u0435 \u0441\u0430 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0438\u043b\u0438 \u0433\u043e\u0442\u043e\u0432 \u043a\u043e\u0434 \u0437\u0430 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435. \u0422\u0435 \u0441\u0430 \u043e\u0431\u0449\u043e\u043f\u0440\u0438\u0435\u0442\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043a\u043e\u0438\u0442\u043e \u0441\u0435 \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u0430\u0442 \u0441\u043f\u043e\u0440\u0435\u0434 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435: GoF = 4 authors + 23 Design Patterns + 3 categories.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Hash Function (\u0425\u0435\u0448\u0438\u0440\u0430\u0449\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Hash Function \u0435 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u044f\u0442\u043e \u043f\u0440\u0438\u0435\u043c\u0430 \u0432\u0445\u043e\u0434\u043d\u0438 \u0434\u0430\u043d\u043d\u0438 \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u043d\u0430 \u0434\u044a\u043b\u0436\u0438\u043d\u0430 (Input) \u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442 \u0441 \u0444\u0438\u043a\u0441\u0438\u0440\u0430\u043d\u0430 \u0434\u044a\u043b\u0436\u0438\u043d\u0430, \u043d\u0430\u0440\u0435\u0447\u0435\u043d Hash Value \u0438\u043b\u0438 Hash.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hash Functions \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0448\u0438\u0440\u043e\u043a\u043e \u0432 Java, Databases, Cryptography \u0438 Data Structures.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Key Properties of Hash Functions<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Deterministic: \u0415\u0434\u0438\u043d \u0438 \u0441\u044a\u0449 Input \u0432\u0438\u043d\u0430\u0433\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430 \u0435\u0434\u0438\u043d \u0438 \u0441\u044a\u0449 Hash.<\/li>\n\n\n\n<li>Fast: Hash Value \u0441\u0435 \u0438\u0437\u0447\u0438\u0441\u043b\u044f\u0432\u0430 \u0431\u044a\u0440\u0437\u043e.<\/li>\n\n\n\n<li>Collision Resistance: \u0422\u0440\u0443\u0434\u043d\u043e \u0435 \u0434\u0430 \u0441\u0435 \u043d\u0430\u043c\u0435\u0440\u044f\u0442 \u0434\u0432\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 inputs \u0441 \u0435\u0434\u043d\u0430\u043a\u044a\u0432 Hash.<\/li>\n\n\n\n<li>Irreversible (One-way): \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0435 \u043d\u0435\u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e \u0434\u0430 \u0441\u0435 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u0438 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0438\u044f\u0442 Input \u0441\u0430\u043c\u043e \u043e\u0442 Hash.<\/li>\n\n\n\n<li>Uniform Distribution: Hash Values \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e \u0440\u0430\u0437\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Hash Collision: \u0412\u044a\u0437\u043d\u0438\u043a\u0432\u0430, \u043a\u043e\u0433\u0430\u0442\u043e \u0434\u0432\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 inputs \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430\u0442 \u0435\u0434\u043d\u0430\u043a\u044a\u0432 Hash Value.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Where Are Hash Functions Used?<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Application<\/th><th>Purpose<\/th><\/tr><tr><td>Data Integrity<\/td><td>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0434\u0430\u043b\u0438 \u0434\u0430\u043d\u043d\u0438\u0442\u0435 \u0441\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u0435\u043d\u0438.<\/td><\/tr><tr><td>Password Storage<\/td><td>\u0421\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 Password Hash \u0432\u043c\u0435\u0441\u0442\u043e \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0430\u0442\u0430 \u043f\u0430\u0440\u043e\u043b\u0430.<\/td><\/tr><tr><td>Cryptography<\/td><td>Digital Signatures \u0438 \u0434\u0440\u0443\u0433\u0438 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0441\u043a\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0438.<\/td><\/tr><tr><td>Hash Tables<\/td><td>\u0411\u044a\u0440\u0437\u043e \u043d\u0430\u043c\u0438\u0440\u0430\u043d\u0435 \u0438 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438.<\/td><\/tr><tr><td>Blockchain<\/td><td>\u0421\u0432\u044a\u0440\u0437\u0432\u0430\u043d\u0435 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u0446\u0435\u043b\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 blocks.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">3. SHA (Secure Hash Algorithm)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SHA \u0435 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u043e \u043e\u0442 Cryptographic Hash Algorithms.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Algorithm<\/th><th>Hash Length<\/th><\/tr><tr><td>SHA-1<\/td><td>160 bits<\/td><\/tr><tr><td>SHA-256<\/td><td>256 bits<\/td><\/tr><tr><td>SHA-384<\/td><td>384 bits<\/td><\/tr><tr><td>SHA-512<\/td><td>512 bits<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: SHA-1 \u0432\u0435\u0447\u0435 \u043d\u0435 \u0441\u0435 \u0441\u0447\u0438\u0442\u0430 \u0437\u0430 \u0441\u0438\u0433\u0443\u0440\u0435\u043d \u0441\u0440\u0435\u0449\u0443 collision attacks. SHA-256 \u0438 SHA-512 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0430\u0432\u0430\u0442 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0448\u0438\u0440\u043e\u043a\u043e \u0432 Cryptography.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Java Example \u2013 SHA-256<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 Java \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 <code>MessageDigest<\/code> \u043e\u0442 package-\u0430 <code>java.security<\/code>.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-mathematica\"><div class=\"cm-line\"><span class=\"tok-keyword\">import<\/span> <span class=\"tok-keyword\">java<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">security<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">MessageDigest<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">import<\/span> <span class=\"tok-keyword\">java<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">security<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">NoSuchAlgorithmException<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">import<\/span> <span class=\"tok-keyword\">java<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">util<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">HexFormat<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">class<\/span> <span class=\"tok-keyword\">HashExample<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    <span class=\"tok-keyword\">public<\/span> <span class=\"tok-keyword\">static<\/span> <span class=\"tok-keyword\">void<\/span> <span class=\"tok-keyword\">main<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">String<\/span><span class=\"tok-punctuation\">[]<\/span> <span class=\"tok-keyword\">args<\/span><span class=\"tok-punctuation\">)<\/span><\/div><div class=\"cm-line\">            <span class=\"tok-keyword\">throws<\/span> <span class=\"tok-keyword\">NoSuchAlgorithmException<\/span> <span class=\"tok-punctuation\">{<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">input<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-string\">&quot;Hello Java&quot;<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">MessageDigest<\/span> <span class=\"tok-keyword\">digest<\/span> <span class=\"tok-operator\">=<\/span><\/div><div class=\"cm-line\">                <span class=\"tok-keyword\">MessageDigest<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">getInstance<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-string\">&quot;SHA-256&quot;<\/span><span class=\"tok-punctuation\">)<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">byte<\/span><span class=\"tok-punctuation\">[]<\/span> <span class=\"tok-keyword\">hash<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">digest<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">digest<\/span><span class=\"tok-punctuation\">(<\/span><\/div><div class=\"cm-line\">                <span class=\"tok-keyword\">input<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">getBytes<\/span><span class=\"tok-punctuation\">(<\/span><\/div><div class=\"cm-line\">                <span class=\"tok-keyword\">java<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">nio<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">charset<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">StandardCharsets<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-variableName2\">UTF_<\/span><span class=\"tok-number\">8<\/span><span class=\"tok-punctuation\">)<\/span><\/div><div class=\"cm-line\">        <span class=\"tok-punctuation\">)<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">String<\/span> <span class=\"tok-keyword\">hexHash<\/span> <span class=\"tok-operator\">=<\/span> <span class=\"tok-keyword\">HexFormat<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">of<\/span><span class=\"tok-punctuation\">()<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">formatHex<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">hash<\/span><span class=\"tok-punctuation\">)<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        <span class=\"tok-keyword\">System<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">out<\/span><span class=\"tok-operator\">.<\/span><span class=\"tok-keyword\">println<\/span><span class=\"tok-punctuation\">(<\/span><span class=\"tok-keyword\">hexHash<\/span><span class=\"tok-punctuation\">)<\/span><span class=\"tok-operator\">;<\/span><\/div><div class=\"cm-line\">    <span class=\"tok-punctuation\">}<\/span><\/div><div class=\"cm-line\"><span class=\"tok-punctuation\">}<\/span><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Explanation<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Input Data: <code>input<\/code> \u0441\u044a\u0434\u044a\u0440\u0436\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435, \u043a\u043e\u0438\u0442\u043e \u0438\u0441\u043a\u0430\u043c\u0435 \u0434\u0430 \u0445\u0435\u0448\u0438\u0440\u0430\u043c\u0435.<\/li>\n\n\n\n<li>MessageDigest Initialization: <code>getInstance(\"SHA-256\")<\/code> \u0441\u044a\u0437\u0434\u0430\u0432\u0430 instance \u0441 \u0438\u0437\u0431\u0440\u0430\u043d\u0438\u044f hashing algorithm.<\/li>\n\n\n\n<li>Hashing: <code>digest()<\/code> \u0438\u0437\u0447\u0438\u0441\u043b\u044f\u0432\u0430 Hash Value \u0438 \u0432\u0440\u044a\u0449\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442 \u043a\u0430\u0442\u043e <code>byte[]<\/code>.<\/li>\n\n\n\n<li>Hexadecimal Conversion: <code>HexFormat<\/code> \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430 binary \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0430 \u0432 \u0447\u0435\u0442\u0438\u043c hexadecimal String.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">5. HashMap in Java \u2013 Example<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">HashMap \u0435 Data Structure, \u043a\u043e\u044f\u0442\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Hashing \u0437\u0430 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0435 \u0438 \u043d\u0430\u043c\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438 \u0447\u0440\u0435\u0437 \u0434\u0432\u043e\u0439\u043a\u0438 <code>key-value<\/code>.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">import java.util.HashMap;<\/div><div class=\"cm-line\">import java.util.Map;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        Map&lt;Integer, String&gt; employees = new HashMap&lt;&gt;();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        employees.put(101, &quot;John&quot;);<\/div><div class=\"cm-line\">        employees.put(102, &quot;Alice&quot;);<\/div><div class=\"cm-line\">        employees.put(103, &quot;Peter&quot;);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        \/\/ Retrieve value by key<\/div><div class=\"cm-line\">        System.out.println(employees.get(102));<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        \/\/ Check if key exists<\/div><div class=\"cm-line\">        System.out.println(employees.containsKey(101));<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        \/\/ Remove entry<\/div><div class=\"cm-line\">        employees.remove(103);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0438 HashMap?<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0418\u0437\u0432\u0438\u043a\u0432\u0430 <code>hashCode()<\/code> \u0432\u044a\u0440\u0445\u0443 Key.<\/li>\n\n\n\n<li>\u0418\u0437\u0447\u0438\u0441\u043b\u044f\u0432\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u044f\u0442\u0430 (Bucket) \u0432\u044a\u0432 \u0432\u044a\u0442\u0440\u0435\u0448\u043d\u0430\u0442\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430.<\/li>\n\n\n\n<li>\u0421\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 Key \u0438 Value \u0432 \u0441\u044a\u043e\u0442\u0432\u0435\u0442\u043d\u0438\u044f Bucket.<\/li>\n\n\n\n<li>\u041f\u0440\u0438 <code>get(key)<\/code> \u043e\u0442\u043d\u043e\u0432\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Hashing, \u0437\u0430 \u0434\u0430 \u043d\u0430\u043c\u0435\u0440\u0438 Bucket-\u0430.<\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 <code>equals()<\/code> \u0437\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0438\u044f Key, \u043e\u0441\u043e\u0431\u0435\u043d\u043e \u043f\u0440\u0438 Hash Collisions.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">HashMap \u2013 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>put(101, \"John\")<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>hashCode()<\/code> \u2192 Hash Value<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Calculate Bucket Index<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bucket \u2192 Key + Value<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. Important for Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435 \u0431\u044a\u0440\u043a\u0430\u0439\u0442\u0435 \u0434\u0432\u0430\u0442\u0430 \u0432\u0438\u0434\u0430 Hashing:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Cryptographic Hash<\/th><th>Java HashMap Hashing<\/th><\/tr><tr><td>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u0437\u0430 \u0441\u0438\u0433\u0443\u0440\u043d\u043e\u0441\u0442 \u0438 Data Integrity.<\/td><td>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u0437\u0430 \u0431\u044a\u0440\u0437 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0434\u0430\u043d\u043d\u0438.<\/td><\/tr><tr><td>\u041f\u0440\u0438\u043c\u0435\u0440: SHA-256.<\/td><td>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 <code>hashCode()<\/code>.<\/td><\/tr><tr><td>\u0422\u0440\u0443\u0434\u043d\u043e \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430\u0442 collisions.<\/td><td>Collisions \u0441\u0430 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u0438 \u0438 \u0441\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442.<\/td><\/tr><tr><td>\u0418\u043c\u0430 \u0444\u0438\u043a\u0441\u0438\u0440\u0430\u043d\u0430 \u0434\u044a\u043b\u0436\u0438\u043d\u0430 \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0430.<\/td><td>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 hash value \u0437\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u043d\u0435 \u043d\u0430 Bucket.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435 \u043e\u0449\u0435 \u0442\u0440\u0438 \u043d\u0435\u0449\u0430:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>hashCode()<\/code> \u0436\u04d9\u043d\u0435 <code>equals()<\/code> \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0438 \u043f\u0440\u0438 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d Key \u0437\u0430 <code>HashMap<\/code>.<\/li>\n\n\n\n<li>\u0414\u0432\u0430 \u043e\u0431\u0435\u043a\u0442\u0430 \u0441 \u0435\u0434\u043d\u0430\u043a\u044a\u0432 <code>hashCode()<\/code> \u043d\u0435 \u0441\u0430 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u043e \u0440\u0430\u0432\u043d\u0438.<\/li>\n\n\n\n<li>Passwords \u043d\u0435 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u0435 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u0442 \u0447\u0440\u0435\u0437 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d SHA-256. \u0417\u0430 \u0442\u044f\u0445 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0438 \u043a\u0430\u0442\u043e Argon2id, bcrypt \u0438\u043b\u0438 PBKDF2, \u0441\u044a\u0441 Salt.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u0439-\u0432\u0430\u0436\u043d\u043e\u0442\u043e: Hash Function \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u0434\u0430\u043d\u043d\u0438 \u0432 Hash Value. \u0412 Java <code>HashMap<\/code> \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Hashing \u0437\u0430 \u0431\u044a\u0440\u0437\u043e \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0435 \u0438 \u043d\u0430\u043c\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 <code>key-value<\/code> pairs.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Higher-Order Function (\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0442 \u043f\u043e-\u0432\u0438\u0441\u043e\u043a \u0440\u0435\u0434)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Higher-Order Function \u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f (\u0438\u043b\u0438 method), \u043a\u043e\u044f\u0442\u043e \u043f\u0440\u0438\u0435\u043c\u0430 \u0434\u0440\u0443\u0433\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u0430\u0442\u043e arguments \u0438\u043b\u0438 \u0432\u0440\u044a\u0449\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043a\u0430\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u044f \u0442\u0440\u0435\u0442\u0438\u0440\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438\u0442\u0435 \u043a\u0430\u0442\u043e First-Class Citizens, \u043a\u043e\u0435\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043f\u043e-\u0433\u044a\u0432\u043a\u0430\u0432 \u0438 \u043c\u043d\u043e\u0433\u043e\u043a\u0440\u0430\u0442\u043d\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0435\u043c \u043a\u043e\u0434.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Example in Java<\/h2>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">import java.util.function.Function;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static int applyFunction(<\/div><div class=\"cm-line\">            int value,<\/div><div class=\"cm-line\">            Function&lt;Integer, Integer&gt; function) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        return function.apply(value);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        int result = applyFunction(5, x -&gt; x * x);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        System.out.println(result); \/\/ 25<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Explanation:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>applyFunction()<\/code> \u0435 Higher-Order Function, \u0437\u0430\u0449\u043e\u0442\u043e \u043f\u0440\u0438\u0435\u043c\u0430 \u0434\u0440\u0443\u0433\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043a\u0430\u0442\u043e argument.<\/li>\n\n\n\n<li><code>Function&lt;Integer, Integer&gt;<\/code> \u0435 Functional Interface.<\/li>\n\n\n\n<li><code>x -&gt; x * x<\/code> \u0435 Lambda Expression.<\/li>\n\n\n\n<li><code>function.apply(value)<\/code> \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 \u043f\u043e\u0434\u0430\u0434\u0435\u043d\u0430\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">2. Characteristics<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Accepts Functions as Arguments: \u041f\u0440\u0438\u0435\u043c\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u0430\u0442\u043e \u0432\u0445\u043e\u0434\u043d\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438.<\/li>\n\n\n\n<li>Returns Functions: \u041c\u043e\u0436\u0435 \u0434\u0430 \u0432\u0440\u044a\u0449\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u0430\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442.<\/li>\n\n\n\n<li>Code Reusability: \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u0430 \u0443\u043f\u043e\u0442\u0440\u0435\u0431\u0430 \u043d\u0430 \u043a\u043e\u0434.<\/li>\n\n\n\n<li>Function Composition: \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">3. Use Cases in Java<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Higher-Order Functions \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0448\u0438\u0440\u043e\u043a\u043e \u0441\u044a\u0441 Stream API, Lambda Expressions \u0438 Method References.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example \u2013 Stream API:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">List&lt;Integer&gt; numbers = List.of(1, 2, 3, 4, 5);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">List&lt;Integer&gt; result = numbers.stream()<\/div><div class=\"cm-line\">        .filter(n -&gt; n &gt; 2)<\/div><div class=\"cm-line\">        .map(n -&gt; n * 10)<\/div><div class=\"cm-line\">        .toList();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">System.out.println(result); \/\/ [30, 40, 50]<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0443\u043a:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>filter()<\/code> \u043f\u0440\u0438\u0435\u043c\u0430 <code>Predicate<\/code> \u0444\u0443\u043d\u043a\u0446\u0438\u044f.<\/li>\n\n\n\n<li><code>map()<\/code> \u043f\u0440\u0438\u0435\u043c\u0430 <code>Function<\/code> \u0444\u0443\u043d\u043a\u0446\u0438\u044f.<\/li>\n\n\n\n<li>\u0418 \u0434\u0432\u0430\u0442\u0430 methods \u0441\u0430 Higher-Order Functions.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. Important for Java Developer Interview<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Higher-Order Function: \u041f\u0440\u0438\u0435\u043c\u0430 \u0438\u043b\u0438 \u0432\u0440\u044a\u0449\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/li>\n\n\n\n<li>First-Class Function: \u0424\u0443\u043d\u043a\u0446\u0438\u044f\u0442\u0430 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043f\u0440\u0435\u0434\u0430\u0432\u0430\u043d\u0430 \u0438 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0430 \u043a\u0430\u0442\u043e \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442.<\/li>\n\n\n\n<li>Lambda Expression: \u041a\u0440\u0430\u0442\u044a\u043a \u043d\u0430\u0447\u0438\u043d \u0437\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 implementation \u043d\u0430 Functional Interface.<\/li>\n\n\n\n<li>Functional Interface: Interface \u0441 \u0442\u043e\u0447\u043d\u043e \u0435\u0434\u0438\u043d abstract method.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435: Higher-Order Functions \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430\u0442 \u0434\u0430 \u043f\u0440\u0435\u0434\u0430\u0432\u0430\u043c\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 (Behavior) \u043a\u0430\u0442\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440, \u0432\u043c\u0435\u0441\u0442\u043e \u0434\u0430 \u043f\u0440\u0435\u0434\u0430\u0432\u0430\u043c\u0435 \u0441\u0430\u043c\u043e \u0434\u0430\u043d\u043d\u0438.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Main HTTP Error Codes (\u041e\u0441\u043d\u043e\u0432\u043d\u0438 HTTP \u0441\u0442\u0430\u0442\u0443\u0441 \u043a\u043e\u0434\u043e\u0432\u0435)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">HTTP Status Codes \u0441\u0430 \u0442\u0440\u0438\u0446\u0438\u0444\u0440\u0435\u043d\u0438 \u043a\u043e\u0434\u043e\u0432\u0435, \u043a\u043e\u0438\u0442\u043e server \u0438\u0437\u043f\u0440\u0430\u0449\u0430 \u043a\u044a\u043c client, \u0437\u0430 \u0434\u0430 \u043f\u043e\u043a\u0430\u0436\u0435 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0430 \u043e\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u0442\u0430 \u043d\u0430 HTTP request.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0435 \u0441\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438 \u043d\u0430 \u043f\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u0438 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Informational (100\u2013199)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0437\u0430 \u0441\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u0442\u043e \u043d\u0430 request-\u0430.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Code<\/th><th>\u0410\u0442\u044b<\/th><th>Explanation<\/th><\/tr><tr><td>100<\/td><td>Continue<\/td><td>Server \u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b request headers \u0438 client \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0438 \u0441 \u0438\u0437\u043f\u0440\u0430\u0449\u0430\u043d\u0435\u0442\u043e \u043d\u0430 request body.<\/td><\/tr><tr><td>101<\/td><td>Switching Protocols<\/td><td>Server \u043f\u0440\u0438\u0435\u043c\u0430 \u043f\u0440\u0435\u043c\u0438\u043d\u0430\u0432\u0430\u043d\u0435 \u043a\u044a\u043c \u0434\u0440\u0443\u0433 protocol, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 WebSocket.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">2. Success (200\u2013299)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Request-\u044a\u0442 \u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0435\u043d \u0443\u0441\u043f\u0435\u0448\u043d\u043e.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Code<\/th><th>\u0410\u0442\u044b<\/th><th>Explanation<\/th><\/tr><tr><td>200<\/td><td>OK<\/td><td>Request-\u044a\u0442 \u0435 \u0443\u0441\u043f\u0435\u0448\u0435\u043d.<\/td><\/tr><tr><td>201<\/td><td>Created<\/td><td>\u0421\u044a\u0437\u0434\u0430\u0434\u0435\u043d \u0435 \u043d\u043e\u0432 resource.<\/td><\/tr><tr><td>202<\/td><td>Accepted<\/td><td>Request-\u044a\u0442 \u0435 \u043f\u0440\u0438\u0435\u0442 \u0437\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430, \u043d\u043e \u0442\u044f \u0432\u0441\u0435 \u043e\u0449\u0435 \u043d\u0435 \u0435 \u0437\u0430\u0432\u044a\u0440\u0448\u0435\u043d\u0430.<\/td><\/tr><tr><td>204<\/td><td>No Content<\/td><td>Request-\u044a\u0442 \u0435 \u0443\u0441\u043f\u0435\u0448\u0435\u043d, \u043d\u043e \u043d\u044f\u043c\u0430 response body.<\/td><\/tr><tr><td>206<\/td><td>Partial Content<\/td><td>Server \u0432\u0440\u044a\u0449\u0430 \u0441\u0430\u043c\u043e \u0447\u0430\u0441\u0442 \u043e\u0442 resource-\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u0438 download.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">3. Redirection (300\u2013399)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0435 \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043e\u0442 client, \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u043f\u0440\u0435\u043d\u0430\u0441\u043e\u0447\u0432\u0430\u043d\u0435.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Code<\/th><th>\u0410\u0442\u044b<\/th><th>Explanation<\/th><\/tr><tr><td>301<\/td><td>Moved Permanently<\/td><td>Resource-\u044a\u0442 \u0435 \u043f\u0440\u0435\u043c\u0435\u0441\u0442\u0435\u043d \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u043d\u0430 \u043d\u043e\u0432 URL.<\/td><\/tr><tr><td>302<\/td><td>Found<\/td><td>\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u0435\u043d\u0430\u0441\u043e\u0447\u0432\u0430\u043d\u0435 \u043a\u044a\u043c \u0434\u0440\u0443\u0433 URL.<\/td><\/tr><tr><td>304<\/td><td>Not Modified<\/td><td>Resource-\u044a\u0442 \u043d\u0435 \u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u0435\u043d. Client \u043c\u043e\u0436\u0435 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 cached \u0432\u0435\u0440\u0441\u0438\u044f\u0442\u0430.<\/td><\/tr><tr><td>307<\/td><td>Temporary Redirect<\/td><td>\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u0435\u043d\u0430\u0441\u043e\u0447\u0432\u0430\u043d\u0435, \u043f\u0440\u0438 \u043a\u043e\u0435\u0442\u043e HTTP method \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u0435 \u0437\u0430\u043f\u0430\u0437\u0438.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">4. Client Errors (400\u2013499)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 request-\u0430, \u0438\u0437\u043f\u0440\u0430\u0442\u0435\u043d \u043e\u0442 client.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Code<\/th><th>\u0410\u0442\u044b<\/th><th>Explanation<\/th><\/tr><tr><td>400<\/td><td>Bad Request<\/td><td>\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u0435\u043d \u0438\u043b\u0438 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u043d\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u0430\u043d request.<\/td><\/tr><tr><td>401<\/td><td>Unauthorized<\/td><td>\u041b\u0438\u043f\u0441\u0432\u0430 \u0432\u0430\u043b\u0438\u0434\u043d\u0430 Authentication.<\/td><\/tr><tr><td>403<\/td><td>Forbidden<\/td><td>Server \u0440\u0430\u0437\u0431\u0438\u0440\u0430 request-\u0430, \u043d\u043e \u043e\u0442\u043a\u0430\u0437\u0432\u0430 \u0434\u043e\u0441\u0442\u044a\u043f.<\/td><\/tr><tr><td>404<\/td><td>Not Found<\/td><td>\u0422\u044a\u0440\u0441\u0435\u043d\u0438\u044f\u0442 resource \u043d\u0435 \u0435 \u043d\u0430\u043c\u0435\u0440\u0435\u043d.<\/td><\/tr><tr><td>405<\/td><td>Method Not Allowed<\/td><td>HTTP method \u043d\u0435 \u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d \u0437\u0430 \u0442\u043e\u0437\u0438 resource.<\/td><\/tr><tr><td>408<\/td><td>Request Timeout<\/td><td>Server \u0435 \u0438\u0437\u0447\u0430\u043a\u0430\u043b \u0442\u0432\u044a\u0440\u0434\u0435 \u0434\u044a\u043b\u0433\u043e \u0437\u0430 request-\u0430.<\/td><\/tr><tr><td>429<\/td><td>Too Many Requests<\/td><td>Client \u0435 \u0438\u0437\u043f\u0440\u0430\u0442\u0438\u043b \u043f\u0440\u0435\u043a\u0430\u043b\u0435\u043d\u043e \u043c\u043d\u043e\u0433\u043e requests \u0437\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d \u043f\u0435\u0440\u0438\u043e\u0434.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">5. Server Errors (500\u2013599)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u043e\u0431\u043b\u0435\u043c \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u0442\u0430 \u043d\u0430 request-\u0430 \u043e\u0442 server.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Code<\/th><th>\u0410\u0442\u044b<\/th><th>Explanation<\/th><\/tr><tr><td>500<\/td><td>Internal Server Error<\/td><td>\u041e\u0431\u0449\u0430 \u0432\u044a\u0442\u0440\u0435\u0448\u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0430 \u043d\u0430 server.<\/td><\/tr><tr><td>503<\/td><td>Service Unavailable<\/td><td>Server \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430 requests \u2013 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u043e\u0440\u0430\u0434\u0438 \u043f\u0440\u0435\u0442\u043e\u0432\u0430\u0440\u0432\u0430\u043d\u0435 \u0438\u043b\u0438 maintenance.<\/td><\/tr><tr><td>504<\/td><td>Gateway Timeout<\/td><td>Gateway \u0438\u043b\u0438 Proxy Server \u043d\u0435 \u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043d\u0430\u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043d \u043e\u0442\u0433\u043e\u0432\u043e\u0440 \u043e\u0442 upstream server.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">6. Important for Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043e\u0431\u0435\u043d\u043e \u0432\u0430\u0436\u043d\u043e \u0435 \u0434\u0430 \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u043d\u0438\u0442\u0435 HTTP Status Codes:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Code<\/th><th>\u041a\u043e\u0433\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430<\/th><\/tr><tr><td>200<\/td><td>\u0423\u0441\u043f\u0435\u0448\u0435\u043d GET \u0438\u043b\u0438 \u0434\u0440\u0443\u0433 request.<\/td><\/tr><tr><td>201<\/td><td>\u0423\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 resource \u2013 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e POST.<\/td><\/tr><tr><td>204<\/td><td>\u0423\u0441\u043f\u0435\u0448\u0435\u043d DELETE \u0431\u0435\u0437 response body.<\/td><\/tr><tr><td>400<\/td><td>\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0438 \u0432\u0445\u043e\u0434\u043d\u0438 \u0434\u0430\u043d\u043d\u0438.<\/td><\/tr><tr><td>401<\/td><td>\u041b\u0438\u043f\u0441\u0432\u0430\u0449\u0430 \u0438\u043b\u0438 \u043d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 Authentication.<\/td><\/tr><tr><td>403<\/td><td>\u041d\u044f\u043c\u0430\u0442\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438\u0442\u0435 Permissions.<\/td><\/tr><tr><td>404<\/td><td>Resource \u043d\u0435 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430.<\/td><\/tr><tr><td>500<\/td><td>\u041d\u0435\u043e\u0447\u0430\u043a\u0432\u0430\u043d\u0430 Server \u0433\u0440\u0435\u0448\u043a\u0430.<\/td><\/tr><tr><td>503<\/td><td>Server \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u044a\u043f\u0435\u043d.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u043a\u0430:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>401 Unauthorized<\/code> = \u041d\u0435 \u0441\u0442\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e Authentication.<\/li>\n\n\n\n<li><code>403 Forbidden<\/code> = \u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0430\u043d\u0438 \u0441\u0442\u0435, \u043d\u043e \u043d\u044f\u043c\u0430\u0442\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438\u0442\u0435 Permissions.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435 \u043f\u0435\u0442\u0442\u0435 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1xx \u2013 Informational<\/li>\n\n\n\n<li>2xx \u2013 Success<\/li>\n\n\n\n<li>3xx \u2013 Redirection<\/li>\n\n\n\n<li>4xx \u2013 Client Errors<\/li>\n\n\n\n<li>5xx \u2013 Server Errors<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">HTTP Methods (HTTP \u043c\u0435\u0442\u043e\u0434\u0438)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">HTTP Methods \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442 \u043a\u0430\u043a\u0432\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0438\u0441\u043a\u0430 \u0434\u0430 \u0438\u0437\u0432\u044a\u0440\u0448\u0438 client \u0432\u044a\u0440\u0445\u0443 \u0434\u0430\u0434\u0435\u043d resource \u043d\u0430 server. \u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0441\u0435 \u043f\u0440\u0438 REST APIs \u0438 Web Applications.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Main HTTP Methods<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Method<\/th><th>Description<\/th><th>Example<\/th><\/tr><tr><td>GET<\/td><td>\u0418\u0437\u0432\u043b\u0438\u0447\u0430 \u0434\u0430\u043d\u043d\u0438 \u043e\u0442 server, \u0431\u0435\u0437 \u0434\u0430 \u0433\u0438 \u043f\u0440\u043e\u043c\u0435\u043d\u044f.<\/td><td>\u041f\u043e\u043b\u0443\u0447\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u043f\u0438\u0441\u044a\u043a \u0441 Users.<\/td><\/tr><tr><td>POST<\/td><td>\u0418\u0437\u043f\u0440\u0430\u0449\u0430 \u0434\u0430\u043d\u043d\u0438 \u043a\u044a\u043c server, \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0437\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043d\u043e\u0432 resource.<\/td><td>\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043d\u043e\u0432 User.<\/td><\/tr><tr><td>PUT<\/td><td>\u0417\u0430\u043c\u0435\u043d\u044f \u0438\u0437\u0446\u044f\u043b\u043e \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449 resource. \u041c\u043e\u0436\u0435 \u0434\u0430 \u0433\u043e \u0441\u044a\u0437\u0434\u0430\u0434\u0435, \u0430\u043a\u043e \u043d\u0435 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430.<\/td><td>\u041f\u044a\u043b\u043d\u0430 \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 User.<\/td><\/tr><tr><td>PATCH<\/td><td>\u041f\u0440\u043e\u043c\u0435\u043d\u044f \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449 resource.<\/td><td>\u041f\u0440\u043e\u043c\u044f\u043d\u0430 \u0441\u0430\u043c\u043e \u043d\u0430 Email.<\/td><\/tr><tr><td>DELETE<\/td><td>\u0418\u0437\u0442\u0440\u0438\u0432\u0430 \u0434\u0430\u0434\u0435\u043d resource.<\/td><td>\u0418\u0437\u0442\u0440\u0438\u0432\u0430\u043d\u0435 \u043d\u0430 User.<\/td><\/tr><tr><td>HEAD<\/td><td>\u041f\u043e\u0434\u043e\u0431\u0435\u043d \u043d\u0430 GET, \u043d\u043e \u0432\u0440\u044a\u0449\u0430 \u0441\u0430\u043c\u043e Response Headers \u0431\u0435\u0437 Response Body.<\/td><td>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0434\u0430\u043b\u0438 resource \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430.<\/td><\/tr><tr><td>OPTIONS<\/td><td>\u041f\u043e\u043a\u0430\u0437\u0432\u0430 \u043a\u043e\u0438 HTTP Methods \u0441\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438 \u0437\u0430 \u0434\u0430\u0434\u0435\u043d resource.<\/td><td>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u0435\u043d\u0438\u0442\u0435 methods.<\/td><\/tr><tr><td>TRACE<\/td><td>\u0414\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u043d method, \u043a\u043e\u0439\u0442\u043e \u0432\u0440\u044a\u0449\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f request \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u043a\u044a\u043c client.<\/td><td>\u0414\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0430 \u043d\u0430 HTTP communication.<\/td><\/tr><tr><td>CONNECT<\/td><td>\u0421\u044a\u0437\u0434\u0430\u0432\u0430 tunnel \u043a\u044a\u043c server, \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0437\u0430 HTTPS \u043a\u043e\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044f \u0447\u0440\u0435\u0437 Proxy.<\/td><td>SSL\/TLS connection \u043f\u0440\u0435\u0437 Proxy.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">2. Important Concepts<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">HTTP Methods \u0438\u043c\u0430\u0442 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0432\u0430\u0436\u043d\u0438 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Safe Methods: \u041d\u0435 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u0442 \u0441\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u0442\u043e \u043d\u0430 server. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>GET<\/code>, <code>HEAD<\/code> \u0436\u04d9\u043d\u0435 <code>OPTIONS<\/code>.<\/li>\n\n\n\n<li>Idempotent Methods: \u041f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0442\u043e \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u0435\u0434\u0438\u043d \u0438 \u0441\u044a\u0449 request \u0438\u043c\u0430 \u0441\u044a\u0449\u0438\u044f \u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d \u0435\u0444\u0435\u043a\u0442 \u0432\u044a\u0440\u0445\u0443 server, \u043a\u0430\u043a\u0442\u043e \u0435\u0434\u043d\u043e\u043a\u0440\u0430\u0442\u043d\u043e\u0442\u043e \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>GET<\/code>, <code>PUT<\/code> \u0436\u04d9\u043d\u0435 <code>DELETE<\/code>.<\/li>\n\n\n\n<li>Non-idempotent: \u041f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0442\u043e \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0434\u0435 \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u0438 \u043f\u0440\u043e\u043c\u0435\u043d\u0438. \u0422\u0438\u043f\u0438\u0447\u0435\u043d \u043f\u0440\u0438\u043c\u0435\u0440 \u0435 <code>POST<\/code>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">3. Example \u2013 REST API<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u0430 \u0440\u0430\u0437\u0433\u043b\u0435\u0434\u0430\u043c\u0435 API \u0437\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 Users:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>HTTP Request<\/th><th>Operation<\/th><\/tr><tr><td><code>GET \/users<\/code><\/td><td>\u041f\u043e\u043b\u0443\u0447\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0432\u0441\u0438\u0447\u043a\u0438 Users.<\/td><\/tr><tr><td><code>GET \/users\/10<\/code><\/td><td>\u041f\u043e\u043b\u0443\u0447\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 User \u0441 ID 10.<\/td><\/tr><tr><td><code>POST \/users<\/code><\/td><td>\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043d\u043e\u0432 User.<\/td><\/tr><tr><td><code>PUT \/users\/10<\/code><\/td><td>\u041f\u044a\u043b\u043d\u0430 \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 User 10.<\/td><\/tr><tr><td><code>PATCH \/users\/10<\/code><\/td><td>\u0427\u0430\u0441\u0442\u0438\u0447\u043d\u0430 \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 User 10.<\/td><\/tr><tr><td><code>DELETE \/users\/10<\/code><\/td><td>\u0418\u0437\u0442\u0440\u0438\u0432\u0430\u043d\u0435 \u043d\u0430 User 10.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">4. Important for Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435 \u043d\u0430\u0439-\u0432\u0430\u0436\u043d\u0438\u0442\u0435 \u0440\u0430\u0437\u043b\u0438\u043a\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>GET<\/code> \u2013 Read.<\/li>\n\n\n\n<li><code>POST<\/code> \u2013 Create.<\/li>\n\n\n\n<li><code>PUT<\/code> \u2013 Full Update \/ Replace.<\/li>\n\n\n\n<li><code>PATCH<\/code> \u2013 Partial Update.<\/li>\n\n\n\n<li><code>DELETE<\/code> \u2013 Delete.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043e\u0431\u0435\u043d\u043e \u0432\u0430\u0436\u043d\u043e:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>PUT<\/code> \u0435 Idempotent, \u0434\u043e\u043a\u0430\u0442\u043e <code>POST<\/code> \u043f\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u043d\u0435 \u0435.<\/li>\n\n\n\n<li><code>PATCH<\/code> \u043d\u0435 \u0435 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u043e Idempotent \u2013 \u0437\u0430\u0432\u0438\u0441\u0438 \u043e\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u0442\u0430.<\/li>\n\n\n\n<li><code>GET<\/code> \u043d\u0435 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u044f \u0434\u0430\u043d\u043d\u0438 \u043d\u0430 server.<\/li>\n\n\n\n<li><code>PUT<\/code> \u0436\u04d9\u043d\u0435 <code>DELETE<\/code> \u0441\u0430 Idempotent \u043f\u043e \u0434\u0435\u0444\u0438\u043d\u0438\u0446\u0438\u044f \u043d\u0430 HTTP semantics, \u0434\u043e\u0440\u0438 \u0430\u043a\u043e server \u0432\u0440\u044a\u0449\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 status codes \u043f\u0440\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u0438 \u0437\u0430\u044f\u0432\u043a\u0438.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435: HTTP Methods \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u0442\u043e, \u0430 HTTP Status Codes \u043f\u043e\u043a\u0430\u0437\u0432\u0430\u0442 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0430 \u043e\u0442 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 request-\u0430.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Interface vs Abstract Class (\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u0440\u0435\u0449\u0443 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u0435\u043d \u043a\u043b\u0430\u0441)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 Java Interface \u0438 Abstract Class \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0437\u0430 \u043f\u043e\u0441\u0442\u0438\u0433\u0430\u043d\u0435 \u043d\u0430 Abstraction (\u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f), \u043d\u043e \u0438\u043c\u0430\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Interface<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Definition: Interface \u0434\u0435\u0444\u0438\u043d\u0438\u0440\u0430 \u0434\u043e\u0433\u043e\u0432\u043e\u0440 (Contract), \u043a\u043e\u0439\u0442\u043e \u0435\u0434\u0438\u043d class \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u043f\u0430\u0437\u0432\u0430, \u043a\u043e\u0433\u0430\u0442\u043e \u0433\u043e \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430 \u0447\u0440\u0435\u0437 <code>implements<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u0435\u0440\u0435\u043a\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440\u0456:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041c\u043e\u0436\u0435 \u0434\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430 <code>abstract<\/code>, <code>default<\/code> \u0436\u04d9\u043d\u0435 <code>static<\/code> methods.<\/li>\n\n\n\n<li>\u041e\u0442 Java 9 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430 \u0438 <code>private<\/code> methods.<\/li>\n\n\n\n<li>Abstract methods \u0441\u0430 <code>public<\/code> \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435.<\/li>\n\n\n\n<li>\u0412\u0441\u0438\u0447\u043a\u0438 fields \u0441\u0430 <code>public static final<\/code> \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435 (\u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0438).<\/li>\n\n\n\n<li>\u0415\u0434\u0438\u043d class \u043c\u043e\u0436\u0435 \u0434\u0430 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e interfaces.<\/li>\n\n\n\n<li>\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0438\u043c\u0430 constructors.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">interface Animal {<\/div><div class=\"cm-line\">    void makeSound();<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">class Dog implements Animal {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    @Override<\/div><div class=\"cm-line\">    public void makeSound() {<\/div><div class=\"cm-line\">        System.out.println(&quot;Bark&quot;);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">2. Abstract Class<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Definition: Abstract Class \u0435 \u0431\u0430\u0437\u043e\u0432 class, \u043a\u043e\u0439\u0442\u043e \u0441\u043b\u0443\u0436\u0438 \u0437\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u043d\u0435 \u0447\u0440\u0435\u0437 <code>extends<\/code> \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u043e\u0431\u0449\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442 \u043d\u0430 \u0441\u0432\u043e\u0438\u0442\u0435 subclasses.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u0435\u0440\u0435\u043a\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440\u0456:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041c\u043e\u0436\u0435 \u0434\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430 <code>abstract<\/code> \u0436\u04d9\u043d\u0435 <code>concrete<\/code> methods.<\/li>\n\n\n\n<li>\u041c\u043e\u0436\u0435 \u0434\u0430 \u0438\u043c\u0430 fields \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 access modifiers.<\/li>\n\n\n\n<li>\u041c\u043e\u0436\u0435 \u0434\u0430 \u0438\u043c\u0430 constructors.<\/li>\n\n\n\n<li>\u041c\u043e\u0436\u0435 \u0434\u0430 \u0438\u043c\u0430 <code>static<\/code>, <code>final<\/code> \u0438 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438 instance methods.<\/li>\n\n\n\n<li>\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0438\u043d\u0441\u0442\u0430\u043d\u0446\u0438\u0440\u0430\u043d \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e.<\/li>\n\n\n\n<li>\u0415\u0434\u0438\u043d class \u043c\u043e\u0436\u0435 \u0434\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430 \u0441\u0430\u043c\u043e \u0435\u0434\u0438\u043d class.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">abstract class Animal {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    String name;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    Animal(String name) {<\/div><div class=\"cm-line\">        this.name = name;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    abstract void makeSound();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    void sleep() {<\/div><div class=\"cm-line\">        System.out.println(&quot;Sleeping...&quot;);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">class Dog extends Animal {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    Dog(String name) {<\/div><div class=\"cm-line\">        super(name);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    @Override<\/div><div class=\"cm-line\">    void makeSound() {<\/div><div class=\"cm-line\">        System.out.println(&quot;Bark&quot;);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">3. Key Differences<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Aspect<\/th><th>Interface<\/th><th>Abstract Class<\/th><\/tr><tr><td>Purpose<\/td><td>Defines a Contract<\/td><td>Provides a Base Class<\/td><\/tr><tr><td>Inheritance<\/td><td>Multiple interfaces<\/td><td>Single class<\/td><\/tr><tr><td>Methods<\/td><td>Abstract, default, static, private<\/td><td>Abstract and concrete<\/td><\/tr><tr><td>Constructors<\/td><td>Not allowed<\/td><td>Allowed<\/td><\/tr><tr><td>Fields<\/td><td><code>public static final<\/code><\/td><td>Any access modifier<\/td><\/tr><tr><td>Keyword<\/td><td><code>implements<\/code><\/td><td><code>extends<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">4. When to Use What?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use Interface when:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0418\u0441\u043a\u0430\u043c\u0435 \u0434\u0430 \u0434\u0435\u0444\u0438\u043d\u0438\u0440\u0430\u043c\u0435 \u043e\u0431\u0449 Contract \u0437\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 classes.<\/li>\n\n\n\n<li>\u0418\u0441\u043a\u0430\u043c\u0435 \u0435\u0434\u0438\u043d class \u0434\u0430 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e interfaces.<\/li>\n\n\n\n<li>Classes \u043d\u044f\u043c\u0430\u0442 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u043e \u043e\u0431\u0449 Parent Class.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Use Abstract Class when:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0418\u0441\u043a\u0430\u043c\u0435 \u0434\u0430 \u0441\u043f\u043e\u0434\u0435\u043b\u044f\u043c\u0435 \u043e\u0431\u0449 \u043a\u043e\u0434 \u043c\u0435\u0436\u0434\u0443 \u043d\u0430\u0441\u043b\u0435\u0434\u0435\u043d\u0438 classes.<\/li>\n\n\n\n<li>\u0418\u043c\u0430\u043c\u0435 \u043e\u0431\u0449\u0438 fields \u0438 constructors.<\/li>\n\n\n\n<li>\u0418\u0441\u043a\u0430\u043c\u0435 \u0434\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u043c \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u0430 implementation, \u043a\u043e\u044f\u0442\u043e subclasses \u0434\u0430 \u0434\u043e\u043f\u044a\u043b\u0432\u0430\u0442.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">5. Important for Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0435\u0442\u0435 \u0441\u0438, \u0447\u0435 \u0438\u043c\u0430\u043c\u0435 <code>Car<\/code>, <code>Airplane<\/code> \u0436\u04d9\u043d\u0435 <code>Boat<\/code>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Interface <code>Flyable<\/code> \u043c\u043e\u0436\u0435 \u0434\u0430 \u0434\u0435\u0444\u0438\u043d\u0438\u0440\u0430 <code>fly()<\/code> \u2013 \u043a\u0430\u043a\u0442\u043e \u0437\u0430 Airplane, \u0442\u0430\u043a\u0430 \u0438 \u0437\u0430 \u0434\u0440\u0443\u0433\u0438 \u043b\u0435\u0442\u044f\u0449\u0438 \u043e\u0431\u0435\u043a\u0442\u0438.<\/li>\n\n\n\n<li>Abstract Class <code>Vehicle<\/code> \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430 \u043e\u0431\u0449\u0438 fields \u043a\u0430\u0442\u043e <code>speed<\/code>, <code>brand<\/code> \u0438 methods \u043a\u0430\u0442\u043e <code>start()<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Interface = What a class can do (Contract).<\/li>\n\n\n\n<li>Abstract Class = What a class is and what common functionality it shares.<\/li>\n\n\n\n<li>Interface \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 Multiple Inheritance \u043d\u0430 \u0442\u0438\u043f\u043e\u0432\u0435.<\/li>\n\n\n\n<li>Abstract Class \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0441\u043f\u043e\u0434\u0435\u043b\u044f\u043d\u0435 \u043d\u0430 state \u0438 implementation.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u043e \u0443\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435: Interface \u0432\u0435\u0447\u0435 \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0432\u0430 \u0441\u0430\u043c\u043e abstract methods. \u041e\u0442 Java 8 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 <code>default<\/code> \u0436\u04d9\u043d\u0435 <code>static<\/code> methods, \u0430 \u043e\u0442 Java 9 \u2013 <code>private<\/code> methods.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Java Versions \u2013 \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u0438 \u043d\u043e\u0432\u043e\u0432\u044a\u0432\u0435\u0434\u0435\u043d\u0438\u044f<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Java \u0441\u0435 \u0440\u0430\u0437\u0432\u0438\u0432\u0430 \u0447\u0440\u0435\u0437 \u043d\u043e\u0432\u0438 \u0432\u0435\u0440\u0441\u0438\u0438, \u043a\u043e\u0438\u0442\u043e \u0432\u044a\u0432\u0435\u0436\u0434\u0430\u0442 \u043f\u043e\u0434\u043e\u0431\u0440\u0435\u043d\u0438\u044f \u0432 \u0435\u0437\u0438\u043a\u0430, JVM, Performance, Security, Garbage Collection \u0438 Concurrency.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0442 Java 9 \u043d\u0430\u0441\u0430\u043c Oracle \u0441\u043b\u0435\u0434\u0432\u0430 \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0435\u043b\u043d\u043e \u0448\u0435\u0441\u0442\u043c\u0435\u0441\u0435\u0447\u0435\u043d \u0446\u0438\u043a\u044a\u043b \u043d\u0430 \u0438\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u2013 \u043f\u0440\u0435\u0437 \u043c\u0430\u0440\u0442 \u0438 \u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e \u0440\u0430\u0437\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>LTS (Long-Term Support): \u0412\u0435\u0440\u0441\u0438\u0438 \u0441 \u0434\u044a\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u0430 \u043f\u043e\u0434\u0434\u0440\u044a\u0436\u043a\u0430.<\/li>\n\n\n\n<li>Non-LTS: \u041c\u0435\u0436\u0434\u0438\u043d\u043d\u0438 \u0432\u0435\u0440\u0441\u0438\u0438 \u0441 \u043f\u043e-\u043a\u0440\u0430\u0442\u044a\u043a \u043f\u0435\u0440\u0438\u043e\u0434 \u043d\u0430 \u043f\u043e\u0434\u0434\u0440\u044a\u0436\u043a\u0430.<\/li>\n\n\n\n<li>GA (General Availability): \u041e\u0444\u0438\u0446\u0438\u0430\u043b\u043d\u043e \u0438\u0437\u0434\u0430\u0434\u0435\u043d\u0430 \u0441\u0442\u0430\u0431\u0438\u043b\u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044f.<\/li>\n\n\n\n<li>Preview \/ Incubator: \u0415\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u043d\u0438 \u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u043d\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0438\u0442\u043e \u043d\u0435 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u0435 \u043f\u0440\u0438\u0435\u043c\u0430\u0442 \u0437\u0430 \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u043d\u0438.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">1. Java Versions and Highlights<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043b\u0435\u0434\u0432\u0430\u0449\u0430\u0442\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0432\u043a\u043b\u044e\u0447\u0432\u0430 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u043d\u043e \u0438\u0437\u0434\u0430\u0434\u0435\u043d\u0438\u0442\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u0434\u043e Java 27 (\u043d\u043e\u0435\u043c\u0432\u0440\u0438 2026). \u041f\u043e\u0441\u043e\u0447\u0435\u043d\u0438 \u0441\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u043e \u0444\u0438\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442\u0438, \u0430 \u043d\u0435 Preview features.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Version<\/th><th>Type<\/th><th>Main Highlights<\/th><\/tr><tr><td>Java 17<\/td><td>LTS<\/td><td>Sealed Classes, Pattern Matching for <code>instanceof<\/code>, Strong Encapsulation, Enhanced Pseudo-Random Number Generators.<\/td><\/tr><tr><td>Java 18<\/td><td>Non-LTS<\/td><td>UTF-8 Default Charset, Simple Web Server, Code Snippets in JavaDoc.<\/td><\/tr><tr><td>Java 19<\/td><td>Non-LTS<\/td><td>\u041f\u043e\u0434\u043e\u0431\u0440\u0435\u043d\u0438\u044f \u0432 JVM \u0438 Concurrency. Virtual Threads \u0438 Record Patterns \u0432\u0441\u0435 \u043e\u0449\u0435 \u0441\u0430 Preview.<\/td><\/tr><tr><td>Java 20<\/td><td>Non-LTS<\/td><td>\u041f\u0440\u043e\u0434\u044a\u043b\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 Virtual Threads, Structured Concurrency \u0438 Record Patterns \u2013 \u0432\u0441\u0435 \u043e\u0449\u0435 Preview.<\/td><\/tr><tr><td>Java 21<\/td><td>LTS<\/td><td>Virtual Threads, Record Patterns, Pattern Matching for <code>switch<\/code>, Sequenced Collections, Generational ZGC, KEM API.<\/td><\/tr><tr><td>Java 22<\/td><td>Non-LTS<\/td><td>Foreign Function &amp; Memory API (Final), Unnamed Variables &amp; Patterns, Multi-file Source-Code Launch.<\/td><\/tr><tr><td>Java 23<\/td><td>Non-LTS<\/td><td>Markdown Documentation Comments (JavaDoc), Generational ZGC \u0441\u0442\u0430\u0432\u0430 Default Mode.<\/td><\/tr><tr><td>Java 24<\/td><td>Non-LTS<\/td><td>Stream Gatherers (Final), Class-File API (Final), Ahead-of-Time Class Loading &amp; Linking, Key Derivation API, Security Manager Permanently Disabled.<\/td><\/tr><tr><td>Java 25<\/td><td>LTS<\/td><td>Compact Source Files, Instance Main Methods, Module Import Declarations, Flexible Constructor Bodies, Scoped Values, Generational Shenandoah GC.<\/td><\/tr><tr><td>Java 26<\/td><td>Non-LTS<\/td><td>HTTP\/3 Support, G1 GC Performance Improvements, Ahead-of-Time Object Caching with Any GC.<\/td><\/tr><tr><td>Java 27<\/td><td>Non-LTS<\/td><td>Post-Quantum Hybrid Key Exchange for TLS 1.3, Compact Object Headers by Default, G1 GC Default in All Environments, JFR In-Process Data Redaction.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u0442\u043e\u0447\u043d\u0438\u0446\u0438: \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u043d\u0438\u0442\u0435 <a href=\"https:\/\/www.oracle.com\/java\/technologies\/javase\/jdk-relnotes-index.html?utm_source=chatgpt.com\">JDK Release Notes<\/a> \u0436\u04d9\u043d\u0435 <a href=\"https:\/\/www.oracle.com\/uk\/java\/technologies\/java-se-support-roadmap.html?utm_source=chatgpt.com\">Oracle Java SE Support Roadmap<\/a>. Oracle+3<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Important Java Features Explained<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">A. Virtual Threads (Java 21)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Virtual Threads \u0441\u0430 \u043b\u0435\u043a\u0438 threads, \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430\u043d\u0438 \u043e\u0442 JVM, \u0432\u043c\u0435\u0441\u0442\u043e \u0434\u0430 \u0441\u044a\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0430\u0442 \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e \u0435\u0434\u043d\u043e \u043a\u044a\u043c \u0435\u0434\u043d\u043e \u043d\u0430 OS threads.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0438 \u0432 \u043c\u043d\u043e\u0433\u043e \u0433\u043e\u043b\u044f\u043c \u0431\u0440\u043e\u0439.<\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u043c\u0430\u043b\u043a\u043e \u043f\u0430\u043c\u0435\u0442 \u0441\u043f\u0440\u044f\u043c\u043e \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u0438\u0442\u0435 Platform Threads.<\/li>\n\n\n\n<li>\u041f\u0440\u0438 blocking I\/O \u043c\u043e\u0433\u0430\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 suspended, \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0432\u0430\u0439\u043a\u0438 carrier thread.<\/li>\n\n\n\n<li>\u041f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438 \u0441\u0430 \u0437\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u043c\u043d\u043e\u0433\u043e \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0438 \u0437\u0430\u044f\u0432\u043a\u0438 \u2013 Web Servers, REST APIs \u0438 Microservices.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">B. Structured Concurrency<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Structured Concurrency \u0442\u0440\u0435\u0442\u0438\u0440\u0430 \u0433\u0440\u0443\u043f\u0430 \u043e\u0442 \u043f\u0430\u0440\u0430\u043b\u0435\u043b\u043d\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u043a\u0430\u0442\u043e \u0435\u0434\u043d\u0430 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0430.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u043f\u0440\u0435\u0434\u0438\u043c\u0441\u0442\u0432\u0430:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Simplicity: \u0412\u0441\u0438\u0447\u043a\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430\u0442 \u0432 \u043e\u0431\u0449 scope.<\/li>\n\n\n\n<li>Reliability: \u041f\u043e-\u043b\u0435\u0441\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u043d\u0435 \u043d\u0430 exceptions.<\/li>\n\n\n\n<li>Cancellation: \u0421\u0432\u044a\u0440\u0437\u0430\u043d\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u043e\u0442\u043c\u0435\u043d\u0435\u043d\u0438 \u043f\u0440\u0438 \u0433\u0440\u0435\u0448\u043a\u0430.<\/li>\n\n\n\n<li>Resource Management: \u041f\u043e-\u0434\u043e\u0431\u044a\u0440 \u043a\u043e\u043d\u0442\u0440\u043e\u043b \u0432\u044a\u0440\u0445\u0443 \u0436\u0438\u0437\u043d\u0435\u043d\u0438\u044f \u0446\u0438\u043a\u044a\u043b \u043d\u0430 \u0437\u0430\u0434\u0430\u0447\u0438\u0442\u0435.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Preview in Java 27<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: Structured Concurrency \u0432\u0441\u0435 \u043e\u0449\u0435 \u043d\u0435 \u0435 \u0444\u0438\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0430 \u0434\u043e\u0440\u0438 \u0432 Java 27.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">C. Scoped Values (Java 25)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Scoped Values \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u044a\u043c \u0437\u0430 \u0441\u043f\u043e\u0434\u0435\u043b\u044f\u043d\u0435 \u043d\u0430 \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u0438 \u0434\u0430\u043d\u043d\u0438 \u043c\u0435\u0436\u0434\u0443 methods \u0438 threads \u0432 \u0440\u0430\u043c\u043a\u0438\u0442\u0435 \u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d scope.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410\u0440\u0442\u044b\u049b\u0448\u044b\u043b\u044b\u049b\u0442\u0430\u0440\u044b:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u043e-\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0430 \u0430\u043b\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430 \u043d\u0430 \u043c\u043d\u043e\u0433\u043e \u0443\u043f\u043e\u0442\u0440\u0435\u0431\u0438 \u043d\u0430 <code>ThreadLocal<\/code>.<\/li>\n\n\n\n<li>\u041d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u0438 bindings.<\/li>\n\n\n\n<li>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u0430 \u0441\u043f\u043e\u0440\u0435\u0434 scope.<\/li>\n\n\n\n<li>\u041f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438 \u0437\u0430 Virtual Threads \u0438 \u043f\u0440\u0435\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 Request ID, User Context \u0438 \u0434\u0440\u0443\u0433\u0438 \u0434\u0430\u043d\u043d\u0438.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Final in Java 25<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">D. Stable Values \/ Lazy Constants<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0432\u0430 \u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442, \u043a\u043e\u044f\u0442\u043e \u0432\u0441\u0435 \u043e\u0449\u0435 \u0441\u0435 \u0440\u0430\u0437\u0432\u0438\u0432\u0430.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0434\u0435\u044f\u0442\u0430 \u0435 \u0434\u0430 \u0441\u0435 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u0442 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0438\u0442\u043e \u0441\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u0442 \u043e\u0442\u043b\u043e\u0436\u0435\u043d\u043e (Lazy Initialization), \u043d\u043e \u0441\u043b\u0435\u0434 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0435 \u0442\u0440\u0435\u0442\u0438\u0440\u0430\u0442 \u043a\u0430\u0442\u043e \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u0438 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u043b\u0437\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u043e-\u0433\u044a\u0432\u043a\u0430\u0432\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f.<\/li>\n\n\n\n<li>\u0412\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442 \u0437\u0430 JVM \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438.<\/li>\n\n\n\n<li>\u041f\u043e\u043b\u0435\u0437\u043d\u0438 \u043f\u0440\u0438 Configuration \u0438 Caching.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Preview in Java 27<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: \u0422\u043e\u0432\u0430 \u043d\u0435 \u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u044a\u043c \u0437\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u043d\u0438 Atomic Updates \u0438\u043b\u0438 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0438 \u0441\u044a\u0441 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0430 \u043d\u0430 <code>volatile<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">E. Compact Object Headers (Java 25\u201327)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Compact Object Headers \u043d\u0430\u043c\u0430\u043b\u044f\u0432\u0430\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043d\u0430 \u0437\u0430\u0433\u043b\u0430\u0432\u043d\u0430\u0442\u0430 \u0447\u0430\u0441\u0442 \u043d\u0430 Java objects \u0432 Heap Memory.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410\u0440\u0442\u044b\u049b\u0448\u044b\u043b\u044b\u049b\u0442\u0430\u0440\u044b:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u043e-\u043c\u0430\u043b\u043a\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0430 \u043f\u0430\u043c\u0435\u0442.<\/li>\n\n\n\n<li>\u041f\u043e-\u0434\u043e\u0431\u0440\u0430 Memory Density.<\/li>\n\n\n\n<li>\u041f\u043e-\u0434\u043e\u0431\u0440\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 CPU Cache.<\/li>\n\n\n\n<li>\u041f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u043d\u043e \u043f\u043e-\u0434\u043e\u0431\u0440\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442 \u043f\u0440\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u043c\u0438\u043b\u0438\u043e\u043d\u0438 objects.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 Java 27 Compact Object Headers \u0441\u0442\u0430\u0432\u0430\u0442 Default \u0432 HotSpot JVM. Oracle<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">F. Generational Shenandoah GC (Java 25)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Generational Shenandoah \u0440\u0430\u0437\u0434\u0435\u043b\u044f Heap Memory \u043d\u0430:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Young Generation: \u0417\u0430 \u043d\u043e\u0432\u043e\u0441\u044a\u0437\u0434\u0430\u0434\u0435\u043d\u0438 objects.<\/li>\n\n\n\n<li>Old Generation: \u0417\u0430 \u0434\u044a\u043b\u0433\u043e \u0436\u0438\u0432\u0435\u0435\u0449\u0438 objects.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410\u0440\u0442\u044b\u049b\u0448\u044b\u043b\u044b\u049b\u0442\u0430\u0440\u044b:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u043e-\u0435\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0441\u044a\u0431\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u043d\u0435\u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0430 \u043f\u0430\u043c\u0435\u0442.<\/li>\n\n\n\n<li>\u041f\u043e-\u043d\u0438\u0441\u043a\u0438 GC pauses.<\/li>\n\n\n\n<li>\u041f\u043e-\u0434\u043e\u0431\u0440\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442 \u043f\u0440\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u043c\u043d\u043e\u0433\u043e allocations.<\/li>\n\n\n\n<li>\u0417\u0430\u043f\u0430\u0437\u0432\u0430 \u043d\u0438\u0441\u043a\u0430\u0442\u0430 \u043b\u0430\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442 \u043d\u0430 Shenandoah.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">G. Generational ZGC (Java 23)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Generational ZGC \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Young \u0438 Old Generations, \u0437\u0430 \u0434\u0430 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u0430 Garbage Collection.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u043f\u0440\u0435\u0434\u0438\u043c\u0441\u0442\u0432\u0430:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u043e-\u0440\u044f\u0434\u043a\u043e \u0441\u043a\u0430\u043d\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0434\u044a\u043b\u0433\u043e \u0436\u0438\u0432\u0435\u0435\u0449\u0438 objects.<\/li>\n\n\n\n<li>\u041f\u043e-\u043c\u0430\u043b\u043a\u043e GC overhead.<\/li>\n\n\n\n<li>\u041c\u043d\u043e\u0433\u043e \u043d\u0438\u0441\u043a\u0438 pause times.<\/li>\n\n\n\n<li>\u041f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u0437\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u0433\u043e\u043b\u0435\u043c\u0438 Heap Memory \u0440\u0430\u0437\u043c\u0435\u0440\u0438.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 Java 23 Generational Mode \u0441\u0442\u0430\u0432\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0438\u044f\u0442 \u0440\u0435\u0436\u0438\u043c \u043d\u0430 ZGC.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">H. HTTP\/3 Support (Java 26)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Java 26 \u0434\u043e\u0431\u0430\u0432\u044f \u043f\u043e\u0434\u0434\u0440\u044a\u0436\u043a\u0430 \u043d\u0430 HTTP\/3 \u0432 Java HTTP Client API.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">HTTP\/3 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 QUIC \u0432\u043c\u0435\u0441\u0442\u043e TCP \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u043e-\u0431\u044a\u0440\u0437\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0432\u0440\u044a\u0437\u043a\u0438.<\/li>\n\n\n\n<li>\u041f\u043e-\u0434\u043e\u0431\u0440\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u043f\u0440\u0438 \u0437\u0430\u0433\u0443\u0431\u0430 \u043d\u0430 \u043f\u0430\u043a\u0435\u0442\u0438.<\/li>\n\n\n\n<li>\u041f\u043e-\u0435\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0430 \u043c\u0440\u0435\u0436\u043e\u0432\u0430 \u043a\u043e\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044f.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">I. Post-Quantum Cryptography (Java 27)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Java 27 \u0434\u043e\u0431\u0430\u0432\u044f Post-Quantum Hybrid Key Exchange \u0437\u0430 TLS 1.3.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0432\u0430 \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u0430 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u0438 \u0438 quantum-resistant cryptographic algorithms \u0441 \u0446\u0435\u043b \u043f\u043e-\u0434\u043e\u0431\u0440\u0430 \u0437\u0430\u0449\u0438\u0442\u0430 \u0441\u0440\u0435\u0449\u0443 \u0431\u044a\u0434\u0435\u0449\u0438 \u0437\u0430\u043f\u043b\u0430\u0445\u0438 \u043e\u0442 \u043a\u0432\u0430\u043d\u0442\u043e\u0432\u0438 \u043a\u043e\u043c\u043f\u044e\u0442\u0440\u0438. Oracle<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. LTS Versions \u2013 \u043d\u0430\u0439-\u0432\u0430\u0436\u043d\u0438\u0442\u0435 \u0432\u0435\u0440\u0441\u0438\u0438<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u044a\u043c \u043d\u043e\u0435\u043c\u0432\u0440\u0438 2026 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u043d\u0438\u0442\u0435 LTS \u0432\u0435\u0440\u0441\u0438\u0438 \u0441\u0430:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Version<\/th><th>Release Year<\/th><th>Status<\/th><\/tr><tr><td>Java 8<\/td><td>2014<\/td><td>LTS<\/td><\/tr><tr><td>Java 11<\/td><td>2018<\/td><td>LTS<\/td><\/tr><tr><td>Java 17<\/td><td>2021<\/td><td>LTS<\/td><\/tr><tr><td>Java 21<\/td><td>2023<\/td><td>LTS<\/td><\/tr><tr><td>Java 25<\/td><td>2025<\/td><td>Latest LTS<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043b\u0435\u0434\u0432\u0430\u0449\u0430\u0442\u0430 \u043f\u043b\u0430\u043d\u0438\u0440\u0430\u043d\u0430 LTS \u0432\u0435\u0440\u0441\u0438\u044f \u0435 Java 29 \u043f\u0440\u0435\u0437 \u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438 2027 \u0433. Oracle United Kingdom<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Which Java Version Should You Know for a Java Developer Interview?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u043e\u044f\u0442 \u0441\u044a\u0432\u0435\u0442 \u0435 \u0434\u0430 \u043e\u0431\u044a\u0440\u043d\u0435\u0448 \u043d\u0430\u0439-\u0433\u043e\u043b\u044f\u043c\u043e \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Java 8 \u2013 Lambda Expressions, Stream API, Functional Interfaces, Optional.<\/li>\n\n\n\n<li>Java 11 \u2013 HTTP Client API, String methods, \u043b\u043e\u043a\u0430\u043b\u043d\u0438 <code>var<\/code> \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0438 \u0432 Lambda parameters.<\/li>\n\n\n\n<li>Java 17 \u2013 Sealed Classes, Pattern Matching, Records (\u0444\u0438\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0438 \u043e\u0449\u0435 \u0432 Java 16).<\/li>\n\n\n\n<li>Java 21 \u2013 Virtual Threads, Pattern Matching for switch, Record Patterns, Sequenced Collections.<\/li>\n\n\n\n<li>Java 25 \u2013 Scoped Values, Compact Source Files, Module Import Declarations.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u0439-\u0432\u0430\u0436\u043d\u043e\u0442\u043e \u0437\u0430 \u0437\u0430\u043f\u043e\u043c\u043d\u044f\u043d\u0435<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Latest GA Version: Java 27<\/li>\n\n\n\n<li>Latest LTS Version: Java 25<\/li>\n\n\n\n<li>Previous LTS Version: Java 21<\/li>\n\n\n\n<li>Virtual Threads: Java 21<\/li>\n\n\n\n<li>Structured Concurrency: \u0432\u0441\u0435 \u043e\u0449\u0435 Preview \u0432 Java 27.<\/li>\n\n\n\n<li>Scoped Values: Final \u0432 Java 25.<\/li>\n\n\n\n<li>Compact Object Headers: Default \u0432 Java 27.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u044a\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0438\u0442\u0435 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 (Modern Features Comparison): Kotlin vs Java<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418 \u0434\u0432\u0430\u0442\u0430 \u0435\u0437\u0438\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u044f\u0442 \u0432\u044a\u0440\u0445\u0443 JVM (Java Virtual Machine) \u0438 \u0438\u043c\u0430\u0442 \u0441\u0445\u043e\u0434\u043d\u0438 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u043d\u043e \u0441\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0432\u0430\u0442 \u043f\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441, \u0442\u0438\u043f\u043e\u0432\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0438 \u043d\u0430\u0447\u0438\u043d \u043d\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442\u0438<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442<\/th><th>Kotlin<\/th><th>Java<\/th><\/tr><tr><td>Null Safety<\/td><td>\u0412\u0433\u0440\u0430\u0434\u0435\u043d\u0430 \u0437\u0430\u0449\u0438\u0442\u0430 \u043e\u0442 <code>null<\/code> \u0447\u0440\u0435\u0437 nullable (<code>String?<\/code>) \u0438 non-nullable (<code>String<\/code>) \u0442\u0438\u043f\u043e\u0432\u0435.<\/td><td>\u041d\u044f\u043c\u0430 \u0432\u0433\u0440\u0430\u0434\u0435\u043d\u0430 Null Safety \u0441\u0438\u0441\u0442\u0435\u043c\u0430. \u0420\u0430\u0437\u0447\u0438\u0442\u0430 \u043d\u0430 annotations \u0438 \u0434\u043e\u0431\u0440\u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438.<\/td><\/tr><tr><td>Data Classes<\/td><td><code>data class<\/code> \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430 <code>equals()<\/code>, <code>hashCode()<\/code>, <code>toString()<\/code> \u0438 \u0434\u0440\u0443\u0433\u0438 \u043c\u0435\u0442\u043e\u0434\u0438.<\/td><td>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u0440\u044a\u0447\u043d\u0430 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f, <code>record<\/code> (\u043e\u0442 Java 16) \u0438\u043b\u0438 IDE \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f.<\/td><\/tr><tr><td>Coroutines \/ Concurrency<\/td><td>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 Coroutines \u0437\u0430 \u043b\u0435\u043a\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0438 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u043e\u0441\u0442.<\/td><td>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Threads, <code>CompletableFuture<\/code> \u0438 Virtual Threads (\u043e\u0442 Java 21).<\/td><\/tr><tr><td>Extension Functions<\/td><td>\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0434\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u044a\u043c \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449\u0438 \u0442\u0438\u043f\u043e\u0432\u0435 \u0431\u0435\u0437 \u043f\u0440\u043e\u043c\u044f\u043d\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0438\u044f \u043a\u043b\u0430\u0441.<\/td><td>\u041d\u044f\u043c\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u0430 \u043f\u043e\u0434\u0434\u0440\u044a\u0436\u043a\u0430. \u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0441\u0435 Utility Classes \u0438 static methods.<\/td><\/tr><tr><td>Smart Casts<\/td><td>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u0442\u0438\u043f\u0430 \u0441\u043b\u0435\u0434 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430, \u043a\u043e\u0433\u0430\u0442\u043e \u0442\u043e\u0432\u0430 \u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e.<\/td><td>\u041d\u044f\u043c\u0430 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442, \u043d\u043e \u0438\u043c\u0430 Pattern Matching \u0437\u0430 <code>instanceof<\/code> (\u043e\u0442 Java 16).<\/td><\/tr><tr><td>Checked Exceptions<\/td><td>\u041d\u044f\u043c\u0430 Checked Exceptions.<\/td><td>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 Checked \u0438 Unchecked Exceptions.<\/td><\/tr><tr><td>Type Inference<\/td><td>\u0421\u0438\u043b\u043d\u043e Type Inference, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>val x = 5<\/code>.<\/td><td>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 <code>var<\/code> \u0437\u0430 \u043b\u043e\u043a\u0430\u043b\u043d\u0438 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0438 (\u043e\u0442 Java 10), \u043a\u0430\u043a\u0442\u043e \u0438 Type Inference \u0432 \u0434\u0440\u0443\u0433\u0438 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0438.<\/td><\/tr><tr><td>Semicolons<\/td><td>\u041d\u0435 \u0441\u0430 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u0438.<\/td><td>\u041e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0441\u0430 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u0438 \u0432 \u043a\u0440\u0430\u044f \u043d\u0430 statements.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e \u0443\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435: Java \u0432\u0435\u0447\u0435 \u0438\u043c\u0430 <code>record<\/code>, Pattern Matching \u0438 Virtual Threads. \u0417\u0430\u0442\u043e\u0432\u0430 \u043d\u044f\u043a\u043e\u0438 \u043e\u0442 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u0438\u0442\u0435 \u043f\u0440\u0435\u0434\u0438\u043c\u0441\u0442\u0432\u0430 \u043d\u0430 Kotlin \u0432\u0435\u0447\u0435 \u0438\u043c\u0430\u0442 \u0447\u0430\u0441\u0442\u0438\u0447\u0435\u043d \u0438\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0435\u043d \u0435\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442 \u0432 \u0441\u044a\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u0442\u0430 Java.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. \u041a\u043e\u0433\u0430 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u043c Kotlin?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 Kotlin, \u043a\u043e\u0433\u0430\u0442\u043e:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442\u0435 \u043d\u043e\u0432\u0438 Android \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/li>\n\n\n\n<li>\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u0442\u0435 \u0441\u044a\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0438 Microservices \u0441\u044a\u0441 Spring Boot \u0438\u043b\u0438 Ktor.<\/li>\n\n\n\n<li>\u0418\u0441\u043a\u0430\u0442\u0435 \u043f\u043e-\u043a\u0440\u0430\u0442\u044a\u043a \u0438 \u0438\u0437\u0440\u0430\u0437\u0438\u0442\u0435\u043b\u0435\u043d \u043a\u043e\u0434 \u0441 \u043f\u043e-\u043c\u0430\u043b\u043a\u043e Boilerplate.<\/li>\n\n\n\n<li>\u0418\u043c\u0430\u0442\u0435 \u043d\u0443\u0436\u0434\u0430 \u043e\u0442 \u043f\u043e-\u0434\u043e\u0431\u0440\u0430 \u0437\u0430\u0449\u0438\u0442\u0430 \u0441\u0440\u0435\u0449\u0443 <code>NullPointerException<\/code>.<\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 Coroutines \u0437\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0438 \u0438 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/li>\n\n\n\n<li>\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u0442\u0435 \u043c\u043d\u043e\u0433\u043e DTO \u0438 Domain Models, \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438 \u0437\u0430 <code>data class<\/code>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">3. \u041a\u043e\u0433\u0430 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u043c Java?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 Java, \u043a\u043e\u0433\u0430\u0442\u043e:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u0442\u0435 \u0438\u043b\u0438 \u0440\u0430\u0437\u0448\u0438\u0440\u044f\u0432\u0430\u0442\u0435 \u0433\u043e\u043b\u0435\u043c\u0438 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449\u0438 Enterprise \u0441\u0438\u0441\u0442\u0435\u043c\u0438.<\/li>\n\n\n\n<li>\u0415\u043a\u0438\u043f\u044a\u0442 \u0432\u0438 \u0438\u043c\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u043e Java Developers.<\/li>\n\n\n\n<li>\u041f\u0440\u043e\u0435\u043a\u0442\u044a\u0442 \u0438\u0437\u0438\u0441\u043a\u0432\u0430 \u043a\u043e\u043d\u0441\u0435\u0440\u0432\u0430\u0442\u0438\u0432\u0435\u043d \u0438 \u0434\u044a\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u043e \u0443\u0442\u0432\u044a\u0440\u0434\u0435\u043d \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u043d \u0438\u0437\u0431\u043e\u0440.<\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, Frameworks \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0438 \u0441 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u0430 \u043f\u043e\u0434\u0434\u0440\u044a\u0436\u043a\u0430 \u043d\u0430 Java.<\/li>\n\n\n\n<li>\u0420\u0430\u0437\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u0435 \u0441 \u0443\u0442\u0432\u044a\u0440\u0434\u0435\u043d\u0438 Java Development \u043f\u0440\u043e\u0446\u0435\u0441\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0438.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. \u041a\u043e\u0439 \u0435\u0437\u0438\u043a \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430 \u043d\u043e\u0432\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438, \u043e\u0441\u043e\u0431\u0435\u043d\u043e \u043f\u0440\u0438 Back-end Services, Cloud Microservices \u0438 Android Applications, Kotlin \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043c\u043d\u043e\u0433\u043e \u0434\u043e\u0431\u044a\u0440 \u0438\u0437\u0431\u043e\u0440.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u0438\u0442\u0435 \u043c\u0443 \u043f\u0440\u0435\u0434\u0438\u043c\u0441\u0442\u0432\u0430 \u0441\u0430:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u043e-\u043a\u0440\u0430\u0442\u044a\u043a \u0438 \u0447\u0435\u0442\u0438\u043c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441.<\/li>\n\n\n\n<li>\u0412\u0433\u0440\u0430\u0434\u0435\u043d\u0430 Null Safety.<\/li>\n\n\n\n<li><code>data class<\/code> \u0437\u0430 DTO \u0438 Domain Objects.<\/li>\n\n\n\n<li>Coroutines \u0437\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430.<\/li>\n\n\n\n<li>\u041e\u0442\u043b\u0438\u0447\u043d\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441\u044a\u0441 Spring Boot \u0438 JVM Frameworks.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430 \u0433\u043e\u043b\u0435\u043c\u0438 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449\u0438 Java \u043f\u0440\u043e\u0435\u043a\u0442\u0438 \u0438 Enterprise \u0441\u0438\u0441\u0442\u0435\u043c\u0438 Java \u0447\u0435\u0441\u0442\u043e \u043e\u0441\u0442\u0430\u0432\u0430 \u043f\u043e-\u043f\u0440\u0430\u043a\u0442\u0438\u0447\u043d\u0438\u044f\u0442 \u0438\u0437\u0431\u043e\u0440 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0435\u043d\u0438\u0435 \u043d\u0430:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041e\u0433\u0440\u043e\u043c\u043d\u0430 \u0435\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043e\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438.<\/li>\n\n\n\n<li>\u0417\u0440\u0435\u043b\u0438 Development Tools \u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f.<\/li>\n\n\n\n<li>\u0413\u043e\u043b\u044f\u043c \u0431\u0440\u043e\u0439 \u043e\u043f\u0438\u0442\u043d\u0438 Java Developers.<\/li>\n\n\n\n<li>\u0414\u044a\u043b\u0433\u043e\u0433\u043e\u0434\u0438\u0448\u043d\u0430 \u0441\u0442\u0430\u0431\u0438\u043b\u043d\u043e\u0441\u0442 \u0438 \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">5. \u0421\u043c\u0435\u0441\u0435\u043d \u043f\u043e\u0434\u0445\u043e\u0434 (Java + Kotlin)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0430\u043b\u043d\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438 \u043d\u0430\u0439-\u0434\u043e\u0431\u0440\u043e\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0434\u0432\u0430\u0442\u0430 \u0435\u0437\u0438\u043a\u0430 \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0421\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449\u0438\u0442\u0435 Legacy Modules \u043e\u0441\u0442\u0430\u0432\u0430\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438 \u043d\u0430 Java.<\/li>\n\n\n\n<li>\u041d\u043e\u0432\u0438\u0442\u0435 Services \u0438 Components \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u043d\u0438 \u043d\u0430 Kotlin.<\/li>\n\n\n\n<li>\u0414\u0432\u0430\u0442\u0430 \u0435\u0437\u0438\u043a\u0430 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0430\u0442 \u0447\u0440\u0435\u0437 JVM Interoperability.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0432\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u043c\u043e\u0434\u0435\u0440\u043d\u0438\u0437\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0430, \u0431\u0435\u0437 \u0434\u0430 \u0441\u0435 \u043d\u0430\u043b\u0430\u0433\u0430 \u0446\u044f\u043b\u043e\u0441\u0442\u043d\u043e \u043f\u0440\u0435\u043d\u0430\u043f\u0438\u0441\u0432\u0430\u043d\u0435.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Kotlin \u0438 Java \u0441\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0430\u0442 \u0434\u043e JVM Bytecode.<\/li>\n\n\n\n<li>Kotlin \u0435 \u043d\u0430\u043f\u044a\u043b\u043d\u043e interoperable \u0441 Java, \u043d\u043e \u0438\u043c\u0430 \u043d\u044f\u043a\u043e\u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u0442\u043e \u043c\u0435\u0436\u0434\u0443 \u0442\u0438\u043f\u043e\u0432\u0435\u0442\u0435.<\/li>\n\n\n\n<li>Java \u0438\u043c\u0430 <code>record<\/code>, \u043a\u043e\u0439\u0442\u043e \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u043f\u043e\u043a\u0440\u0438\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 Kotlin <code>data class<\/code>.<\/li>\n\n\n\n<li>Java Virtual Threads (Java 21+) \u0443\u043b\u0435\u0441\u043d\u044f\u0432\u0430\u0442 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043c\u0430\u0449\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u0438 concurrent \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/li>\n\n\n\n<li>Kotlin Coroutines \u0438 Java Virtual Threads \u0441\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0438 \u043d\u0435 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u0435 \u0440\u0430\u0437\u0433\u043b\u0435\u0436\u0434\u0430\u0442 \u043a\u0430\u0442\u043e \u0435\u0434\u043d\u043e \u0438 \u0441\u044a\u0449\u043e.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435: Kotlin \u043d\u0435 \u0437\u0430\u043c\u0435\u043d\u044f Java. \u0414\u0432\u0430\u0442\u0430 \u0435\u0437\u0438\u043a\u0430 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u044f\u0442 \u0437\u0430\u0435\u0434\u043d\u043e \u0432 \u0435\u0434\u043d\u0430 JVM \u0441\u0438\u0441\u0442\u0435\u043c\u0430. \u0418\u0437\u0431\u043e\u0440\u044a\u0442 \u0437\u0430\u0432\u0438\u0441\u0438 \u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0435\u043a\u0438\u043f\u0430, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430\u0442\u0430 \u0438 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449\u0430\u0442\u0430 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u043d\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u044a\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0438\u0442\u0435 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 (Modern Features Comparison): Kotlin vs Java<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418 \u0434\u0432\u0430\u0442\u0430 \u0435\u0437\u0438\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u044f\u0442 \u0432\u044a\u0440\u0445\u0443 JVM (Java Virtual Machine) \u0438 \u0438\u043c\u0430\u0442 \u0441\u0445\u043e\u0434\u043d\u0438 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u043d\u043e \u0441\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0432\u0430\u0442 \u043f\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441, \u0442\u0438\u043f\u043e\u0432\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0438 \u043d\u0430\u0447\u0438\u043d \u043d\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442\u0438<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442<\/th><th>Kotlin<\/th><th>Java<\/th><\/tr><tr><td>Null Safety<\/td><td>\u0412\u0433\u0440\u0430\u0434\u0435\u043d\u0430 \u0437\u0430\u0449\u0438\u0442\u0430 \u043e\u0442 <code>null<\/code> \u0447\u0440\u0435\u0437 nullable (<code>String?<\/code>) \u0438 non-nullable (<code>String<\/code>) \u0442\u0438\u043f\u043e\u0432\u0435.<\/td><td>\u041d\u044f\u043c\u0430 \u0432\u0433\u0440\u0430\u0434\u0435\u043d\u0430 Null Safety \u0441\u0438\u0441\u0442\u0435\u043c\u0430. \u0420\u0430\u0437\u0447\u0438\u0442\u0430 \u043d\u0430 annotations \u0438 \u0434\u043e\u0431\u0440\u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438.<\/td><\/tr><tr><td>Data Classes<\/td><td><code>data class<\/code> \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430 <code>equals()<\/code>, <code>hashCode()<\/code>, <code>toString()<\/code> \u0438 \u0434\u0440\u0443\u0433\u0438 \u043c\u0435\u0442\u043e\u0434\u0438.<\/td><td>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u0440\u044a\u0447\u043d\u0430 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f, <code>record<\/code> (\u043e\u0442 Java 16) \u0438\u043b\u0438 IDE \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f.<\/td><\/tr><tr><td>Coroutines \/ Concurrency<\/td><td>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 Coroutines \u0437\u0430 \u043b\u0435\u043a\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0438 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u043e\u0441\u0442.<\/td><td>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Threads, <code>CompletableFuture<\/code> \u0438 Virtual Threads (\u043e\u0442 Java 21).<\/td><\/tr><tr><td>Extension Functions<\/td><td>\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0434\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u044a\u043c \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449\u0438 \u0442\u0438\u043f\u043e\u0432\u0435 \u0431\u0435\u0437 \u043f\u0440\u043e\u043c\u044f\u043d\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0438\u044f \u043a\u043b\u0430\u0441.<\/td><td>\u041d\u044f\u043c\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u0430 \u043f\u043e\u0434\u0434\u0440\u044a\u0436\u043a\u0430. \u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0441\u0435 Utility Classes \u0438 static methods.<\/td><\/tr><tr><td>Smart Casts<\/td><td>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u0442\u0438\u043f\u0430 \u0441\u043b\u0435\u0434 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430, \u043a\u043e\u0433\u0430\u0442\u043e \u0442\u043e\u0432\u0430 \u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e.<\/td><td>\u041d\u044f\u043c\u0430 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442, \u043d\u043e \u0438\u043c\u0430 Pattern Matching \u0437\u0430 <code>instanceof<\/code> (\u043e\u0442 Java 16).<\/td><\/tr><tr><td>Checked Exceptions<\/td><td>\u041d\u044f\u043c\u0430 Checked Exceptions.<\/td><td>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 Checked \u0438 Unchecked Exceptions.<\/td><\/tr><tr><td>Type Inference<\/td><td>\u0421\u0438\u043b\u043d\u043e Type Inference, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>val x = 5<\/code>.<\/td><td>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 <code>var<\/code> \u0437\u0430 \u043b\u043e\u043a\u0430\u043b\u043d\u0438 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0438 (\u043e\u0442 Java 10), \u043a\u0430\u043a\u0442\u043e \u0438 Type Inference \u0432 \u0434\u0440\u0443\u0433\u0438 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0438.<\/td><\/tr><tr><td>Semicolons<\/td><td>\u041d\u0435 \u0441\u0430 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u0438.<\/td><td>\u041e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0441\u0430 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u0438 \u0432 \u043a\u0440\u0430\u044f \u043d\u0430 statements.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e \u0443\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435: Java \u0432\u0435\u0447\u0435 \u0438\u043c\u0430 <code>record<\/code>, Pattern Matching \u0438 Virtual Threads. \u0417\u0430\u0442\u043e\u0432\u0430 \u043d\u044f\u043a\u043e\u0438 \u043e\u0442 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u0438\u0442\u0435 \u043f\u0440\u0435\u0434\u0438\u043c\u0441\u0442\u0432\u0430 \u043d\u0430 Kotlin \u0432\u0435\u0447\u0435 \u0438\u043c\u0430\u0442 \u0447\u0430\u0441\u0442\u0438\u0447\u0435\u043d \u0438\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0435\u043d \u0435\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442 \u0432 \u0441\u044a\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u0442\u0430 Java.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. \u041a\u043e\u0433\u0430 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u043c Kotlin?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 Kotlin, \u043a\u043e\u0433\u0430\u0442\u043e:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442\u0435 \u043d\u043e\u0432\u0438 Android \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/li>\n\n\n\n<li>\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u0442\u0435 \u0441\u044a\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0438 Microservices \u0441\u044a\u0441 Spring Boot \u0438\u043b\u0438 Ktor.<\/li>\n\n\n\n<li>\u0418\u0441\u043a\u0430\u0442\u0435 \u043f\u043e-\u043a\u0440\u0430\u0442\u044a\u043a \u0438 \u0438\u0437\u0440\u0430\u0437\u0438\u0442\u0435\u043b\u0435\u043d \u043a\u043e\u0434 \u0441 \u043f\u043e-\u043c\u0430\u043b\u043a\u043e Boilerplate.<\/li>\n\n\n\n<li>\u0418\u043c\u0430\u0442\u0435 \u043d\u0443\u0436\u0434\u0430 \u043e\u0442 \u043f\u043e-\u0434\u043e\u0431\u0440\u0430 \u0437\u0430\u0449\u0438\u0442\u0430 \u0441\u0440\u0435\u0449\u0443 <code>NullPointerException<\/code>.<\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 Coroutines \u0437\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0438 \u0438 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/li>\n\n\n\n<li>\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u0442\u0435 \u043c\u043d\u043e\u0433\u043e DTO \u0438 Domain Models, \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438 \u0437\u0430 <code>data class<\/code>.\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 Kotlin \u0438 \u043a\u043e\u0433\u0430\u0442\u043e:<\/li>\n\n\n\n<li>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442\u0435 \u043c\u043e\u0431\u0438\u043b\u043d\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0437\u0430 Android \u0438 iPhone.<\/li>\n\n\n\n<li>\u0418\u0441\u043a\u0430\u0442\u0435 \u0434\u0430 \u0441\u043f\u043e\u0434\u0435\u043b\u044f\u0442\u0435 Business Logic \u043c\u0435\u0436\u0434\u0443 Android \u0438 iOS.<\/li>\n\n\n\n<li>\u0418\u0441\u043a\u0430\u0442\u0435 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u043e\u0431\u0449 \u043a\u043e\u0434 \u0437\u0430 Networking, Database \u0438 Data Models.<\/li>\n\n\n\n<li>\u0418\u0441\u043a\u0430\u0442\u0435 \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u0442\u0435 Cross-platform \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0447\u0440\u0435\u0437 Compose Multiplatform, \u0431\u0435\u0437 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u043e \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 Flutter \u0438\u043b\u0438 React Native.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u0414\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u0438 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 Kotlin \u2013 Mobile Development<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Kotlin \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u043d\u0435 \u043d\u0430 \u043c\u043e\u0431\u0438\u043b\u043d\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a\u0430\u043a\u0442\u043e \u0437\u0430 Android, \u0442\u0430\u043a\u0430 \u0438 \u0437\u0430 iPhone (iOS) \u0447\u0440\u0435\u0437 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u0442\u0430 Kotlin Multiplatform (KMP).<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Android: Kotlin \u0435 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u043d\u043e \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u043d \u0438 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u043d \u0435\u0437\u0438\u043a \u0437\u0430 Android Development. \u041c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441 Android Studio \u0438 Jetpack Compose.<\/li>\n\n\n\n<li>iPhone (iOS): \u0427\u0440\u0435\u0437 Kotlin Multiplatform \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0441\u043f\u043e\u0434\u0435\u043b\u044f \u043e\u0431\u0449 \u043a\u043e\u0434 \u043c\u0435\u0436\u0434\u0443 Android \u0438 iOS \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0442\u0430 \u2013 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 Business Logic, Networking, Data Models \u0438 Database Access.<\/li>\n\n\n\n<li>Cross-platform Development: Kotlin Multiplatform \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u043a\u043e\u0434 \u043c\u0435\u0436\u0434\u0443 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0438, \u043a\u0430\u0442\u043e \u0441\u044a\u0449\u0435\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0437\u0430\u043f\u0430\u0437\u0432\u0430 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0442\u0430 \u0437\u0430 Native UI.<\/li>\n\n\n\n<li>Compose Multiplatform: \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0438\u0437\u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0435 \u043d\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0441\u043a\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0438 \u0437\u0430 Android, iOS, Desktop \u0438 Web \u0441 \u043e\u0431\u0449 Kotlin \u043a\u043e\u0434.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: Kotlin \u043d\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d Android \u043a\u043e\u0434 \u0437\u0430 iPhone. \u0417\u0430 iOS Kotlin Multiplatform \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Kotlin\/Native, \u043a\u043e\u0439\u0442\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430 Native \u043a\u043e\u0434 \u0437\u0430 Apple \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0438\u0442\u0435. \u0417\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 iOS \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c macOS \u0441 Xcode.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. \u041a\u043e\u0433\u0430 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u043c Java?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 Java, \u043a\u043e\u0433\u0430\u0442\u043e:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u0442\u0435 \u0438\u043b\u0438 \u0440\u0430\u0437\u0448\u0438\u0440\u044f\u0432\u0430\u0442\u0435 \u0433\u043e\u043b\u0435\u043c\u0438 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449\u0438 Enterprise \u0441\u0438\u0441\u0442\u0435\u043c\u0438.<\/li>\n\n\n\n<li>\u0415\u043a\u0438\u043f\u044a\u0442 \u0432\u0438 \u0438\u043c\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u043e Java Developers.<\/li>\n\n\n\n<li>\u041f\u0440\u043e\u0435\u043a\u0442\u044a\u0442 \u0438\u0437\u0438\u0441\u043a\u0432\u0430 \u043a\u043e\u043d\u0441\u0435\u0440\u0432\u0430\u0442\u0438\u0432\u0435\u043d \u0438 \u0434\u044a\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u043e \u0443\u0442\u0432\u044a\u0440\u0434\u0435\u043d \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u043d \u0438\u0437\u0431\u043e\u0440.<\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, Frameworks \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0438 \u0441 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u0430 \u043f\u043e\u0434\u0434\u0440\u044a\u0436\u043a\u0430 \u043d\u0430 Java.<\/li>\n\n\n\n<li>\u0420\u0430\u0437\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u0435 \u0441 \u0443\u0442\u0432\u044a\u0440\u0434\u0435\u043d\u0438 Java Development \u043f\u0440\u043e\u0446\u0435\u0441\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0438.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. \u041a\u043e\u0439 \u0435\u0437\u0438\u043a \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430 \u043d\u043e\u0432\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438, \u043e\u0441\u043e\u0431\u0435\u043d\u043e \u043f\u0440\u0438 Back-end Services, Cloud Microservices \u0438 Android Applications, Kotlin \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043c\u043d\u043e\u0433\u043e \u0434\u043e\u0431\u044a\u0440 \u0438\u0437\u0431\u043e\u0440.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u0438\u0442\u0435 \u043c\u0443 \u043f\u0440\u0435\u0434\u0438\u043c\u0441\u0442\u0432\u0430 \u0441\u0430:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u043e-\u043a\u0440\u0430\u0442\u044a\u043a \u0438 \u0447\u0435\u0442\u0438\u043c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441.<\/li>\n\n\n\n<li>\u0412\u0433\u0440\u0430\u0434\u0435\u043d\u0430 Null Safety.<\/li>\n\n\n\n<li><code>data class<\/code> \u0437\u0430 DTO \u0438 Domain Objects.<\/li>\n\n\n\n<li>Coroutines \u0437\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430.<\/li>\n\n\n\n<li>\u041e\u0442\u043b\u0438\u0447\u043d\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441\u044a\u0441 Spring Boot \u0438 JVM Frameworks.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430 \u0433\u043e\u043b\u0435\u043c\u0438 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449\u0438 Java \u043f\u0440\u043e\u0435\u043a\u0442\u0438 \u0438 Enterprise \u0441\u0438\u0441\u0442\u0435\u043c\u0438 Java \u0447\u0435\u0441\u0442\u043e \u043e\u0441\u0442\u0430\u0432\u0430 \u043f\u043e-\u043f\u0440\u0430\u043a\u0442\u0438\u0447\u043d\u0438\u044f\u0442 \u0438\u0437\u0431\u043e\u0440 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0435\u043d\u0438\u0435 \u043d\u0430:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041e\u0433\u0440\u043e\u043c\u043d\u0430 \u0435\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043e\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438.<\/li>\n\n\n\n<li>\u0417\u0440\u0435\u043b\u0438 Development Tools \u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f.<\/li>\n\n\n\n<li>\u0413\u043e\u043b\u044f\u043c \u0431\u0440\u043e\u0439 \u043e\u043f\u0438\u0442\u043d\u0438 Java Developers.<\/li>\n\n\n\n<li>\u0414\u044a\u043b\u0433\u043e\u0433\u043e\u0434\u0438\u0448\u043d\u0430 \u0441\u0442\u0430\u0431\u0438\u043b\u043d\u043e\u0441\u0442 \u0438 \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">5. \u0421\u043c\u0435\u0441\u0435\u043d \u043f\u043e\u0434\u0445\u043e\u0434 (Java + Kotlin)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0430\u043b\u043d\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438 \u043d\u0430\u0439-\u0434\u043e\u0431\u0440\u043e\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0434\u0432\u0430\u0442\u0430 \u0435\u0437\u0438\u043a\u0430 \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0421\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449\u0438\u0442\u0435 Legacy Modules \u043e\u0441\u0442\u0430\u0432\u0430\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438 \u043d\u0430 Java.<\/li>\n\n\n\n<li>\u041d\u043e\u0432\u0438\u0442\u0435 Services \u0438 Components \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u043d\u0438 \u043d\u0430 Kotlin.<\/li>\n\n\n\n<li>\u0414\u0432\u0430\u0442\u0430 \u0435\u0437\u0438\u043a\u0430 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0430\u0442 \u0447\u0440\u0435\u0437 JVM Interoperability.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0432\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u043c\u043e\u0434\u0435\u0440\u043d\u0438\u0437\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0430, \u0431\u0435\u0437 \u0434\u0430 \u0441\u0435 \u043d\u0430\u043b\u0430\u0433\u0430 \u0446\u044f\u043b\u043e\u0441\u0442\u043d\u043e \u043f\u0440\u0435\u043d\u0430\u043f\u0438\u0441\u0432\u0430\u043d\u0435.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Kotlin \u0438 Java \u0441\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0430\u0442 \u0434\u043e JVM Bytecode.<\/li>\n\n\n\n<li>Kotlin \u0435 \u043d\u0430\u043f\u044a\u043b\u043d\u043e interoperable \u0441 Java, \u043d\u043e \u0438\u043c\u0430 \u043d\u044f\u043a\u043e\u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u0442\u043e \u043c\u0435\u0436\u0434\u0443 \u0442\u0438\u043f\u043e\u0432\u0435\u0442\u0435.<\/li>\n\n\n\n<li>Java \u0438\u043c\u0430 <code>record<\/code>, \u043a\u043e\u0439\u0442\u043e \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u043f\u043e\u043a\u0440\u0438\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 Kotlin <code>data class<\/code>.<\/li>\n\n\n\n<li>Java Virtual Threads (Java 21+) \u0443\u043b\u0435\u0441\u043d\u044f\u0432\u0430\u0442 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043c\u0430\u0449\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u0438 concurrent \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/li>\n\n\n\n<li>Kotlin Coroutines \u0438 Java Virtual Threads \u0441\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0438 \u043d\u0435 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u0435 \u0440\u0430\u0437\u0433\u043b\u0435\u0436\u0434\u0430\u0442 \u043a\u0430\u0442\u043e \u0435\u0434\u043d\u043e \u0438 \u0441\u044a\u0449\u043e.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435: Kotlin \u043d\u0435 \u0437\u0430\u043c\u0435\u043d\u044f Java. \u0414\u0432\u0430\u0442\u0430 \u0435\u0437\u0438\u043a\u0430 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u044f\u0442 \u0437\u0430\u0435\u0434\u043d\u043e \u0432 \u0435\u0434\u043d\u0430 JVM \u0441\u0438\u0441\u0442\u0435\u043c\u0430. \u0418\u0437\u0431\u043e\u0440\u044a\u0442 \u0437\u0430\u0432\u0438\u0441\u0438 \u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0435\u043a\u0438\u043f\u0430, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430\u0442\u0430 \u0438 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449\u0430\u0442\u0430 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u043d\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u041a\u0430\u043a\u0432\u043e \u043c\u043e\u0436\u0435 JBoss \/ WildFly, \u043a\u043e\u0435\u0442\u043e Spring Boot \u043d\u0435 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0437\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441\u0440\u0430\u0432\u043d\u044f\u0432\u0430 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438\u0442\u0435 \u043d\u0430 JBoss \/ WildFly \u0438 Spring Boot. \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u0442\u0430 \u0440\u0430\u0437\u043b\u0438\u043a\u0430 \u0435, \u0447\u0435 JBoss \/ WildFly \u0435 \u043f\u044a\u043b\u043d\u043e\u0446\u0435\u043d\u0435\u043d Application Server, \u0434\u043e\u043a\u0430\u0442\u043e Spring Boot \u0435 Application Framework, \u043a\u043e\u0439\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0438\u0437\u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u043d\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u044a\u0441 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d \u0432\u0433\u0440\u0430\u0434\u0435\u043d Runtime.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e \u0435 \u0434\u0430 \u0441\u0435 \u043e\u0442\u0431\u0435\u043b\u0435\u0436\u0438, \u0447\u0435 Spring Boot \u043c\u043e\u0436\u0435 \u0434\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0438\u0440\u0430 \u043c\u043d\u043e\u0433\u043e \u043e\u0442 \u0442\u0435\u0437\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442\u0438 \u0447\u0440\u0435\u0437 \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438, \u043d\u043e \u043d\u0435 \u0433\u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u043a\u0430\u0442\u043e \u0435\u0434\u0438\u043d\u0435\u043d \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u0430\u043d Application Server Container.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u041f\u044a\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0438 Java EE \/ Jakarta EE Container Services<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">JBoss \u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0430\u043d Application Server \u0441 \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0430\u043d\u0438 Enterprise \u0443\u0441\u043b\u0443\u0433\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CDI Container \u2013 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 Dependency Injection, Scopes \u0438 Portable Extensions.<\/li>\n\n\n\n<li>EJB Container \u2013 \u043f\u043e\u0434\u0434\u0440\u044a\u0436\u043a\u0430 \u043d\u0430 Stateful \u0438 Stateless Beans, Remote EJB Calls \u0438 EJB Timers.<\/li>\n\n\n\n<li>Container-managed JTA \u2013 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438, \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u043d\u043e XA Transactions \u043c\u0435\u0436\u0434\u0443 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u0430.<\/li>\n\n\n\n<li>JCA Resource Adapters \u2013 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u0432\u044a\u043d\u0448\u043d\u0438 \u0438 Legacy \u0441\u0438\u0441\u0442\u0435\u043c\u0438.<\/li>\n\n\n\n<li>Jakarta Messaging (JMS) \u2013 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d\u0435 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 Messaging Services \u043d\u0430 \u043d\u0438\u0432\u043e \u0441\u044a\u0440\u0432\u044a\u0440.<\/li>\n\n\n\n<li>Jakarta Security \u2013 Container-managed Security \u0438 Security Realms.<\/li>\n\n\n\n<li>JSF, JAX-RS, JAX-WS, JPA \u2013 \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0430\u043d\u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0437\u0430 Web Applications, REST Services, SOAP Services \u0438 Persistence.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 Spring Boot: \u0442\u0435\u0437\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442\u0438 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d\u0438 \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u043e \u0438\u043b\u0438 \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u0438 \u0441\u044a\u0441 \u0441\u044a\u043e\u0442\u0432\u0435\u0442\u043d\u0438\u0442\u0435 Spring \u0440\u0435\u0448\u0435\u043d\u0438\u044f. \u041d\u044f\u043a\u043e\u0438 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u043a\u0430\u0442\u043e Remote EJB \u0438 JCA, \u043d\u044f\u043c\u0430\u0442 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d \u0435\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442 \u0432 \u0442\u0438\u043f\u0438\u0447\u043d\u0438\u0442\u0435 Spring Boot \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. \u0421\u043f\u043e\u0434\u0435\u043b\u0435\u043d\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u043d\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 (Server-Wide Shared Infrastructure)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">JBoss \u043c\u043e\u0436\u0435 \u0434\u0430 \u0445\u043e\u0441\u0442\u0432\u0430 \u0438 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u043e \u0434\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043a\u043e\u0438\u0442\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u043e\u0431\u0449\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Shared Datasources \u2013 \u0441\u043f\u043e\u0434\u0435\u043b\u0435\u043d\u0438 JDBC Connection Pools \u0438 XA Pools.<\/li>\n\n\n\n<li>Shared JMS Queues \/ Topics \u2013 \u043e\u0431\u0449\u0438 Messaging \u0440\u0435\u0441\u0443\u0440\u0441\u0438.<\/li>\n\n\n\n<li>Shared Security Realms \u2013 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0430 \u0430\u0432\u0442\u0435\u043d\u0442\u0438\u043a\u0430\u0446\u0438\u044f \u0447\u0440\u0435\u0437 LDAP, Kerberos \u0438\u043b\u0438 \u0444\u0430\u0439\u043b\u043e\u0432\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0438.<\/li>\n\n\n\n<li>Server-level Thread Pools \u2013 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 Thread Pools \u0438 Work Managers.<\/li>\n\n\n\n<li>Central Logging Configuration \u2013 \u043e\u0431\u0449\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043d\u0430 Logging \u0437\u0430 \u0432\u0441\u0438\u0447\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/li>\n\n\n\n<li>JGroups Clustering \u2013 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043a\u043b\u044a\u0441\u0442\u0435\u0440\u0438 \u0438 Session Replication.<\/li>\n\n\n\n<li>Global Transaction Manager \u2013 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 Spring Boot: \u0432\u0441\u044f\u043a\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u0438\u0442\u0435 \u0441\u0438 DataSources, JMS Connections, Logging \u0438 \u0434\u0440\u0443\u0433\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0438. \u0421\u043f\u043e\u0434\u0435\u043b\u044f\u043d\u0435\u0442\u043e \u0435 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u043e \u0441\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0438\u0440\u0430 \u0447\u0440\u0435\u0437 \u0432\u044a\u043d\u0448\u043d\u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u0438 \u0443\u0441\u043b\u0443\u0433\u0438 \u0438\u043b\u0438 \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Enterprise Packaging: EAR Modules \u0438 Multi-Module Deployment<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">JBoss \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u0438\u044f Enterprise Deployment Model, \u043a\u043e\u0439\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043e\u0431\u0435\u0434\u0438\u043d\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043c\u043e\u0434\u0443\u043b\u0438 \u0432 \u0435\u0434\u043d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>EAR Packaging (Enterprise Archive) \u2013 \u0435\u0434\u0438\u043d EAR \u0444\u0430\u0439\u043b \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e WAR \u0438 JAR \u043c\u043e\u0434\u0443\u043b\u0438.<\/li>\n\n\n\n<li>Shared Classloader \u2013 \u0441\u043f\u043e\u0434\u0435\u043b\u044f\u043d\u0435 \u043d\u0430 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u043c\u0435\u0436\u0434\u0443 \u043e\u0442\u0434\u0435\u043b\u043d\u0438 \u043c\u043e\u0434\u0443\u043b\u0438 \u0441\u043f\u043e\u0440\u0435\u0434 \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u0442\u0430 \u043d\u0430 ClassLoader \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430\u0442\u0430.<\/li>\n\n\n\n<li>Version Isolation \u2013 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0432\u0435\u0440\u0441\u0438\u0438 \u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 App A \u0441 Hibernate 5 \u0438 App B \u0441 Hibernate 6.<\/li>\n\n\n\n<li>Hot Redeploy \u2013 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e Deployment \u043d\u0430 EAR\/WAR \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0431\u0435\u0437 \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0446\u0435\u043b\u0438\u044f Application Server.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Spring Boot: \u043e\u0431\u0438\u0447\u0430\u0439\u043d\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Executable JAR (Fat JAR) \u0438\u043b\u0438 WAR. \u0412\u0441\u044f\u043a\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0441\u0435 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430 \u043a\u0430\u0442\u043e \u043e\u0442\u0434\u0435\u043b\u0435\u043d \u043f\u0440\u043e\u0446\u0435\u0441. \u041d\u044f\u043c\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430 \u043f\u043e\u0434\u0434\u0440\u044a\u0436\u043a\u0430 \u043d\u0430 EAR Deployment Model \u043a\u0430\u0442\u043e \u043f\u0440\u0438 JBoss.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. JBoss-Specific Management &amp; Subsystems<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">JBoss \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0438 \u0437\u0430 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u0430\u043d\u0435 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0446\u0435\u043b\u0438\u044f Application Server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Management CLI \u2013 \u043a\u043e\u043c\u0430\u043d\u0434\u0435\u043d \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0437\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u0430.<\/li>\n\n\n\n<li>HTTP Management API \u2013 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u043d\u0430\u0442\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0447\u0440\u0435\u0437 HTTP API.<\/li>\n\n\n\n<li>Server Configuration \u2013 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 Datasources, Security Realms, JMS \u0438 Modules.<\/li>\n\n\n\n<li>Domain Mode \u2013 \u0435\u0434\u0438\u043d Domain Controller \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e JBoss Servers.<\/li>\n\n\n\n<li>Clustering Subsystems \u2013 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 JGroups \u0438 Infinispan \u0437\u0430 Cluster Management \u0438 Distributed Caching.<\/li>\n\n\n\n<li>Subsystem-based Configuration \u2013 \u043e\u0442\u0434\u0435\u043b\u043d\u0438 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0438 \u0437\u0430 Messaging, Naming, Transactions \u0438 \u0434\u0440\u0443\u0433\u0438 \u0443\u0441\u043b\u0443\u0433\u0438.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Spring Boot: \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u041d\u044f\u043c\u0430 \u0432\u0433\u0440\u0430\u0434\u0435\u043d \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0435\u043d Server Management \u043c\u043e\u0434\u0435\u043b, \u0435\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u0435\u043d \u043d\u0430 JBoss Domain Mode.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. \u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0438\u0442\u043e \u0441\u0430 \u0442\u0440\u0443\u0434\u043d\u0438 \u0438\u043b\u0438 \u043d\u0435\u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u0438 \u0437\u0430 Spring Boot<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043b\u0435\u0434\u043d\u0438\u0442\u0435 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0441\u0430 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u0430 \u0447\u0430\u0441\u0442 \u043e\u0442 JBoss, \u043d\u043e \u0438\u0437\u0438\u0441\u043a\u0432\u0430\u0442 \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0438\u043b\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u0435\u043d \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435\u043d \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u0440\u0438 Spring Boot:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Remote EJB \u2013 \u043e\u0442\u0434\u0430\u043b\u0435\u0447\u0435\u043d\u0438 \u0438\u0437\u0432\u0438\u043a\u0432\u0430\u043d\u0438\u044f \u043d\u0430 EJB \u043c\u0435\u0442\u043e\u0434\u0438 \u0447\u0440\u0435\u0437 RMI-\u0431\u0430\u0437\u0438\u0440\u0430\u043d \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u044a\u043c.<\/li>\n\n\n\n<li>JCA Connectors \u2013 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0436\u0438\u0437\u043d\u0435\u043d\u0438\u044f \u0446\u0438\u043a\u044a\u043b \u0438 Connection Pooling \u043e\u0442 Application Server.<\/li>\n\n\n\n<li>Multiple Enterprise Applications in One JVM \u2013 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e Enterprise \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0435\u0434\u043d\u0430 JVM \u0441\u044a\u0441 \u0441\u043f\u043e\u0434\u0435\u043b\u0435\u043d\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0438.<\/li>\n\n\n\n<li>Container-managed Security \u2013 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0430 Security \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0437\u0430 JSF \u0438 EJB \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/li>\n\n\n\n<li>EJB Timers with HA Failover \u2013 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u0430\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 Timers \u0441 High Availability \u0438 Failover.<\/li>\n\n\n\n<li>Central JTA\/XA Management \u2013 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043c\u0435\u0436\u0434\u0443 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0438.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Spring \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430 \u0430\u043b\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0438 \u0437\u0430 \u043c\u043d\u043e\u0433\u043e \u043e\u0442 \u0442\u0435\u0437\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442\u0438, \u043d\u043e \u0442\u0435 \u043d\u0435 \u0441\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u0430\u043d\u0438 \u043f\u043e \u0441\u044a\u0449\u0438\u044f \u043d\u0430\u0447\u0438\u043d \u043a\u0430\u0442\u043e Jakarta EE Container Services.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. \u0417\u0430\u0449\u043e \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0442 \u0442\u0435\u0437\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f? (Conceptual Explanation)<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>JBoss \/ WildFly<\/th><th>Spring Boot<\/th><\/tr><tr><td>Java EE \/ Jakarta EE Application Server<\/td><td>Application Framework + Embedded Runtime<\/td><\/tr><tr><td>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0442\u0430 \u0441\u0435 Deployment-\u0432\u0430\u0442 \u0432\u044a\u0440\u0445\u0443 \u0441\u044a\u0440\u0432\u044a\u0440\u0430.<\/td><td>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u0442\u043e \u0441\u044a\u0434\u044a\u0440\u0436\u0430 Embedded Server (Tomcat, Jetty \u0438\u043b\u0438 Undertow).<\/td><\/tr><tr><td>\u0421\u043f\u043e\u0434\u0435\u043b\u0435\u043d\u0430 Server-wide Infrastructure.<\/td><td>\u041e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0432\u0441\u044f\u043a\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0435 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e.<\/td><\/tr><tr><td>\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/td><td>\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u043d\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0443\u0441\u043b\u0443\u0433\u0438.<\/td><\/tr><tr><td>\u041f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u0437\u0430 Enterprise \u0438 Legacy Systems.<\/td><td>\u041f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u0437\u0430 Microservices \u0438 Cloud-native Development.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">7. \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u2013 \u043a\u043e\u0433\u0430 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u043c JBoss \u0438\u043b\u0438 Spring Boot?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 JBoss \/ WildFly, \u043a\u043e\u0433\u0430\u0442\u043e:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u0442\u0435 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449\u0438 EJB \/ EAR \/ JSF \/ JCA \u0441\u0438\u0441\u0442\u0435\u043c\u0438.<\/li>\n\n\n\n<li>\u0418\u043c\u0430\u0442\u0435 \u043d\u0443\u0436\u0434\u0430 \u043e\u0442 Container-managed JTA\/XA \u043c\u0435\u0436\u0434\u0443 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u0438.<\/li>\n\n\n\n<li>Deployment-\u0432\u0430\u0442\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e Enterprise \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u044a\u0441 \u0441\u043f\u043e\u0434\u0435\u043b\u0435\u043d\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f.<\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 Remote EJB \u0438\u043b\u0438 Server-managed Security Realms.<\/li>\n\n\n\n<li>\u0418\u043c\u0430\u0442\u0435 \u043d\u0443\u0436\u0434\u0430 \u043e\u0442 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 Clustering, Messaging \u0438 JMS.<\/li>\n\n\n\n<li>\u0420\u0430\u0431\u043e\u0442\u0438\u0442\u0435 \u0441 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u0430 Enterprise Java EE \/ Jakarta EE \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 Spring Boot, \u043a\u043e\u0433\u0430\u0442\u043e:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442\u0435 \u043d\u043e\u0432\u0438 Microservices (REST APIs, Cloud-native Applications).<\/li>\n\n\n\n<li>\u0418\u0441\u043a\u0430\u0442\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0430, \u0431\u044a\u0440\u0437\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442 \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u043d\u0438\u0442\u0435 Services.<\/li>\n\n\n\n<li>\u041d\u044f\u043c\u0430\u0442\u0435 \u043d\u0443\u0436\u0434\u0430 \u043e\u0442 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u0438\u044f Java EE Deployment Model (EAR, EJB, JCA).<\/li>\n\n\n\n<li>\u0418\u0441\u043a\u0430\u0442\u0435 \u0434\u0430 \u0438\u0437\u0431\u0435\u0433\u043d\u0435\u0442\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 \u0442\u0435\u0436\u043a\u0438\u0442\u0435 Application Servers.<\/li>\n\n\n\n<li>Deployment-\u0432\u0430\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 Kubernetes, Docker \u0438\u043b\u0438 Cloud Platforms.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435 \u0442\u0440\u0438\u0442\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u0438 \u0440\u0430\u0437\u043b\u0438\u043a\u0438:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>JBoss \/ WildFly \u0435 Application Server, \u043a\u043e\u0439\u0442\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f Jakarta EE Container Services. Spring Boot \u0435 Application Framework.<\/li>\n\n\n\n<li>JBoss \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0442\u0430 \u0438 \u0442\u0435\u0445\u043d\u0438\u0442\u0435 \u043e\u0431\u0449\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0438 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u043e, \u0434\u043e\u043a\u0430\u0442\u043e Spring Boot \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u043d\u0430\u0441\u044a\u0440\u0447\u0430\u0432\u0430 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/li>\n\n\n\n<li>Spring Boot \u043d\u0435 \u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d \u0434\u043e Microservices \u2013 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0438 \u0437\u0430 \u0433\u043e\u043b\u0435\u043c\u0438 Monolithic Enterprise Applications.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434: JBoss \/ WildFly \u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u0437\u0430 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u0438 Enterprise \u0441\u0438\u0441\u0442\u0435\u043c\u0438, \u043a\u043e\u0438\u0442\u043e \u0440\u0430\u0437\u0447\u0438\u0442\u0430\u0442 \u043d\u0430 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0438 Container Services. Spring Boot \u0435 \u043f\u043e-\u0433\u044a\u0432\u043a\u0430\u0432 \u0438\u0437\u0431\u043e\u0440 \u0437\u0430 \u0441\u044a\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043f\u0440\u0438 \u043a\u043e\u0438\u0442\u043e \u0441\u0435 \u0442\u044a\u0440\u0441\u044f\u0442 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442, \u043b\u0435\u0441\u043d\u043e Deployment \u0438 Microservices Architecture.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">JVM (Java Virtual Machine)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">JVM (Java Virtual Machine) \u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u0430, \u043a\u043e\u044f\u0442\u043e \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 Java Bytecode. \u0422\u044f \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442 \u043d\u0430 Java \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0442\u0430 \u043e\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0430\u0442\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0438\u0442\u0435, \u043f\u0430\u043c\u0435\u0442\u0442\u0430 \u0438 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043a\u043b\u0430\u0441\u043e\u0432\u0435\u0442\u0435.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u041a\u043e\u043c\u043f\u0438\u043b\u0430\u0446\u0438\u044f (Compilation)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0433\u0430\u0442\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0430\u043c\u0435 <code>.java<\/code> \u0444\u0430\u0439\u043b, Java Compiler (<code>javac<\/code>) \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430 \u0435\u0434\u0438\u043d \u0438\u043b\u0438 \u043f\u043e\u0432\u0435\u0447\u0435 <code>.class<\/code> \u0444\u0430\u0439\u043b\u043e\u0432\u0435, \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u0449\u0438 Bytecode (\u043c\u0435\u0436\u0434\u0438\u043d\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043d\u0438\u044f \u043a\u043e\u0434).<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bytecode \u0435 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c \u043e\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0430\u0442\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u043e\u0440\u043d\u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430.<\/li>\n\n\n\n<li>\u041c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 \u043d\u0430 \u0432\u0441\u044f\u043a\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043a\u043e\u044f\u0442\u043e \u0440\u0430\u0437\u043f\u043e\u043b\u0430\u0433\u0430 \u0441\u044a\u0441 \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430 JVM.<\/li>\n\n\n\n<li>\u0417\u0430 \u0440\u0430\u0437\u043b\u0438\u043a\u0430 \u043e\u0442 Native Machine Code, Bytecode \u043d\u0435 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e \u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u043e\u0440\u0430.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">javac Student.java<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u044a\u0442 \u0435:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Student.class<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">2. \u041f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0437\u0430 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435 \u043d\u0430 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 (Class Loader Subsystem)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Class Loader Subsystem \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f \u0437\u0430 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043a\u043b\u0430\u0441\u043e\u0432\u0435\u0442\u0435 \u0432 JVM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u0437\u0430\u0434\u0430\u0447\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0417\u0430\u0440\u0435\u0436\u0434\u0430 <code>.class<\/code> \u0444\u0430\u0439\u043b\u043e\u0432\u0435\u0442\u0435.<\/li>\n\n\n\n<li>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430 Bytecode \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044f\u043d\u0435\u0442\u043e \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438 \u043e\u0442 \u0434\u0430\u043d\u043d\u0438, \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0438 \u043e\u0442 JVM.<\/li>\n\n\n\n<li>\u0421\u044a\u0437\u0434\u0430\u0432\u0430 \u043e\u0431\u0435\u043a\u0442 \u043e\u0442 \u0442\u0438\u043f <code>Class<\/code>, \u043a\u043e\u0439\u0442\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044f \u0437\u0430\u0440\u0435\u0434\u0435\u043d\u0438\u044f \u043a\u043b\u0430\u0441.<\/li>\n\n\n\n<li>\u0421\u0432\u044a\u0440\u0437\u0432\u0430 \u0437\u0430\u0440\u0435\u0434\u0435\u043d\u0438\u044f \u043a\u043b\u0430\u0441 \u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438\u0442\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438 \u0432 \u043f\u0430\u043c\u0435\u0442\u0442\u0430.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Student s1 = new Student();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">Class&lt;?&gt; c1 = s1.getClass();<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0443\u043a <code>getClass()<\/code> \u0432\u0440\u044a\u0449\u0430 \u043e\u0431\u0435\u043a\u0442 \u043e\u0442 \u0442\u0438\u043f <code>Class<\/code>, \u043a\u043e\u0439\u0442\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0432\u0430 \u043a\u043b\u0430\u0441\u0430 <code>Student<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: \u0417\u0430\u0440\u0435\u0434\u0435\u043d\u0438\u044f\u0442 \u043a\u043b\u0430\u0441 \u043d\u0435 \u0441\u0435 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u043a\u0430\u0442\u043e \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d Java Object \u0432 Heap Memory. \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\u0442\u0430 \u0437\u0430 \u043a\u043b\u0430\u0441\u043e\u0432\u0435\u0442\u0435 \u0441\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 \u043e\u0442 JVM, \u0430 \u043e\u0431\u0435\u043a\u0442\u0438\u0442\u0435 \u043e\u0442 \u0442\u0438\u043f <code>Class<\/code> \u0441\u0430 \u0432 Heap.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. \u0421\u0432\u044a\u0440\u0437\u0432\u0430\u043d\u0435 (Linking)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Linking \u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u044a\u0442, \u043f\u0440\u0438 \u043a\u043e\u0439\u0442\u043e JVM \u043f\u043e\u0434\u0433\u043e\u0442\u0432\u044f \u0437\u0430\u0440\u0435\u0434\u0435\u043d\u0438\u044f \u043a\u043b\u0430\u0441 \u0437\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u043b \u04af\u0448 \u049b\u0430\u0434\u0430\u043c\u043d\u0430\u043d \u0442\u04b1\u0440\u0430\u0434\u044b:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u0421\u0442\u044a\u043f\u043a\u0430<\/th><th>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/th><\/tr><tr><td>Verification<\/td><td>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0432\u0430 \u0434\u0430\u043b\u0438 Bytecode \u0435 \u0432\u0430\u043b\u0438\u0434\u0435\u043d \u0438 \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f \u043d\u0430 \u0438\u0437\u0438\u0441\u043a\u0432\u0430\u043d\u0438\u044f\u0442\u0430 \u0437\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442 \u043d\u0430 JVM.<\/td><\/tr><tr><td>Preparation<\/td><td>\u0421\u044a\u0437\u0434\u0430\u0432\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438\u0442\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438 \u0438 \u0440\u0430\u0437\u043f\u0440\u0435\u0434\u0435\u043b\u044f \u043f\u0430\u043c\u0435\u0442 \u0437\u0430 Static Variables, \u043a\u0430\u0442\u043e \u0438\u043c \u0437\u0430\u0434\u0430\u0432\u0430 \u043d\u0430\u0447\u0430\u043b\u043d\u0438 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435.<\/td><\/tr><tr><td>Resolution<\/td><td>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430 Symbolic References \u043a\u044a\u043c \u0434\u0440\u0443\u0433\u0438 \u043a\u043b\u0430\u0441\u043e\u0432\u0435, \u043f\u043e\u043b\u0435\u0442\u0430 \u0438 \u043c\u0435\u0442\u043e\u0434\u0438 \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u0438 \u043f\u0440\u0435\u043f\u0440\u0430\u0442\u043a\u0438, \u043a\u043e\u0433\u0430\u0442\u043e \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: Resolution \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u0432\u044a\u0440\u0448\u0438 \u043e\u0442\u043b\u043e\u0436\u0435\u043d\u043e (Lazily), \u0430 \u043d\u0435 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u043e \u043f\u0440\u0438 \u043f\u044a\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u043d\u043e\u0442\u043e \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435 \u043d\u0430 \u043a\u043b\u0430\u0441\u0430.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f (Initialization)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438 Initialization JVM \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u0438\u0442\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0438 \u0438 \u043f\u0440\u0438\u0441\u0432\u043e\u044f\u0432\u0430 \u0437\u0430\u0434\u0430\u0434\u0435\u043d\u0438\u0442\u0435 \u043d\u0430\u0447\u0430\u043b\u043d\u0438 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 Static Variables.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class Student {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    static int count = 10;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    static {<\/div><div class=\"cm-line\">        System.out.println(&quot;Class initialized&quot;);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    int age = 20;<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<ul class=\"wp-block-list\">\n<li><code>count<\/code> \u0441\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0430 \u043f\u0440\u0438 Initialization \u043d\u0430 \u043a\u043b\u0430\u0441\u0430.<\/li>\n\n\n\n<li><code>static<\/code> \u0431\u043b\u043e\u043a\u044a\u0442 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 \u043f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 \u043a\u043b\u0430\u0441\u0430.<\/li>\n\n\n\n<li><code>age<\/code> \u0441\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0430 \u043f\u0440\u0438 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0432\u0441\u0435\u043a\u0438 \u043d\u043e\u0432 \u043e\u0431\u0435\u043a\u0442 \u043e\u0442 <code>Student<\/code>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">5. \u0414\u0432\u0438\u0433\u0430\u0442\u0435\u043b \u0437\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 (Execution Engine)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Execution Engine \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f \u0437\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 Bytecode.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Interpreter \u2013 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 Bytecode \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0435\u0434\u043d\u0430 \u043f\u043e \u0435\u0434\u043d\u0430.<\/li>\n\n\n\n<li>JIT Compiler (Just-In-Time Compiler) \u2013 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0430 \u0447\u0435\u0441\u0442\u043e \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430\u043d\u0438 \u0443\u0447\u0430\u0441\u0442\u044a\u0446\u0438 \u043e\u0442 Bytecode \u0434\u043e Native Machine Code \u0437\u0430 \u043f\u043e-\u0434\u043e\u0431\u0440\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442.<\/li>\n\n\n\n<li>Garbage Collector (GC) \u2013 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0432\u0430 \u043f\u0430\u043c\u0435\u0442\u0442\u0430, \u0437\u0430\u0435\u0442\u0430 \u043e\u0442 \u043e\u0431\u0435\u043a\u0442\u0438, \u043a\u043e\u0438\u0442\u043e \u0432\u0435\u0447\u0435 \u043d\u0435 \u0441\u0430 \u0434\u043e\u0441\u0442\u0438\u0436\u0438\u043c\u0438.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">JIT Compiler \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043d\u0430 JVM \u0434\u0430 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0430\u0442\u0430 \u043f\u043e \u0432\u0440\u0435\u043c\u0435 \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 (Runtime).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. \u041e\u0431\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u2013 \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0438 JVM?<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-1.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"957\" height=\"617\" data-attachment-id=\"3299\" data-permalink=\"https:\/\/vkrastev1blog.com\/2026\/05\/29\/questions-and-informations-prepairing-for-java-developer-job-interview\/image-51\/\" data-orig-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-1.png?fit=957%2C617&amp;ssl=1\" data-orig-size=\"957,617\" data-comments-opened=\"1\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-1.png?fit=957%2C617&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-1.png?resize=957%2C617&#038;ssl=1\" alt=\"\" class=\"wp-image-3299\" srcset=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-1.png?w=957&amp;ssl=1 957w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-1.png?resize=300%2C193&amp;ssl=1 300w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-1.png?resize=768%2C495&amp;ssl=1 768w\" sizes=\"auto, (max-width: 957px) 100vw, 957px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435 \u0441\u043b\u0435\u0434\u043d\u0438\u0442\u0435 \u043f\u0435\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Compilation \u2013 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430 <code>.java<\/code> \u0444\u0430\u0439\u043b\u043e\u0432\u0435\u0442\u0435 \u0432 Bytecode (<code>.class<\/code>).<\/li>\n\n\n\n<li>Class Loader \u2013 \u0437\u0430\u0440\u0435\u0436\u0434\u0430 \u043a\u043b\u0430\u0441\u043e\u0432\u0435\u0442\u0435 \u0432 JVM.<\/li>\n\n\n\n<li>Linking \u2013 \u0432\u043a\u043b\u044e\u0447\u0432\u0430 Verification, Preparation \u0438 Resolution.<\/li>\n\n\n\n<li>Initialization \u2013 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 Static Initializers \u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0430 Static Variables.<\/li>\n\n\n\n<li>Execution Engine \u2013 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 Bytecode \u0447\u0440\u0435\u0437 Interpreter \u0438 JIT Compiler.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434: JVM \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043d\u0430 Java \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0438\u0442\u0435 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 Platform Independent, \u043a\u0430\u0442\u043e \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 Bytecode \u0447\u0440\u0435\u0437 Interpreter \u0438 JIT Compiler \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 \u043f\u0430\u043c\u0435\u0442\u0442\u0430 \u0447\u0440\u0435\u0437 Garbage Collector.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Apache Kafka<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Apache Kafka \u0435 Distributed Event Streaming Platform (\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0437\u0430 \u0440\u0430\u0437\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u043f\u043e\u0442\u043e\u0446\u0438 \u043e\u0442 \u0441\u044a\u0431\u0438\u0442\u0438\u044f), \u043a\u043e\u044f\u0442\u043e \u0447\u0435\u0441\u0442\u043e \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u043a\u0430\u0442\u043e Message Broker.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043d\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0442\u0430 \u0434\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0432\u0430\u0442 (Publish), \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u0442 (Store), \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442 (Process) \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430\u0442 (Subscribe) \u043f\u043e\u0442\u043e\u0446\u0438 \u043e\u0442 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432 \u0440\u0435\u0430\u043b\u043d\u043e \u0432\u0440\u0435\u043c\u0435 (Real Time).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kafka \u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u0430\u043d\u0430 \u0437\u0430:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0412\u0438\u0441\u043e\u043a\u0430 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u0435\u043b\u043d\u0430 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442 (High Throughput).<\/li>\n\n\n\n<li>\u041c\u0430\u0449\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442 (Scalability).<\/li>\n\n\n\n<li>\u0423\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442 \u043f\u0440\u0438 \u043e\u0442\u043a\u0430\u0437\u0438 (Fault Tolerance).<\/li>\n\n\n\n<li>\u041d\u0438\u0441\u043a\u0430 \u043b\u0430\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442 (Low Latency).<\/li>\n\n\n\n<li>\u041d\u0430\u0434\u0435\u0436\u0434\u043d\u0430 \u043a\u043e\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0438.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 (Core Concepts)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Topics \u2013 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438, \u0432 \u043a\u043e\u0438\u0442\u043e \u0441\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0432\u0430\u0442 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u0442\u0430 (Messages \u0438\u043b\u0438 Records).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Partitions \u2013 \u0432\u0441\u0435\u043a\u0438 Topic \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d \u043d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e Partitions. \u0422\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430\u0442 \u043f\u0430\u0440\u0430\u043b\u0435\u043b\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438 \u0445\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u043d\u043e \u043c\u0430\u0449\u0430\u0431\u0438\u0440\u0430\u043d\u0435.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Producers \u2013 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0443\u0441\u043b\u0443\u0433\u0438, \u043a\u043e\u0438\u0442\u043e \u0438\u0437\u043f\u0440\u0430\u0449\u0430\u0442 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043a\u044a\u043c Kafka Topics.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Consumers \u2013 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0443\u0441\u043b\u0443\u0433\u0438, \u043a\u043e\u0438\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430\u0442 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u0442\u0430.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Brokers \u2013 Kafka \u0441\u044a\u0440\u0432\u044a\u0440\u0438, \u043a\u043e\u0438\u0442\u043e \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u0442 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430\u0442 Partitions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Consumer Groups \u2013 \u0433\u0440\u0443\u043f\u0438 \u043e\u0442 Consumers, \u043a\u043e\u0438\u0442\u043e \u0440\u0430\u0437\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u0442\u0430 \u043d\u0430 Partitions \u043f\u043e\u043c\u0435\u0436\u0434\u0443 \u0441\u0438.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. \u041f\u043e\u0442\u043e\u043a \u043d\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435 (Data Flow)<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-2.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"972\" height=\"586\" data-attachment-id=\"3302\" data-permalink=\"https:\/\/vkrastev1blog.com\/2026\/05\/29\/questions-and-informations-prepairing-for-java-developer-job-interview\/image-52\/\" data-orig-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-2.png?fit=972%2C586&amp;ssl=1\" data-orig-size=\"972,586\" data-comments-opened=\"1\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-2.png?fit=972%2C586&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-2.png?resize=972%2C586&#038;ssl=1\" alt=\"\" class=\"wp-image-3302\" srcset=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-2.png?w=972&amp;ssl=1 972w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-2.png?resize=300%2C181&amp;ssl=1 300w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-2.png?resize=768%2C463&amp;ssl=1 768w\" sizes=\"auto, (max-width: 972px) 100vw, 972px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u043c\u0435\u0440: Online Shop \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0432\u0430 \u0441\u044a\u0431\u0438\u0442\u0438\u0435 <code>OrderCreated<\/code> \u0432 Kafka Topic. \u041e\u0442\u0434\u0435\u043b\u043d\u0438 Consumers \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u044f\u0442 \u043f\u043e\u0440\u044a\u0447\u043a\u0430\u0442\u0430, \u0434\u0430 \u0438\u0437\u043f\u0440\u0430\u0442\u044f\u0442 \u0438\u043c\u0435\u0439\u043b \u0438 \u0434\u0430 \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u0442 \u0441\u043a\u043b\u0430\u0434\u043e\u0432\u0430\u0442\u0430 \u043d\u0430\u043b\u0438\u0447\u043d\u043e\u0441\u0442.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. \u0421\u044a\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435 (Storage)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Kafka \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u0442\u0430 \u043d\u0430 \u0434\u0438\u0441\u043a\u0430 (Disk Storage), \u0430 \u043d\u0435 \u0441\u0430\u043c\u043e \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0430\u0442\u0430 \u043f\u0430\u043c\u0435\u0442 (RAM).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u0435\u0440\u0435\u043a\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440\u0456:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Persistence \u2013 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u0442\u0430 \u0441\u0435 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u0442 \u0437\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d \u043f\u0435\u0440\u0438\u043e\u0434 \u0438\u043b\u0438 \u0441\u043f\u043e\u0440\u0435\u0434 \u0437\u0430\u0434\u0430\u0434\u0435\u043d \u0440\u0430\u0437\u043c\u0435\u0440.<\/li>\n\n\n\n<li>Replication \u2013 Partitions \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0438\u043c\u0430\u0442 \u043a\u043e\u043f\u0438\u044f (Replicas) \u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 Brokers.<\/li>\n\n\n\n<li>Fault Tolerance \u2013 \u043f\u0440\u0438 \u043e\u0442\u043a\u0430\u0437 \u043d\u0430 Broker \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0438\u0437\u0431\u0440\u0430\u043d \u0434\u0440\u0443\u0433 Replica \u0437\u0430 Leader.<\/li>\n\n\n\n<li>Retention \u2013 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u0442\u0430 \u043e\u0441\u0442\u0430\u0432\u0430\u0442 \u0434\u043e\u0441\u0442\u044a\u043f\u043d\u0438 \u0441\u043f\u043e\u0440\u0435\u0434 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d\u0430\u0442\u0430 Retention Policy.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: Kafka \u043d\u0435 \u0438\u0437\u0442\u0440\u0438\u0432\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u0442\u043e \u0432\u0435\u0434\u043d\u0430\u0433\u0430 \u0441\u043b\u0435\u0434 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u0435\u0442\u043e \u043c\u0443 \u043e\u0442 Consumer. \u0422\u043e \u043e\u0441\u0442\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u043d\u043e \u0434\u043e \u0438\u0437\u0442\u0438\u0447\u0430\u043d\u0435 \u043d\u0430 Retention \u043f\u0435\u0440\u0438\u043e\u0434\u0430 \u0438\u043b\u0438 \u0434\u043e \u043f\u0440\u0438\u043b\u0430\u0433\u0430\u043d\u0435 \u043d\u0430 \u0434\u0440\u0443\u0433\u0430 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0437\u0430 \u0441\u044a\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. \u041f\u0440\u0435\u0434\u0438\u043c\u0441\u0442\u0432\u0430 \u043d\u0430 Apache Kafka \u043a\u0430\u0442\u043e Message Broker<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">4.1. \u0412\u0438\u0441\u043e\u043a\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442 \u0438 \u043d\u0438\u0441\u043a\u0430 \u043b\u0430\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442 (High Throughput &amp; Low Latency)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430 \u043c\u043d\u043e\u0433\u043e \u0433\u043e\u043b\u0435\u043c\u0438 \u043e\u0431\u0435\u043c\u0438 \u043e\u0442 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<\/li>\n\n\n\n<li>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0432\u0438\u0441\u043e\u043a\u0430 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u0435\u043b\u043d\u0430 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442.<\/li>\n\n\n\n<li>\u041e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 \u043d\u0438\u0441\u043a\u0430 \u043b\u0430\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442 \u043f\u0440\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f.<\/li>\n\n\n\n<li>\u041f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0430 \u0435 \u0437\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0438 \u0441 \u0433\u043e\u043b\u044f\u043c \u0431\u0440\u043e\u0439 \u0441\u044a\u0431\u0438\u0442\u0438\u044f \u0432 \u0440\u0435\u0430\u043b\u043d\u043e \u0432\u0440\u0435\u043c\u0435.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4.2. \u041c\u0430\u0449\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442 (Scalability)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0445\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u043d\u043e \u043c\u0430\u0449\u0430\u0431\u0438\u0440\u0430\u043d\u0435 \u0447\u0440\u0435\u0437 \u0434\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 Brokers.<\/li>\n\n\n\n<li>Partitions \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430\u0442 \u043f\u0430\u0440\u0430\u043b\u0435\u043b\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430.<\/li>\n\n\n\n<li>\u041c\u043e\u0436\u0435 \u0434\u0430 \u043e\u0431\u0441\u043b\u0443\u0436\u0432\u0430 \u043c\u043d\u043e\u0433\u043e Producers \u0438 Consumers \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4.3. \u0423\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442 \u0438 \u043d\u0430\u0434\u0435\u0436\u0434\u043d\u043e\u0441\u0442 (Durability &amp; Fault Tolerance)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0421\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u0442\u0430 \u0441\u0435 \u0437\u0430\u043f\u0438\u0441\u0432\u0430\u0442 \u043d\u0430 \u0434\u0438\u0441\u043a\u0430.<\/li>\n\n\n\n<li>Replication \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 \u043a\u043e\u043f\u0438\u044f \u043d\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435 \u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 Brokers.<\/li>\n\n\n\n<li>\u041f\u0440\u0438 \u043e\u0442\u043a\u0430\u0437 \u043d\u0430 Leader Replica \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0438\u0437\u0431\u0440\u0430\u043d \u043d\u043e\u0432 Leader.<\/li>\n\n\n\n<li>\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435 \u0441\u043b\u0435\u0434 \u043e\u0442\u043a\u0430\u0437\u0438.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4.4. \u041d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442 \u043c\u0435\u0436\u0434\u0443 Producers \u0438 Consumers (Decoupling)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Producers \u0438 Consumers \u0440\u0430\u0431\u043e\u0442\u044f\u0442 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u0435\u0434\u0438\u043d \u043e\u0442 \u0434\u0440\u0443\u0433.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Order Service \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0432\u0430 \u0441\u044a\u0431\u0438\u0442\u0438\u0435 \u0437\u0430 \u043d\u043e\u0432\u0430 \u043f\u043e\u0440\u044a\u0447\u043a\u0430.<\/li>\n\n\n\n<li>Payment Service \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430 \u043f\u043b\u0430\u0449\u0430\u043d\u0435\u0442\u043e.<\/li>\n\n\n\n<li>Notification Service \u0438\u0437\u043f\u0440\u0430\u0449\u0430 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435.<\/li>\n\n\n\n<li>Warehouse Service \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u0430 \u0441\u043a\u043b\u0430\u0434\u043e\u0432\u0430\u0442\u0430 \u043d\u0430\u043b\u0438\u0447\u043d\u043e\u0441\u0442.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Producer \u043d\u0435 \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u0430 \u0437\u043d\u0430\u0435 \u043a\u043e\u0438 Consumers \u0449\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442 \u0441\u044a\u0431\u0438\u0442\u0438\u0435\u0442\u043e.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.5. \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u043f\u043e\u0442\u043e\u0446\u0438 \u043e\u0442 \u0434\u0430\u043d\u043d\u0438 (Stream Processing)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Kafka \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 Stream Processing \u0447\u0440\u0435\u0437:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Kafka Streams \u2013 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0437\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438 \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043d\u0430 \u043f\u043e\u0442\u043e\u0446\u0438 \u043e\u0442 \u0441\u044a\u0431\u0438\u0442\u0438\u044f.<\/li>\n\n\n\n<li>Apache Flink \u2013 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0437\u0430 \u0440\u0430\u0437\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u043f\u043e\u0442\u043e\u0446\u0438.<\/li>\n\n\n\n<li>Apache Spark \u2013 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 Streaming Data.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0432\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 Real-Time Analytics, \u0444\u0438\u043b\u0442\u0440\u0438\u0440\u0430\u043d\u0435, \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u0430\u043d\u0435 \u0438 \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043d\u0430 \u0434\u0430\u043d\u043d\u0438.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.6. \u041f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u0435 \u0438 \u0441\u044a\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 (Replay &amp; Retention)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0421\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u0442\u0430 \u0441\u0435 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u0442 \u0441\u043f\u043e\u0440\u0435\u0434 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d\u0430\u0442\u0430 Retention Policy.<\/li>\n\n\n\n<li>Consumers \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u0442\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e.<\/li>\n\n\n\n<li>\u0427\u0440\u0435\u0437 Offset \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438 \u043e\u0442 \u043a\u043e\u044f \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0434\u0430 \u0437\u0430\u043f\u043e\u0447\u043d\u0435 \u0447\u0435\u0442\u0435\u043d\u0435\u0442\u043e.<\/li>\n\n\n\n<li>\u041f\u043e\u043b\u0435\u0437\u043d\u043e \u0435 \u043f\u0440\u0438 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438, \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438 \u043e\u0434\u0438\u0442 (Audit).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4.7. \u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430 \u0435\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430 (Integration Ecosystem)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Kafka Connect \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u0433\u043e\u0442\u043e\u0432\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0437\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Databases.<\/li>\n\n\n\n<li>Cloud Services.<\/li>\n\n\n\n<li>File Systems.<\/li>\n\n\n\n<li>External Applications.<\/li>\n\n\n\n<li>\u0414\u0440\u0443\u0433\u0438 Data Sources \u0438 Data Sinks.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4.8. \u0413\u0430\u0440\u0430\u043d\u0446\u0438\u0438 \u0437\u0430 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0430 (Delivery Semantics)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Kafka \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0442\u0440\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u0438 \u043c\u043e\u0434\u0435\u043b\u0430:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u041c\u043e\u0434\u0435\u043b<\/th><th>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/th><\/tr><tr><td>At-most-once<\/td><td>\u0421\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u0442\u043e \u0441\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430 \u043d\u0430\u0439-\u043c\u043d\u043e\u0433\u043e \u0432\u0435\u0434\u043d\u044a\u0436. \u0412\u044a\u0437\u043c\u043e\u0436\u043d\u0430 \u0435 \u0437\u0430\u0433\u0443\u0431\u0430 \u043d\u0430 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<\/td><\/tr><tr><td>At-least-once<\/td><td>\u0421\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u0442\u043e \u0441\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430 \u043f\u043e\u043d\u0435 \u0432\u0435\u0434\u043d\u044a\u0436. \u0412\u044a\u0437\u043c\u043e\u0436\u043d\u0438 \u0441\u0430 \u0434\u0443\u0431\u043b\u0438\u0440\u0430\u043d\u0438\u044f.<\/td><\/tr><tr><td>Exactly-once (EOS)<\/td><td>\u041e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 Exactly-once \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0442\u0435 Kafka workflows \u0447\u0440\u0435\u0437 Transactions \u0438 Idempotent Producers.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: Exactly-once \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0432\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e, \u0447\u0435 \u0432\u0441\u044f\u043a\u0430 \u0432\u044a\u043d\u0448\u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u2013 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430\u043f\u0438\u0441 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u043d\u0430 Database \u0438\u043b\u0438 \u0438\u0437\u043f\u0440\u0430\u0449\u0430\u043d\u0435 \u043d\u0430 Email \u2013 \u0449\u0435 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u0438 \u0442\u043e\u0447\u043d\u043e \u0432\u0435\u0434\u043d\u044a\u0436. \u0417\u0430 \u0442\u0430\u043a\u0438\u0432\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u0441\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438 \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0438 \u0437\u0430 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0446\u0438\u044f \u0438 Idempotency.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. \u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435 \u0441\u043b\u0435\u0434\u043d\u0438\u0442\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Topic \u2013 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f \u0437\u0430 \u0441\u044a\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<\/li>\n\n\n\n<li>Partition \u2013 \u0447\u0430\u0441\u0442 \u043e\u0442 Topic, \u043a\u043e\u044f\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043f\u0430\u0440\u0430\u043b\u0435\u043b\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430.<\/li>\n\n\n\n<li>Producer \u2013 \u0438\u0437\u043f\u0440\u0430\u0449\u0430 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043a\u044a\u043c Kafka.<\/li>\n\n\n\n<li>Consumer \u2013 \u0447\u0435\u0442\u0435 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0442 Kafka.<\/li>\n\n\n\n<li>Consumer Group \u2013 \u0433\u0440\u0443\u043f\u0430 Consumers, \u043a\u043e\u0438\u0442\u043e \u0441\u0438 \u0440\u0430\u0437\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442 Partitions.<\/li>\n\n\n\n<li>Offset \u2013 \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u043d\u0430 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0432 \u0434\u0430\u0434\u0435\u043d Partition.<\/li>\n\n\n\n<li>Broker \u2013 Kafka Server, \u043a\u043e\u0439\u0442\u043e \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u0438 \u043e\u0431\u0441\u043b\u0443\u0436\u0432\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435.<\/li>\n\n\n\n<li>Replication \u2013 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043a\u043e\u043f\u0438\u044f \u043d\u0430 Partitions \u0437\u0430 \u043d\u0430\u0434\u0435\u0436\u0434\u043d\u043e\u0441\u0442.<\/li>\n\n\n\n<li>Kafka Connect \u2013 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u0432\u044a\u043d\u0448\u043d\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0438.<\/li>\n\n\n\n<li>Kafka Streams \u2013 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u043f\u043e\u0442\u043e\u0446\u0438 \u043e\u0442 \u0441\u044a\u0431\u0438\u0442\u0438\u044f.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434: Apache Kafka \u0435 \u0440\u0430\u0437\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 Event Streaming \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430, \u043a\u043e\u044f\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043d\u0430\u0434\u0435\u0436\u0434\u0435\u043d \u043e\u0431\u043c\u0435\u043d, \u0441\u044a\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u0433\u043e\u043b\u0435\u043c\u0438 \u043e\u0431\u0435\u043c\u0438 \u043e\u0442 \u0441\u044a\u0431\u0438\u0442\u0438\u044f \u0432 \u0440\u0435\u0430\u043b\u043d\u043e \u0432\u0440\u0435\u043c\u0435. \u0422\u044f \u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u0430 \u043f\u0440\u0438 Microservices Architecture, Event-Driven Architecture \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0438 \u0441 \u0433\u043e\u043b\u044f\u043c\u043e \u043d\u0430\u0442\u043e\u0432\u0430\u0440\u0432\u0430\u043d\u0435.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Apache Kafka vs. RabbitMQ<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Apache Kafka \u0438 RabbitMQ \u0441\u0430 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0437\u0430 \u043e\u0431\u043c\u0435\u043d \u043d\u0430 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (Message Broker \/ Messaging Systems), \u043d\u043e \u0438\u043c\u0430\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0438 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kafka \u0435 \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u0430\u043d\u0430 \u043a\u044a\u043c Event Streaming \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u0433\u043e\u043b\u0435\u043c\u0438 \u043f\u043e\u0442\u043e\u0446\u0438 \u043e\u0442 \u0434\u0430\u043d\u043d\u0438, \u0434\u043e\u043a\u0430\u0442\u043e RabbitMQ \u0435 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u0435\u043d Message Broker, \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u0437\u0430 Message Queues, Routing \u0438 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430 \u043a\u043e\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u0438\u0442\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u0425\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430<\/th><th>Apache Kafka<\/th><th>RabbitMQ<\/th><\/tr><tr><td>Type<\/td><td>Distributed Event Streaming Platform<\/td><td>Traditional Message Broker<\/td><\/tr><tr><td>Data Model<\/td><td>Topics \u0438 Partitions (Append-only Logs)<\/td><td>Queues \u0438 Exchanges<\/td><\/tr><tr><td>Message Delivery<\/td><td>Publish-Subscribe \u0447\u0440\u0435\u0437 Consumer Groups; \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u0442\u0430 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0441\u0435 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e.<\/td><td>Point-to-Point \u0447\u0440\u0435\u0437 Queues \u0438\u043b\u0438 Pub-Sub \u0447\u0440\u0435\u0437 Exchanges.<\/td><\/tr><tr><td>Throughput<\/td><td>\u041c\u043d\u043e\u0433\u043e \u0432\u0438\u0441\u043e\u043a \u2013 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0430 \u0437\u0430 \u043c\u0438\u043b\u0438\u043e\u043d\u0438 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430 \u043f\u0440\u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430.<\/td><td>\u0412\u0438\u0441\u043e\u043a, \u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442\u0442\u0430 \u0437\u0430\u0432\u0438\u0441\u0438 \u043e\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0442\u0430, \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043d\u0430 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u0442\u0430.<\/td><\/tr><tr><td>Latency<\/td><td>\u041d\u0438\u0441\u043a\u0430 \u043b\u0430\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442, \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0432 \u043c\u0438\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u0438.<\/td><td>\u041c\u043d\u043e\u0433\u043e \u043d\u0438\u0441\u043a\u0430 \u043b\u0430\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442; \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u0437\u0430 Request\/Response \u043a\u043e\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044f.<\/td><\/tr><tr><td>Durability<\/td><td>\u0421\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u0442\u0430 \u0441\u0435 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u0442 \u043d\u0430 \u0434\u0438\u0441\u043a \u0438 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0441\u0435 \u0440\u0435\u043f\u043b\u0438\u043a\u0438\u0440\u0430\u0442 \u043c\u0435\u0436\u0434\u0443 Brokers.<\/td><td>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 Persistent Messages \u0438 Durable Queues.<\/td><\/tr><tr><td>Scalability<\/td><td>\u0425\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u043d\u043e \u043c\u0430\u0449\u0430\u0431\u0438\u0440\u0430\u043d\u0435 \u0447\u0440\u0435\u0437 Partitions \u0438 Brokers.<\/td><td>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 Clustering \u0438 Distributed Queues \u0447\u0440\u0435\u0437 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0438.<\/td><\/tr><tr><td>Ordering<\/td><td>\u0413\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430 \u0440\u0435\u0434\u0430 \u043d\u0430 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u0442\u0430 \u0432 \u0440\u0430\u043c\u043a\u0438\u0442\u0435 \u043d\u0430 \u0435\u0434\u0438\u043d Partition.<\/td><td>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 FIFO \u0440\u0435\u0434 \u0432 Queue, \u043d\u043e \u043f\u0440\u0438 \u043a\u043e\u043d\u043a\u0443\u0440\u0438\u0440\u0430\u0449\u0438 \u0441\u0435 Consumers \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0440\u0435\u0434\u044a\u0442 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u0438.<\/td><\/tr><tr><td>Use Cases<\/td><td>Event Streaming, Data Pipelines, Log Aggregation, IoT \u0438 Real-Time Analytics.<\/td><td>Task Queues, RPC Communication, Background Jobs \u0438 Reliable Messaging.<\/td><\/tr><tr><td>Integration<\/td><td>Kafka Connect, Kafka Streams, Apache Flink, Apache Spark.<\/td><td>AMQP, MQTT, STOMP, \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e Language Clients \u0438 Plugins.<\/td><\/tr><tr><td>Delivery Guarantees<\/td><td>At-most-once, At-least-once \u0438 Exactly-once \u0432 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0442\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438.<\/td><td>At-most-once \u0438 At-least-once; Exactly-once \u0435\u0444\u0435\u043a\u0442\u044a\u0442 \u0438\u0437\u0438\u0441\u043a\u0432\u0430 \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438 Idempotency.<\/td><\/tr><tr><td>Best at<\/td><td>Big Data Streaming, Analytics \u0438 Replayable Event Logs.<\/td><td>Message Routing, Task Queues \u0438 Transactional Messaging.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">2. \u041e\u0441\u043d\u043e\u0432\u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u043a\u0430 \u0432 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430\u0442\u0430 (Architecture)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Apache Kafka \u2013 Event Streaming<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-3.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"971\" height=\"505\" data-attachment-id=\"3306\" data-permalink=\"https:\/\/vkrastev1blog.com\/2026\/05\/29\/questions-and-informations-prepairing-for-java-developer-job-interview\/image-53\/\" data-orig-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-3.png?fit=971%2C505&amp;ssl=1\" data-orig-size=\"971,505\" data-comments-opened=\"1\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-3.png?fit=971%2C505&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-3.png?resize=971%2C505&#038;ssl=1\" alt=\"\" class=\"wp-image-3306\" srcset=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-3.png?w=971&amp;ssl=1 971w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-3.png?resize=300%2C156&amp;ssl=1 300w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-3.png?resize=768%2C399&amp;ssl=1 768w\" sizes=\"auto, (max-width: 971px) 100vw, 971px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">RabbitMQ &#8211; Message Queuing<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-4.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"967\" height=\"522\" data-attachment-id=\"3307\" data-permalink=\"https:\/\/vkrastev1blog.com\/2026\/05\/29\/questions-and-informations-prepairing-for-java-developer-job-interview\/image-54\/\" data-orig-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-4.png?fit=967%2C522&amp;ssl=1\" data-orig-size=\"967,522\" data-comments-opened=\"1\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-4.png?fit=967%2C522&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-4.png?resize=967%2C522&#038;ssl=1\" alt=\"\" class=\"wp-image-3307\" srcset=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-4.png?w=967&amp;ssl=1 967w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-4.png?resize=300%2C162&amp;ssl=1 300w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-4.png?resize=768%2C415&amp;ssl=1 768w\" sizes=\"auto, (max-width: 967px) 100vw, 967px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">3. \u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u043f\u0440\u0435\u0434\u0438\u043c\u0441\u0442\u0432\u0430 \u043d\u0430 Kafka<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>High Throughput \u2013 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430 \u043c\u043d\u043e\u0433\u043e \u0433\u043e\u043b\u0435\u043c\u0438 \u043e\u0431\u0435\u043c\u0438 \u043e\u0442 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<\/li>\n\n\n\n<li>Event Replay \u2013 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u0435 \u043d\u0430 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u0442\u0430 \u0447\u0440\u0435\u0437 Offset.<\/li>\n\n\n\n<li>Scalability \u2013 \u043b\u0435\u0441\u043d\u043e \u0445\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u043d\u043e \u043c\u0430\u0449\u0430\u0431\u0438\u0440\u0430\u043d\u0435 \u0447\u0440\u0435\u0437 Partitions \u0438 Brokers.<\/li>\n\n\n\n<li>Event Streaming \u2013 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0430 \u0437\u0430 Real-Time Analytics \u0438 Data Pipelines.<\/li>\n\n\n\n<li>Multiple Consumers \u2013 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 Consumer Groups \u043c\u043e\u0433\u0430\u0442 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u0434\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442 \u0435\u0434\u043d\u0438 \u0438 \u0441\u044a\u0449\u0438 \u0441\u044a\u0431\u0438\u0442\u0438\u044f.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. \u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u043f\u0440\u0435\u0434\u0438\u043c\u0441\u0442\u0432\u0430 \u043d\u0430 RabbitMQ<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Advanced Message Routing \u2013 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0438\u0440\u0430\u043d\u0435 \u0447\u0440\u0435\u0437 Direct, Topic, Fanout \u0438 Headers Exchanges.<\/li>\n\n\n\n<li>Message Acknowledgement \u2013 \u043f\u043e\u0442\u0432\u044a\u0440\u0436\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0435\u043d\u0438 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<\/li>\n\n\n\n<li>Message Queues \u2013 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u0437\u0430 Background Jobs \u0438 Task Processing.<\/li>\n\n\n\n<li>Flexible Protocols \u2013 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 AMQP, MQTT \u0438 STOMP.<\/li>\n\n\n\n<li>Dead Letter Exchanges (DLX) \u2013 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u043a\u043e\u0438\u0442\u043e \u043d\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0434\u043e\u0441\u0442\u0430\u0432\u0435\u043d\u0438 \u0438\u043b\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0435\u043d\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e.<\/li>\n\n\n\n<li>Priority Queues \u2013 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442 \u0437\u0430 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0438\u0437\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u0442\u0430.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">5. \u041a\u043e\u0433\u0430 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u043c Kafka \u0438 \u043a\u043e\u0433\u0430 RabbitMQ?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 Apache Kafka, \u043a\u043e\u0433\u0430\u0442\u043e:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442\u0435 Event-Driven Microservices Architecture.<\/li>\n\n\n\n<li>\u0422\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442\u0435 \u0433\u043e\u043b\u0435\u043c\u0438 \u043f\u043e\u0442\u043e\u0446\u0438 \u043e\u0442 \u0441\u044a\u0431\u0438\u0442\u0438\u044f.<\/li>\n\n\n\n<li>\u0418\u0437\u0433\u0440\u0430\u0436\u0434\u0430\u0442\u0435 Real-Time Analytics \u0441\u0438\u0441\u0442\u0435\u043c\u0438.<\/li>\n\n\n\n<li>\u0418\u043c\u0430\u0442\u0435 \u043d\u0443\u0436\u0434\u0430 \u043e\u0442 Event Replay.<\/li>\n\n\n\n<li>\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u0442\u0435 Data Pipelines.<\/li>\n\n\n\n<li>\u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430\u0442 \u0435\u0434\u043d\u0438 \u0438 \u0441\u044a\u0449\u0438 \u0441\u044a\u0431\u0438\u0442\u0438\u044f.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 RabbitMQ, \u043a\u043e\u0433\u0430\u0442\u043e:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0418\u0437\u0433\u0440\u0430\u0436\u0434\u0430\u0442\u0435 Task Queues \u0438 Background Jobs.<\/li>\n\n\n\n<li>\u0418\u043c\u0430\u0442\u0435 \u043d\u0443\u0436\u0434\u0430 \u043e\u0442 \u0441\u043b\u043e\u0436\u043d\u0438 Message Routing \u043f\u0440\u0430\u0432\u0438\u043b\u0430.<\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430 Request\/Response \u043a\u043e\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044f.<\/li>\n\n\n\n<li>\u0418\u0441\u043a\u0430\u0442\u0435 Message Acknowledgement \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b \u0432\u044a\u0440\u0445\u0443 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430.<\/li>\n\n\n\n<li>\u0418\u0437\u0433\u0440\u0430\u0436\u0434\u0430\u0442\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u0438 \u0437\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u043f\u043e\u0440\u044a\u0447\u043a\u0438, \u043f\u043b\u0430\u0449\u0430\u043d\u0438\u044f \u0438 \u0438\u0437\u0432\u0435\u0441\u0442\u0438\u044f.<\/li>\n\n\n\n<li>\u041d\u0443\u0436\u0434\u0430\u0435\u0442\u0435 \u0441\u0435 \u043e\u0442 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u0435\u043d Message Broker \u0441 \u0433\u044a\u0432\u043a\u0430\u0432\u043e \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0438\u0440\u0430\u043d\u0435.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">6. \u041c\u043e\u0433\u0430\u0442 \u043b\u0438 Kafka \u0438 RabbitMQ \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0437\u0430\u0435\u0434\u043d\u043e?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u0430. \u0412 \u043d\u044f\u043a\u043e\u0438 Enterprise \u0441\u0438\u0441\u0442\u0435\u043c\u0438 \u0434\u0432\u0435\u0442\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u0438 Online Shop:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>RabbitMQ \u2013 \u0438\u0437\u043f\u0440\u0430\u0449\u0430 \u0437\u0430\u0434\u0430\u0447\u0438 \u043a\u044a\u043c Payment Service \u0438 Notification Service.<\/li>\n\n\n\n<li>Kafka \u2013 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u0441\u044a\u0431\u0438\u0442\u0438\u044f \u043a\u0430\u0442\u043e <code>OrderCreated<\/code>, <code>PaymentCompleted<\/code> \u0436\u04d9\u043d\u0435 <code>OrderShipped<\/code> \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u0432\u0430\u0449\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430, Analytics \u0438 Event Replay.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0430\u043a\u0430 RabbitMQ \u043c\u043e\u0436\u0435 \u0434\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0438\u0442\u0435 \u0437\u0430\u0434\u0430\u0447\u0438, \u0430 Kafka \u2013 \u043f\u043e\u0442\u043e\u043a\u0430 \u043e\u0442 \u0431\u0438\u0437\u043d\u0435\u0441 \u0441\u044a\u0431\u0438\u0442\u0438\u044f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435 \u043d\u0430\u0439-\u0432\u0430\u0436\u043d\u0438\u0442\u0435 \u0440\u0430\u0437\u043b\u0438\u043a\u0438:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Apache Kafka<\/th><th>RabbitMQ<\/th><\/tr><tr><td>Event Streaming Platform<\/td><td>Message Broker<\/td><\/tr><tr><td>Topics \u0438 Partitions<\/td><td>Exchanges \u0438 Queues<\/td><\/tr><tr><td>\u0421\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u0442\u0430 \u0441\u0435 \u0437\u0430\u043f\u0430\u0437\u0432\u0430\u0442 \u0441\u043f\u043e\u0440\u0435\u0434 Retention Policy.<\/td><td>\u0421\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u0442\u0430 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0441\u0435 \u043f\u0440\u0435\u043c\u0430\u0445\u0432\u0430\u0442 \u0441\u043b\u0435\u0434 Acknowledgement.<\/td><\/tr><tr><td>Consumer Groups \u0438 Offsets<\/td><td>Consumers \u0438 Message Acknowledgements<\/td><\/tr><tr><td>\u041f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0430 \u0437\u0430 \u0433\u043e\u043b\u0435\u043c\u0438 \u043f\u043e\u0442\u043e\u0446\u0438 \u043e\u0442 \u0434\u0430\u043d\u043d\u0438.<\/td><td>\u041f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u0437\u0430 Task Queues \u0438 Message Routing.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Kafka = Data Streaming Backbone \u2013 \u0441\u044a\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u043f\u043e\u0442\u043e\u0446\u0438 \u043e\u0442 \u0441\u044a\u0431\u0438\u0442\u0438\u044f.<\/li>\n\n\n\n<li>RabbitMQ = Messaging Backbone \u2013 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0438\u0440\u0430\u043d\u0435 \u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0430 \u043d\u0430 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0438\u0442\u043e \u0435\u0434\u043d\u0430 \u043e\u0442 \u0434\u0432\u0435\u0442\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u043d\u0435 \u0435 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u043d\u043e \u043f\u043e-\u0434\u043e\u0431\u0440\u0430. \u0418\u0437\u0431\u043e\u0440\u044a\u0442 \u0437\u0430\u0432\u0438\u0441\u0438 \u043e\u0442 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430\u0442\u0430 \u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0438\u0442\u0435 \u0438\u0437\u0438\u0441\u043a\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0430.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Livelock \u0432 Threads (Livelock \u043f\u0440\u0438 \u043d\u0438\u0448\u043a\u0438\u0442\u0435)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Livelock \u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043f\u0440\u0438 Concurrent Programming \u0432 Java, \u043f\u0440\u0438 \u043a\u043e\u0439\u0442\u043e \u0434\u0432\u0435 \u0438\u043b\u0438 \u043f\u043e\u0432\u0435\u0447\u0435 Threads \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0430\u0432\u0430\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0434\u0430 \u0440\u0435\u0430\u0433\u0438\u0440\u0430\u0442 \u0435\u0434\u043d\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u0430, \u043e\u043f\u0438\u0442\u0432\u0430\u0439\u043a\u0438 \u0441\u0435 \u0434\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0442 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442, \u043d\u043e \u0432 \u043a\u0440\u0430\u0439\u043d\u0430 \u0441\u043c\u0435\u0442\u043a\u0430 \u043d\u0438\u0442\u043e \u0435\u0434\u043d\u0430 \u043e\u0442 \u0442\u044f\u0445 \u043d\u0435 \u0443\u0441\u043f\u044f\u0432\u0430 \u0434\u0430 \u043f\u043e\u0441\u0442\u0438\u0433\u043d\u0435 \u043d\u0430\u043f\u0440\u0435\u0434\u044a\u043a (Progress).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430 \u0440\u0430\u0437\u043b\u0438\u043a\u0430 \u043e\u0442 Deadlock, \u043f\u0440\u0438 \u043a\u043e\u0439\u0442\u043e \u043d\u0438\u0448\u043a\u0438\u0442\u0435 \u0441\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u0430\u043d\u0438 \u0438 \u0447\u0430\u043a\u0430\u0442 \u0431\u0435\u0437\u043a\u0440\u0430\u0439\u043d\u043e, \u043f\u0440\u0438 Livelock \u043d\u0438\u0448\u043a\u0438\u0442\u0435 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0430\u0432\u0430\u0442 \u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u044f\u0442 \u0438 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u0442 \u0441\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u0442\u043e \u0441\u0438, \u043d\u043e \u043d\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0437\u0430\u0432\u044a\u0440\u0448\u0430\u0442 \u0437\u0430\u0434\u0430\u0447\u0438\u0442\u0435 \u0441\u0438.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 (Key Characteristics of Livelock)<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Threads are active \u2013 \u043d\u0438\u0448\u043a\u0438\u0442\u0435 \u043d\u0435 \u0441\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u0430\u043d\u0438, \u0430 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0430\u0432\u0430\u0442 \u0434\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438.<\/li>\n\n\n\n<li>Continuous State Changes \u2013 \u043d\u0435\u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0430\u0442\u043e \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u0442 \u0441\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u0442\u043e \u0441\u0438 \u0432 \u043e\u0442\u0433\u043e\u0432\u043e\u0440 \u043d\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u0442\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0442\u0435 \u043d\u0438\u0448\u043a\u0438.<\/li>\n\n\n\n<li>No Progress \u2013 \u0432\u044a\u043f\u0440\u0435\u043a\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0442\u0430 \u0441\u0438, \u043d\u0435 \u043f\u043e\u0441\u0442\u0438\u0433\u0430\u0442 \u043d\u0430\u043f\u0440\u0435\u0434\u044a\u043a \u0438 \u043d\u0435 \u0437\u0430\u0432\u044a\u0440\u0448\u0432\u0430\u0442 \u0437\u0430\u0434\u0430\u0447\u0438\u0442\u0435 \u0441\u0438.<\/li>\n\n\n\n<li>Repeated Conflict Resolution \u2013 \u043c\u043d\u043e\u0433\u043e\u043a\u0440\u0430\u0442\u043d\u043e \u0441\u0435 \u043e\u043f\u0438\u0442\u0432\u0430\u0442 \u0434\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0442 \u0435\u0434\u0438\u043d \u0438 \u0441\u044a\u0449 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442, \u043d\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u0442\u0430 \u0438\u043c \u0432\u0437\u0430\u0438\u043c\u043d\u043e \u0441\u0438 \u043f\u0440\u0435\u0447\u0430\u0442.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">2. \u041f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430 Livelock<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0435\u0442\u0435 \u0441\u0438 \u0434\u0432\u0430\u043c\u0430 \u0434\u0443\u0448\u0438, \u043a\u043e\u0438\u0442\u043e \u0441\u0435 \u043e\u043f\u0438\u0442\u0432\u0430\u0442 \u0434\u0430 \u0441\u0435 \u0440\u0430\u0437\u043c\u0438\u043d\u0430\u0442 \u0432 \u0442\u0435\u0441\u0435\u043d \u043a\u043e\u0440\u0438\u0434\u043e\u0440.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-5.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"970\" height=\"541\" data-attachment-id=\"3311\" data-permalink=\"https:\/\/vkrastev1blog.com\/2026\/05\/29\/questions-and-informations-prepairing-for-java-developer-job-interview\/image-55\/\" data-orig-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-5.png?fit=970%2C541&amp;ssl=1\" data-orig-size=\"970,541\" data-comments-opened=\"1\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-5.png?fit=970%2C541&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-5.png?resize=970%2C541&#038;ssl=1\" alt=\"\" class=\"wp-image-3311\" srcset=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-5.png?w=970&amp;ssl=1 970w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-5.png?resize=300%2C167&amp;ssl=1 300w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-5.png?resize=768%2C428&amp;ssl=1 768w\" sizes=\"auto, (max-width: 970px) 100vw, 970px\" \/><\/a><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u044a\u0440\u0432\u0438\u044f\u0442 \u0447\u043e\u0432\u0435\u043a \u043f\u0440\u0430\u0432\u0438 \u043a\u0440\u0430\u0447\u043a\u0430 \u043d\u0430\u043b\u044f\u0432\u043e, \u0437\u0430 \u0434\u0430 \u043f\u0440\u043e\u043f\u0443\u0441\u043d\u0435 \u0432\u0442\u043e\u0440\u0438\u044f.<\/li>\n\n\n\n<li>\u0412\u0442\u043e\u0440\u0438\u044f\u0442 \u0441\u044a\u0449\u043e \u043f\u0440\u0430\u0432\u0438 \u043a\u0440\u0430\u0447\u043a\u0430 \u043d\u0430\u043b\u044f\u0432\u043e.<\/li>\n\n\n\n<li>\u041f\u044a\u0440\u0432\u0438\u044f\u0442 \u043e\u0442\u043d\u043e\u0432\u043e \u0441\u0435 \u043e\u043f\u0438\u0442\u0432\u0430 \u0434\u0430 \u043e\u0442\u0441\u0442\u044a\u043f\u0438.<\/li>\n\n\n\n<li>\u0412\u0442\u043e\u0440\u0438\u044f\u0442 \u043f\u0440\u0430\u0432\u0438 \u0441\u044a\u0449\u043e\u0442\u043e.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0430\u043a\u0430 \u0434\u0432\u0430\u043c\u0430\u0442\u0430 \u043d\u0435\u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0430\u0442\u043e \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u0442 \u043f\u043e\u0437\u0438\u0446\u0438\u044f\u0442\u0430 \u0441\u0438, \u043d\u043e \u043d\u0438\u043a\u043e\u0439 \u043d\u0435 \u0443\u0441\u043f\u044f\u0432\u0430 \u0434\u0430 \u043f\u0440\u0435\u043c\u0438\u043d\u0435.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0432\u0430 \u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u044f \u043d\u0430 Livelock \u043f\u0440\u0438 Threads.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Java \u043f\u0440\u0438\u043c\u0435\u0440 (Livelock Example)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043b\u0435\u0434\u043d\u0438\u044f\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0430 Livelock \u0447\u0440\u0435\u0437 \u0434\u0432\u0435 \u043d\u0438\u0448\u043a\u0438, \u043a\u043e\u0438\u0442\u043e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0441\u0438 \u043e\u0442\u0441\u0442\u044a\u043f\u0432\u0430\u0442 \u043f\u0440\u0438 \u043e\u043f\u0438\u0442 \u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0442 \u043e\u0431\u0449 \u0440\u0435\u0441\u0443\u0440\u0441.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">import java.util.concurrent.atomic.AtomicBoolean;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class LivelockExample {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    static class Person {<\/div><div class=\"cm-line\">        private final String name;<\/div><div class=\"cm-line\">        private volatile boolean active = true;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        Person(String name) {<\/div><div class=\"cm-line\">            this.name = name;<\/div><div class=\"cm-line\">        }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        public boolean isActive() {<\/div><div class=\"cm-line\">            return active;<\/div><div class=\"cm-line\">        }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        public void giveWay() {<\/div><div class=\"cm-line\">            System.out.println(name + &quot; gives way.&quot;);<\/div><div class=\"cm-line\">            active = false;<\/div><div class=\"cm-line\">        }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        public void tryProceed() {<\/div><div class=\"cm-line\">            active = true;<\/div><div class=\"cm-line\">            System.out.println(name + &quot; tries to proceed.&quot;);<\/div><div class=\"cm-line\">        }<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        Person person1 = new Person(&quot;Person 1&quot;);<\/div><div class=\"cm-line\">        Person person2 = new Person(&quot;Person 2&quot;);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        Thread t1 = new Thread(() -&gt; {<\/div><div class=\"cm-line\">            while (person1.isActive()) {<\/div><div class=\"cm-line\">                if (person2.isActive()) {<\/div><div class=\"cm-line\">                    person1.giveWay();<\/div><div class=\"cm-line\">                } else {<\/div><div class=\"cm-line\">                    person1.tryProceed();<\/div><div class=\"cm-line\">                }<\/div><div class=\"cm-line\">            }<\/div><div class=\"cm-line\">        });<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        Thread t2 = new Thread(() -&gt; {<\/div><div class=\"cm-line\">            while (person2.isActive()) {<\/div><div class=\"cm-line\">                if (person1.isActive()) {<\/div><div class=\"cm-line\">                    person2.giveWay();<\/div><div class=\"cm-line\">                } else {<\/div><div class=\"cm-line\">                    person2.tryProceed();<\/div><div class=\"cm-line\">                }<\/div><div class=\"cm-line\">            }<\/div><div class=\"cm-line\">        });<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        t1.start();<\/div><div class=\"cm-line\">        t2.start();<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u0431\u0435\u043b\u0435\u0436\u043a\u0430: \u0422\u043e\u0432\u0430 \u0435 \u0438\u043b\u044e\u0441\u0442\u0440\u0430\u0442\u0438\u0432\u0435\u043d \u043f\u0440\u0438\u043c\u0435\u0440, \u0430 \u043d\u0435 \u043d\u0430\u0434\u0435\u0436\u0434\u043d\u0430 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u043d\u0430 Livelock. \u0418\u0437\u0445\u043e\u0434\u044a\u0442 \u0437\u0430\u0432\u0438\u0441\u0438 \u043e\u0442 Thread Scheduling, \u0430 \u0446\u0438\u043a\u044a\u043b\u044a\u0442 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0437\u0430\u0432\u044a\u0440\u0448\u0438 \u0438\u043b\u0438 \u0434\u0430 \u0441\u0435 \u0434\u044a\u0440\u0436\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u043e. <code>AtomicBoolean<\/code> import-\u044a\u0442 \u0441\u044a\u0449\u043e \u043d\u0435 \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. \u041e\u0431\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 (Explanation of the Example)<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Person Class \u2013 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044f \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a \u0432 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0430, \u043a\u0430\u0442\u043e \u0432\u0441\u0435\u043a\u0438 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a \u0438\u043c\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043e \u0441\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u0435.<\/li>\n\n\n\n<li>Threads \u2013 <code>t1<\/code> \u0436\u04d9\u043d\u0435 <code>t2<\/code> \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044f\u0442 \u0434\u0432\u0430\u043c\u0430\u0442\u0430 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u0446\u0438, \u043a\u043e\u0438\u0442\u043e \u0441\u0435 \u043e\u043f\u0438\u0442\u0432\u0430\u0442 \u0434\u0430 \u043f\u0440\u0435\u043c\u0438\u043d\u0430\u0442.<\/li>\n\n\n\n<li>State Changes \u2013 \u0432\u0441\u0435\u043a\u0438 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a \u043f\u0440\u043e\u043c\u0435\u043d\u044f \u0441\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u0442\u043e \u0441\u0438 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442 \u043e\u0442 \u0441\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u044f.<\/li>\n\n\n\n<li>Conflict \u2013 \u0434\u0432\u0430\u043c\u0430\u0442\u0430 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0430\u0442 \u0434\u0430 \u0441\u0438 \u043e\u0442\u0441\u0442\u044a\u043f\u0432\u0430\u0442, \u0431\u0435\u0437 \u0434\u0430 \u043f\u043e\u0441\u0442\u0438\u0433\u043d\u0430\u0442 \u043d\u0430\u043f\u0440\u0435\u0434\u044a\u043a.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u0442\u0430 \u0438\u0434\u0435\u044f \u0435, \u0447\u0435 \u043d\u0438\u0448\u043a\u0438\u0442\u0435 \u043d\u0435 \u0441\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u0430\u043d\u0438, \u0430 \u0441\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u0438, \u043d\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u0442\u0430 \u0438\u043c \u0432\u0437\u0430\u0438\u043c\u043d\u043e \u0432\u044a\u0437\u043f\u0440\u0435\u043f\u044f\u0442\u0441\u0442\u0432\u0430\u0442 \u0437\u0430\u0432\u044a\u0440\u0448\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0437\u0430\u0434\u0430\u0447\u0438\u0442\u0435.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. \u041a\u0430\u043a \u0434\u0430 \u0438\u0437\u0431\u0435\u0433\u043d\u0435\u043c Livelock? (How to Avoid Livelock)<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Timeouts \u2013 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 \u0432\u0440\u0435\u043c\u0435\u0432\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u0438 \u043e\u043f\u0438\u0442\u0438 \u0437\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0440\u0435\u0441\u0443\u0440\u0441.<\/li>\n\n\n\n<li>Fixed Strategy \u2013 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u0442\u0435 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u043d\u043e \u043a\u043e\u044f \u043d\u0438\u0448\u043a\u0430 \u0438\u043c\u0430 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0438\u043b\u0438 \u043f\u0440\u0430\u0432\u043e \u0434\u0430 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0438 \u043f\u044a\u0440\u0432\u0430.<\/li>\n\n\n\n<li>Randomization \u2013 \u0434\u043e\u0431\u0430\u0432\u0435\u0442\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u0437\u0430\u043a\u044a\u0441\u043d\u0435\u043d\u0438\u0435 (Random Delay) \u043c\u0435\u0436\u0434\u0443 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u0438\u0442\u0435 \u043e\u043f\u0438\u0442\u0438, \u0437\u0430 \u0434\u0430 \u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0435\u0442\u0435 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0438\u044f \u0446\u0438\u043a\u044a\u043b.<\/li>\n\n\n\n<li>Better Coordination \u2013 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0438 \u0437\u0430 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0446\u0438\u044f, \u043a\u0430\u0442\u043e <code>Semaphore<\/code>, <code>Lock<\/code> \u0438 \u044f\u0441\u043d\u0430 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f \u0437\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u0438\u0442\u0435.<\/li>\n\n\n\n<li>Bounded Retries \u2013 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u0442\u0435 \u0431\u0440\u043e\u044f \u043d\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u0438\u0442\u0435 \u043e\u043f\u0438\u0442\u0438, \u0432\u043c\u0435\u0441\u0442\u043e \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0431\u0435\u0437\u043a\u0440\u0430\u0435\u043d Retry Loop.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">6. \u0420\u0430\u0437\u043b\u0438\u043a\u0430 \u043c\u0435\u0436\u0434\u0443 Deadlock, Livelock \u0438 Starvation<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u041f\u0440\u043e\u0431\u043b\u0435\u043c<\/th><th>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/th><th>\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043d\u0430 Threads<\/th><\/tr><tr><td>Deadlock<\/td><td>\u0414\u0432\u0435 \u0438\u043b\u0438 \u043f\u043e\u0432\u0435\u0447\u0435 \u043d\u0438\u0448\u043a\u0438 \u0447\u0430\u043a\u0430\u0442 \u0432\u0437\u0430\u0438\u043c\u043d\u043e \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u0438.<\/td><td>\u0411\u043b\u043e\u043a\u0438\u0440\u0430\u043d\u0438 \u0441\u0430.<\/td><\/tr><tr><td>Livelock<\/td><td>\u041d\u0438\u0448\u043a\u0438\u0442\u0435 \u043d\u0435\u043f\u0440\u0435\u043a\u044a\u0441\u043d\u0430\u0442\u043e \u0440\u0435\u0430\u0433\u0438\u0440\u0430\u0442 \u0435\u0434\u043d\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u0430, \u0431\u0435\u0437 \u0434\u0430 \u043f\u043e\u0441\u0442\u0438\u0433\u0430\u0442 \u043d\u0430\u043f\u0440\u0435\u0434\u044a\u043a.<\/td><td>\u0410\u043a\u0442\u0438\u0432\u043d\u0438 \u0441\u0430, \u043d\u043e \u043d\u0435 \u0437\u0430\u0432\u044a\u0440\u0448\u0432\u0430\u0442 \u0437\u0430\u0434\u0430\u0447\u0438\u0442\u0435 \u0441\u0438.<\/td><\/tr><tr><td>Starvation<\/td><td>\u0415\u0434\u043d\u0430 \u043d\u0438\u0448\u043a\u0430 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438\u0442\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u0438 \u0438\u043b\u0438 CPU \u0432\u0440\u0435\u043c\u0435.<\/td><td>\u041c\u043e\u0436\u0435 \u0434\u0430 \u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u0430 \u0438\u043b\u0438 \u0434\u0430 \u0447\u0430\u043a\u0430, \u043d\u043e \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u044a\u0447\u043d\u043e \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0437\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Deadlock: Threads \u0441\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u0430\u043d\u0438 \u0438 \u0447\u0430\u043a\u0430\u0442 \u0431\u0435\u0437\u043a\u0440\u0430\u0439\u043d\u043e.<\/li>\n\n\n\n<li>Livelock: Threads \u0441\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u0438, \u043d\u043e \u043d\u0435 \u043f\u043e\u0441\u0442\u0438\u0433\u0430\u0442 \u043d\u0430\u043f\u0440\u0435\u0434\u044a\u043a.<\/li>\n\n\n\n<li>Starvation: \u0415\u0434\u043d\u0430 Thread \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438\u0442\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u0438 \u0437\u0430\u0440\u0430\u0434\u0438 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0446\u0438\u044f \u0438\u043b\u0438 \u043d\u0435\u0441\u043f\u0440\u0430\u0432\u0435\u0434\u043b\u0438\u0432\u043e \u0440\u0430\u0437\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434: \u041f\u0440\u0438 Livelock \u043d\u0438\u0448\u043a\u0438\u0442\u0435 \u043d\u0435 \u0441\u0430 \u0441\u043f\u0440\u0435\u043b\u0438 \u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u044f\u0442 \u2013 \u0442\u0435 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0430\u0432\u0430\u0442 \u0434\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043d\u043e \u0432\u0437\u0430\u0438\u043c\u043d\u043e \u0441\u0438 \u043f\u0440\u0435\u0447\u0430\u0442 \u0434\u0430 \u0437\u0430\u0432\u044a\u0440\u0448\u0430\u0442 \u0437\u0430\u0434\u0430\u0447\u0438\u0442\u0435 \u0441\u0438.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Marker Interfaces (\u041c\u0430\u0440\u043a\u0435\u0440\u043d\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0438)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Marker Interface \u0432 Java \u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u043a\u043e\u0439\u0442\u043e \u043d\u0435 \u0441\u044a\u0434\u044a\u0440\u0436\u0430 \u043c\u0435\u0442\u043e\u0434\u0438 \u0438\u043b\u0438 \u043f\u043e\u043b\u0435\u0442\u0430. \u0422\u043e\u0439 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430, \u0437\u0430 \u0434\u0430 \u043c\u0430\u0440\u043a\u0438\u0440\u0430 (Tag) \u0434\u0430\u0434\u0435\u043d Class \u0438 \u0434\u0430 \u0443\u043a\u0430\u0437\u0432\u0430, \u0447\u0435 \u0442\u043e\u0437\u0438 \u043a\u043b\u0430\u0441 \u043f\u0440\u0438\u0442\u0435\u0436\u0430\u0432\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0438\u043b\u0438 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u043d \u043f\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0435\u043d \u043d\u0430\u0447\u0438\u043d \u043e\u0442 Java Runtime \u0438\u043b\u0438 Frameworks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421 \u0434\u0440\u0443\u0433\u0438 \u0434\u0443\u043c\u0438, Marker Interface \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0437\u0430 \u0434\u0430\u0434\u0435\u043d \u043a\u043b\u0430\u0441 \u0447\u0440\u0435\u0437 \u0441\u0430\u043c\u0438\u044f \u0444\u0430\u043a\u0442, \u0447\u0435 \u0442\u043e\u0439 \u0433\u043e \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430 (<code>implements<\/code>).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u041f\u0440\u0438\u043c\u0435\u0440\u0438 \u0437\u0430 Marker Interfaces<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Java \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0438 Marker Interfaces:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1. Serializable<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041c\u0430\u0440\u043a\u0438\u0440\u0430 \u043a\u043b\u0430\u0441, \u0447\u0438\u0438\u0442\u043e \u043e\u0431\u0435\u043a\u0442\u0438 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 Serialized.<\/li>\n\n\n\n<li>Serialization \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u043e\u0431\u0435\u043a\u0442\u0430 \u0432 \u043f\u043e\u0442\u043e\u043a \u043e\u0442 \u0431\u0430\u0439\u0442\u043e\u0432\u0435 (Byte Stream), \u043a\u043e\u0439\u0442\u043e \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0441\u044a\u0445\u0440\u0430\u043d\u0435\u043d \u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u0430\u0434\u0435\u043d \u043f\u043e \u043c\u0440\u0435\u0436\u0430\u0442\u0430.<\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u043e\u0442 <code>ObjectOutputStream<\/code>.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">import java.io.Serializable;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Student implements Serializable {<\/div><div class=\"cm-line\">    private String name;<\/div><div class=\"cm-line\">    private int age;<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">2. Cloneable<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0423\u043a\u0430\u0437\u0432\u0430, \u0447\u0435 \u0434\u0430\u0434\u0435\u043d \u043a\u043b\u0430\u0441 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043a\u043e\u043f\u0438\u044f \u043d\u0430 \u0441\u0432\u043e\u0438\u0442\u0435 \u043e\u0431\u0435\u043a\u0442\u0438 \u0447\u0440\u0435\u0437 <code>Object.clone()<\/code>.<\/li>\n\n\n\n<li>\u0410\u043a\u043e \u043a\u043b\u0430\u0441\u044a\u0442 \u043d\u0435 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430 <code>Cloneable<\/code>, \u0438\u0437\u0432\u0438\u043a\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 <code>clone()<\/code> \u0432\u044a\u0440\u0445\u0443 \u043d\u0435\u0433\u043e \u0432\u043e\u0434\u0438 \u0434\u043e <code>CloneNotSupportedException<\/code>.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class Student implements Cloneable {<\/div><div class=\"cm-line\">    private String name;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    @Override<\/div><div class=\"cm-line\">    public Object clone() throws CloneNotSupportedException {<\/div><div class=\"cm-line\">        return super.clone();<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">3. Remote<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u043f\u0440\u0438 RMI (Remote Method Invocation).<\/li>\n\n\n\n<li>\u041c\u0430\u0440\u043a\u0438\u0440\u0430 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0438, \u0447\u0438\u0438\u0442\u043e \u043c\u0435\u0442\u043e\u0434\u0438 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0438\u0437\u0432\u0438\u043a\u0432\u0430\u043d\u0438 \u043e\u0442 \u043e\u0442\u0434\u0430\u043b\u0435\u0447\u0435\u043d\u0438 JVM \u043f\u0440\u043e\u0446\u0435\u0441\u0438.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">import java.rmi.Remote;<\/div><div class=\"cm-line\">import java.rmi.RemoteException;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public interface StudentService extends Remote {<\/div><div class=\"cm-line\">    void getStudent() throws RemoteException;<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">2. \u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u044f\u0442 Marker Interfaces? (How It Works)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Marker Interfaces \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 Type Checking \u2013 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0434\u0430\u043b\u0438 \u0434\u0430\u0434\u0435\u043d \u043a\u043b\u0430\u0441 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u0435\u043d \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>Serializable<\/code> \u0443\u043a\u0430\u0437\u0432\u0430 \u043d\u0430 <code>ObjectOutputStream<\/code>, \u0447\u0435 \u043e\u0431\u0435\u043a\u0442\u044a\u0442 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 Serialized.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">import java.io.Serializable;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Student implements Serializable {<\/div><div class=\"cm-line\">    private String name = &quot;John&quot;;<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\">        Student student = new Student();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        if (student instanceof Serializable) {<\/div><div class=\"cm-line\">            System.out.println(&quot;Object is Serializable&quot;);<\/div><div class=\"cm-line\">        }<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Object is Serializable<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0410\u043a\u043e \u043a\u043b\u0430\u0441\u044a\u0442 \u043d\u0435 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430 <code>Serializable<\/code>, \u043e\u043f\u0438\u0442\u044a\u0442 \u0437\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430 Java Serialization \u043d\u0430 \u0442\u0430\u043a\u044a\u0432 \u043e\u0431\u0435\u043a\u0442 \u0449\u0435 \u0434\u043e\u0432\u0435\u0434\u0435 \u0434\u043e <code>NotSerializableException<\/code> (\u043e\u0441\u0432\u0435\u043d \u0430\u043a\u043e \u043d\u0435 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0435\u043d \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u044a\u043c \u043a\u0430\u0442\u043e <code>writeReplace()<\/code>).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Marker Interfaces \u0441\u0440\u0435\u0449\u0443 Annotations<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421 \u0432\u044a\u0432\u0435\u0436\u0434\u0430\u043d\u0435\u0442\u043e \u043d\u0430 Annotations \u0432 Java 5 \u043c\u043d\u043e\u0433\u043e \u043e\u0442 \u0441\u043b\u0443\u0447\u0430\u0438\u0442\u0435 \u043d\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 Marker Interfaces \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0438 \u0447\u0440\u0435\u0437 Annotations.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Marker Interface<\/th><th>Annotation<\/th><\/tr><tr><td>\u041c\u0430\u0440\u043a\u0438\u0440\u0430 \u043a\u043b\u0430\u0441\u0430 \u0447\u0440\u0435\u0437 <code>implements<\/code>.<\/td><td>\u041c\u0430\u0440\u043a\u0438\u0440\u0430 \u043a\u043b\u0430\u0441\u0430 \u0447\u0440\u0435\u0437 <code>@Annotation<\/code>.<\/td><\/tr><tr><td>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 Type Checking \u0447\u0440\u0435\u0437 <code>instanceof<\/code>.<\/td><td>\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\u0442\u0430 \u0441\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0432\u0430 \u0447\u0440\u0435\u0437 Reflection \u0438\u043b\u0438 Annotation Processing.<\/td><\/tr><tr><td>\u041c\u043e\u0436\u0435 \u0434\u0430 \u0443\u0447\u0430\u0441\u0442\u0432\u0430 \u0432 Type Hierarchy.<\/td><td>\u041d\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u044f Type Hierarchy.<\/td><\/tr><tr><td>\u041f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u0437\u0430 \u043c\u0430\u0440\u043a\u0438\u0440\u0430\u043d\u0435, \u043a\u043e\u0433\u0430\u0442\u043e \u0435 \u0432\u0430\u0436\u043d\u043e \u0434\u0430\u0434\u0435\u043d \u043a\u043b\u0430\u0441 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d \u0442\u0438\u043f.<\/td><td>\u041f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u0437\u0430 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u0438 \u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u043c\u0435\u0440 \u0441 Annotation:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@interface Important {<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">@Important<\/div><div class=\"cm-line\">public class Student {<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0433\u0430 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 Marker Interface?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u0438\u0441\u043a\u0430\u043c\u0435 \u0434\u0430 \u043c\u0430\u0440\u043a\u0438\u0440\u0430\u043c\u0435 \u043a\u043b\u0430\u0441 \u043a\u0430\u0442\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d \u0442\u0438\u043f.<\/li>\n\n\n\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0447\u0440\u0435\u0437 <code>instanceof<\/code>.<\/li>\n\n\n\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u0442\u043e \u0437\u0430\u0432\u0438\u0441\u0438 \u043e\u0442 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u0435\u043d \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0433\u0430 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 Annotation?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u0438\u0441\u043a\u0430\u043c\u0435 \u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u0438 \u043a\u044a\u043c \u043a\u043b\u0430\u0441\u043e\u0432\u0435, \u043c\u0435\u0442\u043e\u0434\u0438 \u0438\u043b\u0438 \u043f\u043e\u043b\u0435\u0442\u0430.<\/li>\n\n\n\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 Frameworks \u043a\u0430\u0442\u043e Spring \u0438\u043b\u0438 Hibernate.<\/li>\n\n\n\n<li>\u041a\u043e\u0433\u0430\u0442\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\u0442\u0430 \u0441\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430 \u0447\u0440\u0435\u0437 Reflection \u0438\u043b\u0438 Annotation Processing.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. \u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Marker Interface \u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0431\u0435\u0437 \u043c\u0435\u0442\u043e\u0434\u0438 \u0438 \u043f\u043e\u043b\u0435\u0442\u0430.<\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u0437\u0430 \u043c\u0430\u0440\u043a\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e.<\/li>\n\n\n\n<li>\u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u0438 \u0441\u0430 <code>Serializable<\/code>, <code>Cloneable<\/code> \u0436\u04d9\u043d\u0435 <code>Remote<\/code>.<\/li>\n\n\n\n<li><code>instanceof<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0434\u0430\u043b\u0438 \u0434\u0430\u0434\u0435\u043d \u043e\u0431\u0435\u043a\u0442 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430 Marker Interface.<\/li>\n\n\n\n<li>Annotations \u0441\u0430 \u0430\u043b\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0435\u043d \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u044a\u043c \u0437\u0430 \u0434\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u0438, \u043d\u043e \u043d\u0435 \u0437\u0430\u043c\u0435\u043d\u044f\u0442 \u043d\u0430\u043f\u044a\u043b\u043d\u043e Marker Interfaces.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434: Marker Interface \u0435 \u043d\u0430\u0447\u0438\u043d Java \u0434\u0430 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u0447\u0440\u0435\u0437 Type System, \u0431\u0435\u0437 \u0434\u0430 \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044a\u0442 \u0434\u0430 \u0434\u0435\u0444\u0438\u043d\u0438\u0440\u0430 \u043c\u0435\u0442\u043e\u0434\u0438.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u041a\u0430\u043a \u0435\u0434\u0438\u043d Method \u0432 Java \u043c\u043e\u0436\u0435 \u0434\u0430 \u0432\u0440\u044a\u0449\u0430 \u043f\u043e\u0432\u0435\u0447\u0435 \u043e\u0442 \u0435\u0434\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442? (Returning Multiple Values)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 Java \u0435\u0434\u0438\u043d Method \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e \u0434\u0430 \u0432\u0440\u044a\u0449\u0430 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u043e\u0442\u0434\u0435\u043b\u043d\u0438 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438. \u0422\u043e\u0439 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0432\u0440\u044a\u0449\u0430 \u0441\u0430\u043c\u043e \u0435\u0434\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u0438\u043b\u0438 \u0435\u0434\u0438\u043d Object.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u044a\u043f\u0440\u0435\u043a\u0438 \u0442\u043e\u0432\u0430 \u0438\u043c\u0430 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u043d\u0430\u0447\u0438\u043d\u0430 \u0434\u0430 \u043f\u043e\u0441\u0442\u0438\u0433\u043d\u0435\u043c \u0435\u0444\u0435\u043a\u0442\u0430 \u043d\u0430 \u0432\u0440\u044a\u0449\u0430\u043d\u0435 \u043d\u0430 \u043f\u043e\u0432\u0435\u0447\u0435 \u043e\u0442 \u0435\u0434\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 Custom Class \u0438\u043b\u0438 Object<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u043e\u0436\u0435\u043c \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u043c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d Class, \u043a\u043e\u0439\u0442\u043e \u0441\u044a\u0434\u044a\u0440\u0436\u0430 \u043d\u044f\u043a\u043e\u043b\u043a\u043e Fields. \u041c\u0435\u0442\u043e\u0434\u044a\u0442 \u0432\u0440\u044a\u0449\u0430 \u0435\u0434\u0438\u043d Object, \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u0449 \u0432\u0441\u0438\u0447\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class StudentInfo {<\/div><div class=\"cm-line\">    private String name;<\/div><div class=\"cm-line\">    private int age;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public StudentInfo(String name, int age) {<\/div><div class=\"cm-line\">        this.name = name;<\/div><div class=\"cm-line\">        this.age = age;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public String getName() {<\/div><div class=\"cm-line\">        return name;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public int getAge() {<\/div><div class=\"cm-line\">        return age;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041c\u0435\u0442\u043e\u0434, \u043a\u043e\u0439\u0442\u043e \u0432\u0440\u044a\u0449\u0430 Object:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public StudentInfo getValues() {<\/div><div class=\"cm-line\">    return new StudentInfo(&quot;John&quot;, 25);<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">StudentInfo info = getValues();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">System.out.println(info.getName());<\/div><div class=\"cm-line\">System.out.println(info.getAge());<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0432\u0430 \u0435 \u0447\u0438\u0441\u0442 \u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u0437\u0430 \u043c\u043d\u043e\u0433\u043e\u043a\u0440\u0430\u0442\u043d\u0430 \u0443\u043f\u043e\u0442\u0440\u0435\u0431\u0430 \u043f\u043e\u0434\u0445\u043e\u0434. \u0412 \u0441\u044a\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u0442\u0430 Java \u043c\u043e\u0436\u0435 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 \u0438 <code>record<\/code>.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public record StudentInfo(String name, int age) {}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public StudentInfo getValues() {<\/div><div class=\"cm-line\">    return new StudentInfo(&quot;John&quot;, 25);<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">2. \u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 Arrays<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u043e\u0436\u0435\u043c \u0434\u0430 \u0432\u044a\u0440\u043d\u0435\u043c Array, \u043a\u043e\u0433\u0430\u0442\u043e \u0432\u0441\u0438\u0447\u043a\u0438 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438 \u0441\u0430 \u043e\u0442 \u0435\u0434\u0438\u043d \u0438 \u0441\u044a\u0449\u0438 \u0442\u0438\u043f.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public int[] getValues() {<\/div><div class=\"cm-line\">    return new int[] {10, 20, 30};<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">int[] values = getValues();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">System.out.println(values[0]);<\/div><div class=\"cm-line\">System.out.println(values[1]);<\/div><div class=\"cm-line\">System.out.println(values[2]);<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0437\u0438 \u043f\u043e\u0434\u0445\u043e\u0434 \u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u0437\u0430 \u0444\u0438\u043a\u0441\u0438\u0440\u0430\u043d \u0431\u0440\u043e\u0439 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438 \u043e\u0442 \u0435\u0434\u0438\u043d \u0442\u0438\u043f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. \u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 Map<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u043e\u0436\u0435\u043c \u0434\u0430 \u0432\u044a\u0440\u043d\u0435\u043c <code>Map<\/code>, \u043a\u043e\u0433\u0430\u0442\u043e \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438\u0442\u0435 \u0438\u043c\u0430\u0442 \u0432\u0440\u044a\u0437\u043a\u0430 Key-Value.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">import java.util.Map;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public Map&lt;String, Object&gt; getValues() {<\/div><div class=\"cm-line\">    return Map.of(<\/div><div class=\"cm-line\">        &quot;name&quot;, &quot;John&quot;,<\/div><div class=\"cm-line\">        &quot;age&quot;, 25,<\/div><div class=\"cm-line\">        &quot;salary&quot;, 3000.0<\/div><div class=\"cm-line\">    );<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Map&lt;String, Object&gt; values = getValues();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">System.out.println(values.get(&quot;name&quot;));<\/div><div class=\"cm-line\">System.out.println(values.get(&quot;age&quot;));<\/div><div class=\"cm-line\">System.out.println(values.get(&quot;salary&quot;));<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0437\u0438 \u043f\u043e\u0434\u0445\u043e\u0434 \u0435 \u0433\u044a\u0432\u043a\u0430\u0432, \u0437\u0430\u0449\u043e\u0442\u043e \u043c\u043e\u0436\u0435\u043c \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 \u043e\u043f\u0438\u0441\u0430\u0442\u0435\u043b\u043d\u0438 Keys. \u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u044a\u043a\u044a\u0442 \u0435, \u0447\u0435 \u043f\u0440\u0438 <code>Map&lt;String, Object&gt;<\/code> \u0447\u0435\u0441\u0442\u043e \u0441\u0435 \u043d\u0430\u043b\u0430\u0433\u0430 Type Casting.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. \u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 Pair \u0438\u043b\u0438 Tuple<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u043e\u0436\u0435\u043c \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 \u0433\u043e\u0442\u043e\u0432\u0438 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u043e\u0442 \u0432\u044a\u043d\u0448\u043d\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u043a\u043e\u0438\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430\u0442 \u0432\u0440\u044a\u0449\u0430\u043d\u0435 \u043d\u0430 \u0434\u0432\u0435 \u0438\u043b\u0438 \u043f\u043e\u0432\u0435\u0447\u0435 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 Apache Commons Lang \u2013 Pair:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">import org.apache.commons.lang3.tuple.Pair;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public Pair&lt;String, Integer&gt; getValues() {<\/div><div class=\"cm-line\">    return Pair.of(&quot;John&quot;, 25);<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Pair&lt;String, Integer&gt; result = getValues();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">System.out.println(result.getLeft());<\/div><div class=\"cm-line\">System.out.println(result.getRight());<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0437\u0438 \u043f\u043e\u0434\u0445\u043e\u0434 \u0435 \u0443\u0434\u043e\u0431\u0435\u043d \u0437\u0430 \u043c\u0430\u043b\u044a\u043a \u0431\u0440\u043e\u0439 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438, \u0431\u0435\u0437 \u0434\u0430 \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043c\u0435 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d Class.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. \u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 List \u0438\u043b\u0438 Set<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0433\u0430\u0442\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0432\u044a\u0440\u043d\u0435\u043c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438 \u043e\u0442 \u0435\u0434\u0438\u043d \u0438 \u0441\u044a\u0449\u0438 \u0442\u0438\u043f, \u043c\u043e\u0436\u0435\u043c \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 Collections.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">List Example:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">import java.util.List;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public List&lt;String&gt; getNames() {<\/div><div class=\"cm-line\">    return List.of(&quot;John&quot;, &quot;Peter&quot;, &quot;Michael&quot;);<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Set Example:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">import java.util.Set;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public Set&lt;Integer&gt; getNumbers() {<\/div><div class=\"cm-line\">    return Set.of(10, 20, 30);<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><code>List<\/code> \u0437\u0430\u043f\u0430\u0437\u0432\u0430 \u0440\u0435\u0434\u0430 \u0438 \u0434\u043e\u043f\u0443\u0441\u043a\u0430 \u0434\u0443\u0431\u043b\u0438\u0440\u0430\u043d\u0438 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438, \u0434\u043e\u043a\u0430\u0442\u043e <code>Set<\/code> \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u0443\u043d\u0438\u043a\u0430\u043b\u043d\u0438 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442\u0435<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u041f\u043e\u0434\u0445\u043e\u0434<\/th><th>\u041a\u043e\u0433\u0430 \u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449?<\/th><\/tr><tr><td>Custom Class \/ Record<\/td><td>\u041a\u043e\u0433\u0430\u0442\u043e \u0432\u0440\u044a\u0449\u0430\u043c\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0442\u0438\u043f\u043e\u0432\u0435 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438 \u0441 \u044f\u0441\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.<\/td><\/tr><tr><td>Array<\/td><td>\u041a\u043e\u0433\u0430\u0442\u043e \u0432\u0440\u044a\u0449\u0430\u043c\u0435 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438 \u043e\u0442 \u0435\u0434\u0438\u043d \u0438 \u0441\u044a\u0449\u0438 \u0442\u0438\u043f.<\/td><\/tr><tr><td>Map<\/td><td>\u041a\u043e\u0433\u0430\u0442\u043e \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438\u0442\u0435 \u0438\u043c\u0430\u0442 Key-Value \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430.<\/td><\/tr><tr><td>Pair \/ Tuple<\/td><td>\u041a\u043e\u0433\u0430\u0442\u043e \u0432\u0440\u044a\u0449\u0430\u043c\u0435 \u0434\u0432\u0435 \u0438\u043b\u0438 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438 \u0431\u0435\u0437 \u043d\u0443\u0436\u0434\u0430 \u043e\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d Class.<\/td><\/tr><tr><td>List \/ Set<\/td><td>\u041a\u043e\u0433\u0430\u0442\u043e \u0432\u0440\u044a\u0449\u0430\u043c\u0435 \u043a\u043e\u043b\u0435\u043a\u0446\u0438\u044f \u043e\u0442 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438 \u043e\u0442 \u0435\u0434\u0438\u043d \u0442\u0438\u043f.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Java Method \u043c\u043e\u0436\u0435 \u0434\u0430 \u0432\u0440\u044a\u0449\u0430 \u0441\u0430\u043c\u043e \u0435\u0434\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442.<\/li>\n\n\n\n<li>\u0422\u0430\u0437\u0438 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 Primitive Type, Array, Collection \u0438\u043b\u0438 Object.<\/li>\n\n\n\n<li>Custom Class \u0438 Record \u0441\u0430 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u043d \u043f\u043e\u0434\u0445\u043e\u0434, \u043a\u043e\u0433\u0430\u0442\u043e \u0432\u0440\u044a\u0449\u0430\u043c\u0435 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438.<\/li>\n\n\n\n<li><code>Map<\/code> \u0435 \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u043f\u0440\u0438 Key-Value \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438, \u043d\u043e \u043c\u043e\u0436\u0435 \u0434\u0430 \u0438\u0437\u0438\u0441\u043a\u0432\u0430 Type Casting.<\/li>\n\n\n\n<li><code>Pair<\/code> \u0436\u04d9\u043d\u0435 <code>Tuple<\/code> \u0441\u0430 \u0443\u0434\u043e\u0431\u043d\u0438 \u0430\u043b\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0438, \u043d\u043e \u043d\u0435 \u0432\u0438\u043d\u0430\u0433\u0438 \u0441\u0430 \u043d\u0430\u0439-\u0434\u043e\u0431\u0440\u0438\u044f\u0442 \u0438\u0437\u0431\u043e\u0440 \u0437\u0430 \u0441\u043b\u043e\u0436\u043d\u0438 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434: \u0412 \u0441\u044a\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u0442\u0430 Java \u043d\u0430\u0439-\u0447\u0438\u0441\u0442\u0438\u044f\u0442 \u043f\u043e\u0434\u0445\u043e\u0434 \u0437\u0430 \u0432\u0440\u044a\u0449\u0430\u043d\u0435 \u043d\u0430 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438 \u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 Custom Class \u0438\u043b\u0438 Record, \u0437\u0430\u0449\u043e\u0442\u043e \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430\u0442 Type Safety, \u0447\u0435\u0442\u0438\u043c\u043e\u0441\u0442 \u0438 \u043b\u0435\u0441\u043d\u0430 \u043f\u043e\u0434\u0434\u0440\u044a\u0436\u043a\u0430 \u043d\u0430 \u043a\u043e\u0434\u0430.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Microservices Patterns (\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u0440\u0438 Microservices)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Microservices Patterns \u0441\u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438, \u043a\u043e\u0438\u0442\u043e \u043f\u043e\u043c\u0430\u0433\u0430\u0442 \u043f\u0440\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u0430\u043d\u0435\u0442\u043e, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u043d\u0435\u0442\u043e, \u043a\u043e\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044f\u0442\u0430, Deployment \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 Microservices Architecture.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0435 \u0440\u0435\u0448\u0430\u0432\u0430\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438, \u0441\u0432\u044a\u0440\u0437\u0430\u043d\u0438 \u0441 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 \u0443\u0441\u043b\u0443\u0433\u0438\u0442\u0435, \u043a\u043e\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044f\u0442\u0430, \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435, \u0441\u0438\u0433\u0443\u0440\u043d\u043e\u0441\u0442\u0442\u0430 \u0438 \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0430.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Decomposition Patterns (\u041c\u043e\u0434\u0435\u043b\u0438 \u0437\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u043d\u0435 \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0430)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0435\u0437\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442 \u043a\u0430\u043a \u0435\u0434\u043d\u0430 \u0433\u043e\u043b\u044f\u043c\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 (Monolithic Application) \u0434\u0430 \u0431\u044a\u0434\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0430 \u043d\u0430 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0438 Microservices.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Decompose by Business Capability<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0420\u0430\u0437\u0434\u0435\u043b\u044f\u043d\u0435 \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0430 \u0441\u043f\u043e\u0440\u0435\u0434 \u0431\u0438\u0437\u043d\u0435\u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u0438\u0442\u0435.<\/li>\n\n\n\n<li>\u0412\u0441\u0435\u043a\u0438 Service \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f \u0437\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0430 \u0431\u0438\u0437\u043d\u0435\u0441 \u0434\u0435\u0439\u043d\u043e\u0441\u0442.<\/li>\n\n\n\n<li>\u041f\u0440\u0438\u043c\u0435\u0440: Billing Service, Inventory Service, Payment Service.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Decompose by Subdomain<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044a\u0442 Domain-Driven Design (DDD).<\/li>\n\n\n\n<li>\u0421\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0430 \u0441\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044f \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u043d\u0438 Subdomains \u0441\u043f\u043e\u0440\u0435\u0434 \u0431\u0438\u0437\u043d\u0435\u0441 \u043b\u043e\u0433\u0438\u043a\u0430\u0442\u0430.<\/li>\n\n\n\n<li>\u0412\u0441\u0435\u043a\u0438 Microservice \u043e\u0431\u0441\u043b\u0443\u0436\u0432\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d \u0431\u0438\u0437\u043d\u0435\u0441 Subdomain.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">2. Communication Patterns (\u041c\u043e\u0434\u0435\u043b\u0438 \u0437\u0430 \u043a\u043e\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044f)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442 \u043a\u0430\u043a Microservices \u043e\u0431\u043c\u0435\u043d\u044f\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043f\u043e\u043c\u0435\u0436\u0434\u0443 \u0441\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">API Gateway<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0415\u0434\u0438\u043d\u043d\u0430 \u0432\u0445\u043e\u0434\u043d\u0430 \u0442\u043e\u0447\u043a\u0430 \u0437\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/li>\n\n\n\n<li>\u041c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0438\u0440\u0430 \u0437\u0430\u044f\u0432\u043a\u0438\u0442\u0435 \u043a\u044a\u043c \u0441\u044a\u043e\u0442\u0432\u0435\u0442\u043d\u0438\u0442\u0435 Microservices.<\/li>\n\n\n\n<li>\u041c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f Authentication, Rate Limiting \u0438 Load Balancing.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Service Registry<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0441\u043f\u0438\u0441\u044a\u043a \u0441 \u043d\u0430\u043b\u0438\u0447\u043d\u0438\u0442\u0435 Services \u0438 \u0442\u0435\u0445\u043d\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441\u0438.<\/li>\n\n\n\n<li>\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 Dynamic Service Discovery.<\/li>\n\n\n\n<li>\u041f\u0440\u0438\u043c\u0435\u0440: Eureka, Consul.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Circuit Breaker<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0432\u0430 Cascading Failures.<\/li>\n\n\n\n<li>\u041f\u0440\u0438 \u043c\u043d\u043e\u0433\u043e\u043a\u0440\u0430\u0442\u043d\u0438 \u043d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u0438 \u0437\u0430\u044f\u0432\u043a\u0438 \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u044f\u0432\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0438\u0437\u0432\u0438\u043a\u0432\u0430\u043d\u0438\u044f\u0442\u0430 \u043a\u044a\u043c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043d\u0438\u044f Service.<\/li>\n\n\n\n<li>\u0421\u043b\u0435\u0434 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d \u043f\u0435\u0440\u0438\u043e\u0434 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0432\u0430 \u0434\u0430\u043b\u0438 Service \u043e\u0442\u043d\u043e\u0432\u043e \u0440\u0430\u0431\u043e\u0442\u0438.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Message Broker<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430 \u043a\u043e\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044f \u043c\u0435\u0436\u0434\u0443 Microservices.<\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Message Queues \u0438\u043b\u0438 Event Streaming.<\/li>\n\n\n\n<li>\u041f\u0440\u0438\u043c\u0435\u0440\u0438: RabbitMQ \u0438 Apache Kafka.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">3. Data Management Patterns (\u041c\u043e\u0434\u0435\u043b\u0438 \u0437\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442 \u043a\u0430\u043a Microservices \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u0442, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442 \u0438 \u0441\u043f\u043e\u0434\u0435\u043b\u044f\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Database per Service<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0412\u0441\u0435\u043a\u0438 Microservice \u0438\u043c\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u0430 Database.<\/li>\n\n\n\n<li>\u0414\u0430\u043d\u043d\u0438\u0442\u0435 \u0441\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430\u0442 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e.<\/li>\n\n\n\n<li>\u041d\u0430\u043c\u0430\u043b\u044f\u0432\u0430 Coupling \u043c\u0435\u0436\u0434\u0443 \u0443\u0441\u043b\u0443\u0433\u0438\u0442\u0435.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Shared Database<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041d\u044f\u043a\u043e\u043b\u043a\u043e Microservices \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0435\u0434\u043d\u0430 \u043e\u0431\u0449\u0430 Database.<\/li>\n\n\n\n<li>\u041f\u043e-\u043b\u0435\u0441\u043d\u043e \u0441\u043f\u043e\u0434\u0435\u043b\u044f\u043d\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438, \u043d\u043e \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u043f\u043e-\u0441\u0438\u043b\u043d\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442 \u043c\u0435\u0436\u0434\u0443 \u0443\u0441\u043b\u0443\u0433\u0438\u0442\u0435.<\/li>\n\n\n\n<li>\u041c\u043e\u0436\u0435 \u0434\u0430 \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u0438 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0442\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0438 Deployment.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Event Sourcing<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0412\u043c\u0435\u0441\u0442\u043e \u0434\u0430 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u0441\u0430\u043c\u043e \u0442\u0435\u043a\u0443\u0449\u043e\u0442\u043e \u0441\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043d\u0430 \u043e\u0431\u0435\u043a\u0442\u0430, \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0430 \u0437\u0430\u043f\u0438\u0441\u0432\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442 \u043e\u0442 Events.<\/li>\n\n\n\n<li>\u0422\u0435\u043a\u0443\u0449\u043e\u0442\u043e \u0441\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u0435\u043d\u043e \u0447\u0440\u0435\u0437 Replay \u043d\u0430 Events.<\/li>\n\n\n\n<li>\u041e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 \u0434\u043e\u0431\u0440\u0430 \u043f\u0440\u043e\u0441\u043b\u0435\u0434\u0438\u043c\u043e\u0441\u0442 \u043d\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u0442\u0435.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">CQRS (Command Query Responsibility Segregation)<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0420\u0430\u0437\u0434\u0435\u043b\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438\u0442\u0435 \u0437\u0430 \u043f\u0440\u043e\u043c\u044f\u043d\u0430 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438 (Commands) \u043e\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438\u0442\u0435 \u0437\u0430 \u0447\u0435\u0442\u0435\u043d\u0435 (Queries).<\/li>\n\n\n\n<li>\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043e\u0442\u0434\u0435\u043b\u043d\u0430 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 Read \u0438 Write \u043c\u043e\u0434\u0435\u043b\u0438\u0442\u0435.<\/li>\n\n\n\n<li>\u041f\u043e\u043b\u0435\u0437\u0435\u043d \u043f\u0440\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0438 \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u043e \u043d\u0430\u0442\u043e\u0432\u0430\u0440\u0432\u0430\u043d\u0435 \u0437\u0430 \u0447\u0435\u0442\u0435\u043d\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Saga Pattern<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0423\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 Distributed Transactions \u043c\u0435\u0436\u0434\u0443 \u043d\u044f\u043a\u043e\u043b\u043a\u043e Microservices.<\/li>\n\n\n\n<li>\u0412\u0441\u044f\u043a\u0430 \u0443\u0441\u043b\u0443\u0433\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u0430 Local Transaction.<\/li>\n\n\n\n<li>\u041f\u0440\u0438 \u043d\u0435\u0443\u0441\u043f\u0435\u0445 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430\u0442 Compensating Transactions, \u043a\u043e\u0438\u0442\u043e \u043a\u043e\u043c\u043f\u0435\u043d\u0441\u0438\u0440\u0430\u0442 \u0432\u0435\u0447\u0435 \u0438\u0437\u0432\u044a\u0440\u0448\u0435\u043d\u0438\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. Deployment Patterns (\u041c\u043e\u0434\u0435\u043b\u0438 \u0437\u0430 \u0432\u043d\u0435\u0434\u0440\u044f\u0432\u0430\u043d\u0435)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442 \u043a\u0430\u043a Microservices \u0441\u0435 Deployment-\u0432\u0430\u0442 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430\u0442 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u0430 \u0441\u0440\u0435\u0434\u0430.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sidecar<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0420\u0430\u0437\u043f\u043e\u043b\u0430\u0433\u0430 \u043f\u043e\u043c\u043e\u0449\u0435\u043d \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0434\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u0438\u044f Service.<\/li>\n\n\n\n<li>\u041f\u043e\u043c\u043e\u0449\u043d\u0438\u044f\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430 Logging, Monitoring, Proxy \u0438\u043b\u0438 Security.<\/li>\n\n\n\n<li>\u0427\u0435\u0441\u0442\u043e \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0432 Kubernetes.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Service Mesh<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0423\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 Service-to-Service Communication.<\/li>\n\n\n\n<li>\u041e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 Load Balancing, Traffic Management, Security \u0438 Observability.<\/li>\n\n\n\n<li>\u041f\u0440\u0438\u043c\u0435\u0440\u0438: Istio, Linkerd.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Blue-Green Deployment<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0434\u0432\u0435 \u0441\u0440\u0435\u0434\u0438 \u2013 Blue (\u0442\u0435\u043a\u0443\u0449\u0430 \u0432\u0435\u0440\u0441\u0438\u044f) \u0438 Green (\u043d\u043e\u0432\u0430 \u0432\u0435\u0440\u0441\u0438\u044f).<\/li>\n\n\n\n<li>\u041d\u043e\u0432\u0430\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u0435 \u0442\u0435\u0441\u0442\u0432\u0430 \u0432 Green \u0441\u0440\u0435\u0434\u0430\u0442\u0430.<\/li>\n\n\n\n<li>\u0421\u043b\u0435\u0434 \u0443\u0441\u043f\u0435\u0448\u0435\u043d \u0442\u0435\u0441\u0442 \u0442\u0440\u0430\u0444\u0438\u043a\u044a\u0442 \u0441\u0435 \u043f\u0440\u0435\u043d\u0430\u0441\u043e\u0447\u0432\u0430 \u043a\u044a\u043c \u043d\u0435\u044f.<\/li>\n\n\n\n<li>\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0431\u044a\u0440\u0437 Rollback \u043f\u0440\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Canary Deployment<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041d\u043e\u0432\u0430\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u043f\u044a\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u043d\u043e \u043d\u0430 \u043c\u0430\u043b\u043a\u0430 \u0447\u0430\u0441\u0442 \u043e\u0442 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0438\u0442\u0435.<\/li>\n\n\n\n<li>\u0421\u043b\u0435\u0434\u0438 \u0441\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u0442\u043e \u0438 \u0441\u0442\u0430\u0431\u0438\u043b\u043d\u043e\u0441\u0442\u0442\u0430.<\/li>\n\n\n\n<li>\u041f\u0440\u0438 \u0443\u0441\u043f\u0435\u0448\u0435\u043d \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442 \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u0441\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0430\u0432\u0430 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u044a\u0442 \u043d\u0430 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043a\u044a\u043c \u043d\u043e\u0432\u0430\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044f.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">5. Resilience Patterns (\u041c\u043e\u0434\u0435\u043b\u0438 \u0437\u0430 \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0426\u0435\u043b\u0442\u0430 \u0438\u043c \u0435 \u0434\u0430 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0442 \u043e\u0442\u043a\u0430\u0437\u0438 \u0438 \u0434\u0430 \u0437\u0430\u043f\u0430\u0437\u044f\u0442 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0430 \u043f\u0440\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Retry<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u043e\u0432\u0442\u0430\u0440\u044f \u043d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u0430 \u0437\u0430\u044f\u0432\u043a\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e.<\/li>\n\n\n\n<li>\u0427\u0435\u0441\u0442\u043e \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Exponential Backoff \u043c\u0435\u0436\u0434\u0443 \u043e\u043f\u0438\u0442\u0438\u0442\u0435.<\/li>\n\n\n\n<li>\u0422\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u0435 \u043f\u0440\u0438\u043b\u0430\u0433\u0430 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u043d\u043e, \u0437\u0430 \u0434\u0430 \u043d\u0435 \u0441\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0430\u0432\u0430 \u043d\u0430\u0442\u043e\u0432\u0430\u0440\u0432\u0430\u043d\u0435\u0442\u043e \u043f\u0440\u0438 \u0432\u0435\u0447\u0435 \u043f\u0440\u0435\u0442\u043e\u0432\u0430\u0440\u0435\u043d\u0430 \u0443\u0441\u043b\u0443\u0433\u0430.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Bulkhead<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0418\u0437\u043e\u043b\u0438\u0440\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u0438\u0442\u0435 \u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438\u0442\u0435 \u0443\u0441\u043b\u0443\u0433\u0438 \u0438\u043b\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/li>\n\n\n\n<li>\u041f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u0435\u0434\u043d\u0430 \u0447\u0430\u0441\u0442 \u043e\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0430 \u043d\u0435 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0438\u0437\u0447\u0435\u0440\u043f\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0438\u0442\u0435 \u043d\u0430 \u043e\u0441\u0442\u0430\u043d\u0430\u043b\u0438\u0442\u0435.<\/li>\n\n\n\n<li>\u0418\u043c\u0435\u0442\u043e \u0438\u0434\u0432\u0430 \u043e\u0442 \u043f\u0440\u0435\u0433\u0440\u0430\u0434\u0438\u0442\u0435 \u0432\u044a\u0432 \u0432\u043e\u0434\u043e\u043d\u0435\u043f\u0440\u043e\u043d\u0438\u0446\u0430\u0435\u043c\u0438\u0442\u0435 \u043e\u0442\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u043a\u043e\u0440\u0430\u0431\u0438\u0442\u0435.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Timeout<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u043d\u043e\u0442\u043e \u0432\u0440\u0435\u043c\u0435 \u0437\u0430 \u0438\u0437\u0447\u0430\u043a\u0432\u0430\u043d\u0435 \u043d\u0430 \u043e\u0442\u0433\u043e\u0432\u043e\u0440 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430 \u0443\u0441\u043b\u0443\u0433\u0430.<\/li>\n\n\n\n<li>\u041f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0432\u0430 \u0431\u0435\u0437\u043a\u0440\u0430\u0439\u043d\u043e \u0447\u0430\u043a\u0430\u043d\u0435 \u0438 \u0438\u0437\u0447\u0435\u0440\u043f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u0438.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Failover<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u0440\u0435\u043d\u0430\u0441\u043e\u0447\u0432\u0430 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043a\u044a\u043c \u0440\u0435\u0437\u0435\u0440\u0432\u0435\u043d Service \u0438\u043b\u0438 Instance \u043f\u0440\u0438 \u043e\u0442\u043a\u0430\u0437 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u0438\u044f.<\/li>\n\n\n\n<li>\u041f\u043e\u0434\u043e\u0431\u0440\u044f\u0432\u0430 Availability \u0438 Fault Tolerance.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">6. Observability Patterns (\u041c\u043e\u0434\u0435\u043b\u0438 \u0437\u0430 \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430\u0442 \u0434\u0430 \u0441\u0435 \u0441\u043b\u0435\u0434\u0438 \u0441\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u0442\u043e \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 Microservices.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Log Aggregation<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0421\u044a\u0431\u0438\u0440\u0430 Logs \u043e\u0442 \u0432\u0441\u0438\u0447\u043a\u0438 Microservices \u043d\u0430 \u0435\u0434\u043d\u043e \u043c\u044f\u0441\u0442\u043e.<\/li>\n\n\n\n<li>\u0423\u043b\u0435\u0441\u043d\u044f\u0432\u0430 Debugging \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0438.<\/li>\n\n\n\n<li>\u041f\u0440\u0438\u043c\u0435\u0440\u0438: ELK Stack, Grafana Loki.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Distributed Tracing<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u0440\u043e\u0441\u043b\u0435\u0434\u044f\u0432\u0430 \u0435\u0434\u043d\u0430 \u0437\u0430\u044f\u0432\u043a\u0430 \u043f\u0440\u0435\u0437 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e Microservices.<\/li>\n\n\n\n<li>\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043e\u0442\u043a\u0440\u0438\u0432\u0430\u043d\u0435 \u043d\u0430 Bottlenecks \u0438 \u0437\u0430\u0431\u0430\u0432\u044f\u043d\u0438\u044f.<\/li>\n\n\n\n<li>\u041f\u0440\u0438\u043c\u0435\u0440\u0438: OpenTelemetry, Jaeger, Zipkin.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Health Check<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0432\u0430 \u0434\u0430\u043b\u0438 \u0434\u0430\u0434\u0435\u043d Service \u0440\u0430\u0431\u043e\u0442\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u043d\u043e.<\/li>\n\n\n\n<li>\u041e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0432\u0430 Liveness \u0438 Readiness Checks.<\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u043e\u0442 Kubernetes \u0437\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0442\u0430.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Metrics Collection<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0421\u044a\u0431\u0438\u0440\u0430 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u0437\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442 \u0438 \u043d\u0430\u0442\u043e\u0432\u0430\u0440\u0432\u0430\u043d\u0435.<\/li>\n\n\n\n<li>\u041f\u0440\u0438\u043c\u0435\u0440\u0438: CPU Usage, Memory Usage, Request Rate, Error Rate \u0438 Response Time.<\/li>\n\n\n\n<li>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0438: Prometheus \u0438 Grafana.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">7. Security Patterns (\u041c\u043e\u0434\u0435\u043b\u0438 \u0437\u0430 \u0441\u0438\u0433\u0443\u0440\u043d\u043e\u0441\u0442)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430\u0442 \u0437\u0430\u0449\u0438\u0442\u0430 \u043d\u0430 \u043a\u043e\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044f\u0442\u0430, \u0434\u043e\u0441\u0442\u044a\u043f\u0430 \u0438 \u0434\u0430\u043d\u043d\u0438\u0442\u0435.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Access Token<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Tokens \u0437\u0430 Authentication \u0438 Authorization.<\/li>\n\n\n\n<li>\u0427\u0435\u0441\u0442\u043e \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 OAuth 2.0 \u0438 OpenID Connect.<\/li>\n\n\n\n<li>\u041f\u0440\u0438\u043c\u0435\u0440: JWT (JSON Web Token).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Encryption<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0417\u0430\u0449\u0438\u0442\u0430\u0432\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435 \u043f\u0440\u0438 \u043f\u0440\u0435\u0434\u0430\u0432\u0430\u043d\u0435 (Data in Transit) \u0438 \u043f\u0440\u0438 \u0441\u044a\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 (Data at Rest).<\/li>\n\n\n\n<li>\u041f\u0440\u0438\u043c\u0435\u0440\u0438: TLS\/HTTPS \u0438 Database Encryption.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">API Throttling<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0431\u0440\u043e\u044f \u0437\u0430\u044f\u0432\u043a\u0438 \u0437\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d \u043f\u0435\u0440\u0438\u043e\u0434.<\/li>\n\n\n\n<li>\u041f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0432\u0430 \u0437\u043b\u043e\u0443\u043f\u043e\u0442\u0440\u0435\u0431\u0438 \u0438 \u043f\u0440\u0435\u043a\u043e\u043c\u0435\u0440\u043d\u043e \u043d\u0430\u0442\u043e\u0432\u0430\u0440\u0432\u0430\u043d\u0435.<\/li>\n\n\n\n<li>\u0427\u0435\u0441\u0442\u043e \u0441\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0438\u0440\u0430 \u0447\u0440\u0435\u0437 Rate Limiting.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">8. Testing Patterns (\u041c\u043e\u0434\u0435\u043b\u0438 \u0437\u0430 \u0442\u0435\u0441\u0442\u0432\u0430\u043d\u0435)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u043c\u0430\u0433\u0430\u0442 \u0437\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u043d\u0430\u0442\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u043d\u0438\u0442\u0435 Microservices \u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u0442\u043e \u043c\u0435\u0436\u0434\u0443 \u0442\u044f\u0445.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Consumer-Driven Contracts<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Consumer \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f \u043e\u0447\u0430\u043a\u0432\u0430\u043d\u0438\u044f\u0442\u0430 \u0441\u0438 \u043a\u044a\u043c API \u043d\u0430 Provider Service.<\/li>\n\n\n\n<li>Provider \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0432\u0430 \u0434\u0430\u043b\u0438 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 \u0442\u0435\u0437\u0438 \u043e\u0447\u0430\u043a\u0432\u0430\u043d\u0438\u044f.<\/li>\n\n\n\n<li>\u041d\u0430\u043c\u0430\u043b\u044f\u0432\u0430 \u0440\u0438\u0441\u043a\u0430 \u043e\u0442 \u043d\u0435\u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0438 \u043f\u0440\u043e\u043c\u0435\u043d\u0438 \u0432 API.<\/li>\n\n\n\n<li>\u041f\u0440\u0438\u043c\u0435\u0440\u0435\u043d \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442: Pact.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Service Virtualization<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0421\u0438\u043c\u0443\u043b\u0438\u0440\u0430 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u0432\u044a\u043d\u0448\u043d\u0438 Services, \u043a\u043e\u0438\u0442\u043e \u043d\u0435 \u0441\u0430 \u043d\u0430\u043b\u0438\u0447\u043d\u0438 \u043f\u043e \u0432\u0440\u0435\u043c\u0435 \u043d\u0430 \u0442\u0435\u0441\u0442\u0432\u0430\u043d\u0435.<\/li>\n\n\n\n<li>\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0442\u0435\u0441\u0442\u0432\u0430\u043d\u0435 \u0431\u0435\u0437 \u0440\u0435\u0430\u043b\u043d\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442 \u043e\u0442 \u0432\u044a\u043d\u0448\u043d\u0430\u0442\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Chaos Engineering<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0412\u044a\u0432\u0435\u0436\u0434\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0430\u043d\u0438 \u043e\u0442\u043a\u0430\u0437\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0430.<\/li>\n\n\n\n<li>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0432\u0430 \u0434\u0430\u043b\u0438 Microservices \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0430\u0442 \u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u044f\u0442 \u043f\u0440\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438.<\/li>\n\n\n\n<li>\u041f\u0440\u0438\u043c\u0435\u0440: \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u0435\u043a\u044a\u0441\u0432\u0430\u043d\u0435 \u043d\u0430 \u043c\u0440\u0435\u0436\u043e\u0432\u0430 \u0432\u0440\u044a\u0437\u043a\u0430 \u0438\u043b\u0438 \u0441\u043f\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 Service Instance.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">9. Integration Patterns (\u041c\u043e\u0434\u0435\u043b\u0438 \u0437\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0441\u0435 \u0437\u0430 \u0441\u0432\u044a\u0440\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 Microservices \u0438 \u0432\u044a\u043d\u0448\u043d\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aggregator<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0418\u0437\u043f\u0440\u0430\u0449\u0430 \u0437\u0430\u044f\u0432\u043a\u0438 \u043a\u044a\u043c \u043d\u044f\u043a\u043e\u043b\u043a\u043e Microservices.<\/li>\n\n\n\n<li>\u041e\u0431\u0435\u0434\u0438\u043d\u044f\u0432\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0442\u0435 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438 \u0432 \u0435\u0434\u0438\u043d \u043e\u0431\u0449 Response.<\/li>\n\n\n\n<li>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 Dashboard, \u043a\u043e\u0439\u0442\u043e \u0441\u044a\u0431\u0438\u0440\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0442 Customer, Order \u0438 Payment Services.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Proxy<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0414\u0435\u0439\u0441\u0442\u0432\u0430 \u043a\u0430\u0442\u043e \u043f\u043e\u0441\u0440\u0435\u0434\u043d\u0438\u043a \u043c\u0435\u0436\u0434\u0443 Client \u0438 Service \u0438\u043b\u0438 \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0435 Services.<\/li>\n\n\n\n<li>\u041f\u0440\u0435\u043f\u0440\u0430\u0449\u0430 \u0437\u0430\u044f\u0432\u043a\u0438\u0442\u0435 \u0438 \u043e\u0442\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u0435.<\/li>\n\n\n\n<li>\u041c\u043e\u0436\u0435 \u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u044f Authentication, Logging \u0438 Routing.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Adapter<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430 Data Formats \u0438\u043b\u0438 Communication Protocols.<\/li>\n\n\n\n<li>\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u0438 \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0438.<\/li>\n\n\n\n<li>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430\u043d\u0435 \u043d\u0430 XML \u043a\u044a\u043c JSON.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">10. \u041d\u0430\u0439-\u0432\u0430\u0436\u043d\u0438\u0442\u0435 Microservices Patterns \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Pattern<\/th><th>\u041e\u0441\u043d\u043e\u0432\u043d\u043e \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th><\/tr><tr><td>API Gateway<\/td><td>\u0415\u0434\u0438\u043d\u043d\u0430 \u0432\u0445\u043e\u0434\u043d\u0430 \u0442\u043e\u0447\u043a\u0430 \u043a\u044a\u043c Microservices<\/td><\/tr><tr><td>Service Discovery<\/td><td>\u041e\u0442\u043a\u0440\u0438\u0432\u0430\u043d\u0435 \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u043d\u0438\u0442\u0435 Services<\/td><\/tr><tr><td>Circuit Breaker<\/td><td>\u041f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 Cascading Failures<\/td><\/tr><tr><td>Database per Service<\/td><td>\u041d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435<\/td><\/tr><tr><td>Saga<\/td><td>\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 Distributed Transactions<\/td><\/tr><tr><td>CQRS<\/td><td>\u0420\u0430\u0437\u0434\u0435\u043b\u044f\u043d\u0435 \u043d\u0430 Read \u0438 Write \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438\u0442\u0435<\/td><\/tr><tr><td>Event Sourcing<\/td><td>\u0417\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442\u0442\u0430 \u043e\u0442 Events<\/td><\/tr><tr><td>Retry<\/td><td>\u041f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u0435 \u043d\u0430 \u043d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438<\/td><\/tr><tr><td>Bulkhead<\/td><td>\u0418\u0437\u043e\u043b\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u0438<\/td><\/tr><tr><td>Distributed Tracing<\/td><td>\u041f\u0440\u043e\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0437\u0430\u044f\u0432\u043a\u0438 \u043c\u0435\u0436\u0434\u0443 Services<\/td><\/tr><tr><td>Blue-Green Deployment<\/td><td>\u0411\u0435\u0437\u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043d\u043e \u043f\u0440\u0435\u043c\u0438\u043d\u0430\u0432\u0430\u043d\u0435 \u043a\u044a\u043c \u043d\u043e\u0432\u0430 \u0432\u0435\u0440\u0441\u0438\u044f<\/td><\/tr><tr><td>Canary Deployment<\/td><td>\u041f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u0432\u043d\u0435\u0434\u0440\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u043d\u043e\u0432\u0430 \u0432\u0435\u0440\u0441\u0438\u044f<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Microservices Patterns \u043f\u043e\u043c\u0430\u0433\u0430\u0442 \u0437\u0430 \u0438\u0437\u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043c\u0430\u0449\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u0438, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0438 \u0438 \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u0438 \u0440\u0430\u0437\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430 Java Developer \u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043e \u0432\u0430\u0436\u043d\u043e \u0434\u0430 \u0440\u0430\u0437\u0431\u0438\u0440\u0430 API Gateway, Service Discovery, Circuit Breaker, Saga, CQRS, Kafka\/RabbitMQ, Database per Service \u0438 Distributed Tracing, \u0437\u0430\u0449\u043e\u0442\u043e \u0442\u0435\u0437\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u0441\u0435 \u0441\u0440\u0435\u0449\u0430\u0442 \u0447\u0435\u0441\u0442\u043e \u043f\u0440\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u0442\u0430 \u043d\u0430 \u0441\u044a\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0438 Enterprise Applications \u0438 Microservices Architecture.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Microservices vs Monolith Architecture<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Monolithic Architecture \u0438 Microservices Architecture \u0441\u0430 \u0434\u0432\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u0437\u0430 \u0438\u0437\u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0435 \u043d\u0430 \u0441\u043e\u0444\u0442\u0443\u0435\u0440\u043d\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u0442\u0430 \u0440\u0430\u0437\u043b\u0438\u043a\u0430 \u0435, \u0447\u0435 \u043f\u0440\u0438 Monolith \u0446\u044f\u043b\u043e\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430 \u0438 Deployment-\u0432\u0430 \u043a\u0430\u0442\u043e \u0435\u0434\u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0430, \u0434\u043e\u043a\u0430\u0442\u043e \u043f\u0440\u0438 Microservices \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0430 \u0441\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044f \u043d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0438 Services.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Monolithic Architecture (\u041c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Monolithic Application \u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0438\u0437\u0433\u0440\u0430\u0434\u0435\u043d\u043e \u043a\u0430\u0442\u043e \u0435\u0434\u043d\u0430 \u0446\u044f\u043b\u043e\u0441\u0442\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430. \u041d\u0435\u0433\u043e\u0432\u0438\u0442\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0438, \u043a\u0430\u0442\u043e User Interface, Business Logic \u0438 Data Access Layer, \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0441\u0430 \u0447\u0430\u0441\u0442 \u043e\u0442 \u0435\u0434\u043d\u0430 Codebase \u0438 \u0441\u0435 Deployment-\u0432\u0430\u0442 \u0437\u0430\u0435\u0434\u043d\u043e.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-6.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"965\" height=\"537\" data-attachment-id=\"3322\" data-permalink=\"https:\/\/vkrastev1blog.com\/2026\/05\/29\/questions-and-informations-prepairing-for-java-developer-job-interview\/image-56\/\" data-orig-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-6.png?fit=965%2C537&amp;ssl=1\" data-orig-size=\"965,537\" data-comments-opened=\"1\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-6.png?fit=965%2C537&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-6.png?resize=965%2C537&#038;ssl=1\" alt=\"\" class=\"wp-image-3322\" srcset=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-6.png?w=965&amp;ssl=1 965w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-6.png?resize=300%2C167&amp;ssl=1 300w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-6.png?resize=768%2C427&amp;ssl=1 768w\" sizes=\"auto, (max-width: 965px) 100vw, 965px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/medium.com\/data-science\/is-microservice-architecture-the-best-choice-for-machine-learning-deployment-39ae325a2baf?utm_source=chatgpt.com\">medium.com<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u041f\u0440\u0435\u0434\u0438\u043c\u0441\u0442\u0432\u0430 (Advantages)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Easy Deployment<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u0442\u043e \u0441\u0435 Deployment-\u0432\u0430 \u043a\u0430\u0442\u043e \u0435\u0434\u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0430.<\/li>\n\n\n\n<li>\u041d\u0435 \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0438 Services.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Development Speed<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0412 \u043d\u0430\u0447\u0430\u043b\u043e\u0442\u043e \u043d\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u0442\u0430 \u0435 \u043f\u043e-\u0431\u044a\u0440\u0437\u0430 \u043f\u043e\u0440\u0430\u0434\u0438 \u043f\u043e-\u043f\u0440\u043e\u0441\u0442\u0430\u0442\u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430.<\/li>\n\n\n\n<li>\u041f\u043e-\u043b\u0435\u0441\u043d\u043e Debugging \u0438 Testing.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Performance<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0412\u044a\u0442\u0440\u0435\u0448\u043d\u0430\u0442\u0430 \u043a\u043e\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0438\u0442\u0435 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0435 \u0447\u0440\u0435\u0437 \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u0438 Method Calls.<\/li>\n\n\n\n<li>\u041d\u0435 \u0441\u0435 \u043d\u0430\u043b\u0430\u0433\u0430 Network Communication \u043c\u0435\u0436\u0434\u0443 \u043e\u0442\u0434\u0435\u043b\u043d\u0438 Services.<\/li>\n\n\n\n<li>\u041d\u0430\u043c\u0430\u043b\u044f\u0432\u0430 Network Latency.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Simplicity<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u043e-\u043b\u0435\u0441\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 Configuration, Logging \u0438 Deployment.<\/li>\n\n\n\n<li>\u041f\u043e-\u043c\u0430\u043b\u043a\u043e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u044a\u0446\u0438 (Disadvantages)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Limited Scalability \u2013 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0446\u044f\u043b\u043e\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441\u0435 \u043c\u0430\u0449\u0430\u0431\u0438\u0440\u0430, \u0434\u043e\u0440\u0438 \u043a\u043e\u0433\u0430\u0442\u043e \u0441\u0430\u043c\u043e \u0435\u0434\u0438\u043d \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0438\u043c\u0430 \u043d\u0443\u0436\u0434\u0430 \u043e\u0442 \u043f\u043e\u0432\u0435\u0447\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u0438.<\/li>\n\n\n\n<li>Tight Coupling \u2013 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0438\u0442\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0441\u0442\u0430\u043d\u0430\u0442 \u0441\u0438\u043b\u043d\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0438 \u0435\u0434\u0438\u043d \u043e\u0442 \u0434\u0440\u0443\u0433.<\/li>\n\n\n\n<li>Technology Lock-in \u2013 \u043f\u043e-\u0442\u0440\u0443\u0434\u043d\u043e \u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0437\u0430 \u043e\u0442\u0434\u0435\u043b\u043d\u0438\u0442\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0438.<\/li>\n\n\n\n<li>Deployment Risk \u2013 \u043f\u0440\u043e\u043c\u044f\u043d\u0430 \u0432 \u0435\u0434\u0438\u043d \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043d\u0430\u043b\u043e\u0436\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e Deployment \u043d\u0430 \u0446\u044f\u043b\u043e\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435.<\/li>\n\n\n\n<li>Maintenance Complexity \u2013 \u043f\u0440\u0438 \u0440\u0430\u0437\u0440\u0430\u0441\u0442\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0430 Codebase \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0442\u0430\u043d\u0435 \u0442\u0440\u0443\u0434\u043d\u0430 \u0437\u0430 \u043f\u043e\u0434\u0434\u0440\u044a\u0436\u043a\u0430.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">2. Microservices Architecture (\u041c\u0438\u043a\u0440\u043e\u0441\u044a\u0440\u0432\u0438\u0441\u043d\u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Microservices Architecture \u0440\u0430\u0437\u0434\u0435\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043c\u0430\u043b\u043a\u0438, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0438 Services. \u0412\u0441\u0435\u043a\u0438 Service \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f \u0437\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 Business Capability \u0438\u043b\u0438 Business Domain.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0442\u0434\u0435\u043b\u043d\u0438\u0442\u0435 Services \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u043d\u0438, Deployment-\u0432\u0430\u043d\u0438 \u0438 \u043c\u0430\u0449\u0430\u0431\u0438\u0440\u0430\u043d\u0438 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-7.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"966\" height=\"542\" data-attachment-id=\"3323\" data-permalink=\"https:\/\/vkrastev1blog.com\/2026\/05\/29\/questions-and-informations-prepairing-for-java-developer-job-interview\/image-57\/\" data-orig-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-7.png?fit=966%2C542&amp;ssl=1\" data-orig-size=\"966,542\" data-comments-opened=\"1\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-7.png?fit=966%2C542&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-7.png?resize=966%2C542&#038;ssl=1\" alt=\"\" class=\"wp-image-3323\" srcset=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-7.png?w=966&amp;ssl=1 966w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-7.png?resize=300%2C168&amp;ssl=1 300w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-7.png?resize=768%2C431&amp;ssl=1 768w\" sizes=\"auto, (max-width: 966px) 100vw, 966px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.freecodecamp.org\/news\/microservices-vs-monoliths-explained\/?utm_source=chatgpt.com\">freecodecamp.org<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0435\u0434\u043d\u0430 Online Shop \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0432\u043a\u043b\u044e\u0447\u0432\u0430:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Customer Service \u2013 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0438\u0442\u0435.<\/li>\n\n\n\n<li>Order Service \u2013 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043f\u043e\u0440\u044a\u0447\u043a\u0438\u0442\u0435.<\/li>\n\n\n\n<li>Payment Service \u2013 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u043f\u043b\u0430\u0449\u0430\u043d\u0438\u044f\u0442\u0430.<\/li>\n\n\n\n<li>Inventory Service \u2013 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u043a\u043b\u0430\u0434\u043e\u0432\u0438\u0442\u0435 \u043d\u0430\u043b\u0438\u0447\u043d\u043e\u0441\u0442\u0438.<\/li>\n\n\n\n<li>Notification Service \u2013 \u0438\u0437\u043f\u0440\u0430\u0449\u0430\u043d\u0435 \u043d\u0430 Email \u0438 \u0434\u0440\u0443\u0433\u0438 \u0438\u0437\u0432\u0435\u0441\u0442\u0438\u044f.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u041f\u0440\u0435\u0434\u0438\u043c\u0441\u0442\u0432\u0430 (Advantages)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Scalability<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0412\u0441\u0435\u043a\u0438 Service \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043c\u0430\u0449\u0430\u0431\u0438\u0440\u0430\u043d \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e.<\/li>\n\n\n\n<li>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 Payment Service \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0438 \u043f\u043e\u0432\u0435\u0447\u0435 Instances \u043f\u0440\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u043e \u043d\u0430\u0442\u043e\u0432\u0430\u0440\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u043b\u0430\u0449\u0430\u043d\u0438\u044f\u0442\u0430.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Flexibility<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0420\u0430\u0437\u043b\u0438\u0447\u043d\u0438\u0442\u0435 Services \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 Programming Languages, Frameworks \u0438 Databases.<\/li>\n\n\n\n<li>\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0438\u0437\u0431\u043e\u0440 \u043d\u0430 \u043d\u0430\u0439-\u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0430\u0442\u0430 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f \u0437\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0430\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0430.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Isolation<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u0435\u0434\u0438\u043d Service \u043d\u0435 \u0435 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u043e \u0434\u0430 \u0437\u0430\u0441\u0435\u0433\u043d\u0435 \u0446\u044f\u043b\u0430\u0442\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430.<\/li>\n\n\n\n<li>\u0427\u0440\u0435\u0437 Circuit Breaker, Timeout \u0438 Bulkhead \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438 \u0440\u0430\u0437\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u043e\u0442\u043a\u0430\u0437\u0438.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Independent Deployment<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0412\u0441\u0435\u043a\u0438 Service \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 Deployment-\u0432\u0430\u043d \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e.<\/li>\n\n\n\n<li>\u041d\u0435 \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0446\u044f\u043b\u0430\u0442\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0441\u043f\u0438\u0440\u0430\u043d\u0430 \u043f\u0440\u0438 \u0432\u0441\u044f\u043a\u0430 \u043f\u0440\u043e\u043c\u044f\u043d\u0430.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Team Autonomy<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; \u0420\u0430\u0437\u043b\u0438\u0447\u043d\u0438 Development Teams \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u044f\u0442 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u0432\u044a\u0440\u0445\u0443 \u043e\u0442\u0434\u0435\u043b\u043d\u0438 Services.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u041f\u0440\u0435\u0434\u0438\u0437\u0432\u0438\u043a\u0430\u0442\u0435\u043b\u0441\u0442\u0432\u0430 (Challenges)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Complexity<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e Services \u0438\u0437\u0438\u0441\u043a\u0432\u0430 \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430.<\/li>\n\n\n\n<li>\u0427\u0435\u0441\u0442\u043e \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 Docker, Kubernetes \u0438 Service Discovery.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Network Overhead<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041a\u043e\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044f\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 Services \u043f\u0440\u0435\u043c\u0438\u043d\u0430\u0432\u0430 \u043f\u0440\u0435\u0437 \u043c\u0440\u0435\u0436\u0430\u0442\u0430.<\/li>\n\n\n\n<li>\u0422\u043e\u0432\u0430 \u0434\u043e\u0431\u0430\u0432\u044f Network Latency \u0438 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442 \u0437\u0430 Network Failures.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Deployment Complexity<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0438 Deployments \u0438 \u0432\u0435\u0440\u0441\u0438\u0438.<\/li>\n\n\n\n<li>\u0418\u0437\u0438\u0441\u043a\u0432\u0430 \u0441\u0435 \u0434\u043e\u0431\u0440\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0438\u0440\u0430\u043d CI\/CD \u043f\u0440\u043e\u0446\u0435\u0441.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Data Management<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0412\u0441\u0435\u043a\u0438 Service \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u043f\u0440\u0438\u0442\u0435\u0436\u0430\u0432\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u0430 Database.<\/li>\n\n\n\n<li>Distributed Transactions \u0441\u0430 \u043f\u043e-\u0441\u043b\u043e\u0436\u043d\u0438 \u0438 \u0447\u0435\u0441\u0442\u043e \u0438\u0437\u0438\u0441\u043a\u0432\u0430\u0442 Saga Pattern.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Monitoring and Debugging<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u0440\u043e\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0435\u0434\u043d\u0430 \u0437\u0430\u044f\u0432\u043a\u0430 \u043f\u0440\u0435\u0437 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e Services \u0435 \u043f\u043e-\u0442\u0440\u0443\u0434\u043d\u043e.<\/li>\n\n\n\n<li>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438 \u0441\u0430 Centralized Logging \u0438 Distributed Tracing.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">3. Monolith vs Microservices \u2013 \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u0425\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430<\/th><th>Monolith<\/th><th>Microservices<\/th><\/tr><tr><td>Architecture<\/td><td>\u0415\u0434\u043d\u043e \u0446\u044f\u043b\u043e\u0441\u0442\u043d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435<\/td><td>\u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0438 Services<\/td><\/tr><tr><td>Codebase<\/td><td>\u041e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0435\u0434\u043d\u0430 \u043e\u0431\u0449\u0430 Codebase<\/td><td>\u041e\u0442\u0434\u0435\u043b\u043d\u0438 Codebases \u0438\u043b\u0438 \u043c\u043e\u0434\u0443\u043b\u0438<\/td><\/tr><tr><td>Deployment<\/td><td>\u0417\u0430\u0435\u0434\u043d\u043e<\/td><td>\u041d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e<\/td><\/tr><tr><td>Scalability<\/td><td>\u041e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0446\u044f\u043b\u043e\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435<\/td><td>\u0412\u0441\u0435\u043a\u0438 Service \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e<\/td><\/tr><tr><td>Communication<\/td><td>Method Calls<\/td><td>REST, gRPC, Messaging<\/td><\/tr><tr><td>Database<\/td><td>\u0427\u0435\u0441\u0442\u043e \u043e\u0431\u0449\u0430 Database<\/td><td>\u041e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e Database per Service<\/td><\/tr><tr><td>Technology<\/td><td>\u041e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0435\u0434\u0438\u043d \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u043d \u0441\u0442\u0435\u043a<\/td><td>\u0420\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438<\/td><\/tr><tr><td>Testing<\/td><td>\u041f\u043e-\u043b\u0435\u0441\u043d\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e \u0442\u0435\u0441\u0442\u0432\u0430\u043d\u0435<\/td><td>\u041f\u043e-\u0441\u043b\u043e\u0436\u043d\u043e Distributed Testing<\/td><\/tr><tr><td>Performance<\/td><td>\u041f\u043e-\u043c\u0430\u043b\u043a\u043e Network Overhead<\/td><td>\u0414\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u0430 Network Latency<\/td><\/tr><tr><td>Maintenance<\/td><td>\u041f\u043e-\u043b\u0435\u0441\u043d\u043e \u0432 \u043d\u0430\u0447\u0430\u043b\u043e\u0442\u043e<\/td><td>\u0418\u0437\u0438\u0441\u043a\u0432\u0430 \u0434\u043e\u0431\u0440\u0430 Service Architecture<\/td><\/tr><tr><td>Infrastructure<\/td><td>\u041f\u043e-\u043f\u0440\u043e\u0441\u0442\u0430<\/td><td>\u041f\u043e-\u0441\u043b\u043e\u0436\u043d\u0430<\/td><\/tr><tr><td>Fault Isolation<\/td><td>\u041f\u043e-\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0430<\/td><td>\u041f\u043e-\u0434\u043e\u0431\u0440\u0430 \u043f\u0440\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0435\u043d \u0434\u0438\u0437\u0430\u0439\u043d<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">4. \u041f\u0440\u0438\u043c\u0435\u0440 \u0441 Online Shop<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-8.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"962\" height=\"712\" data-attachment-id=\"3324\" data-permalink=\"https:\/\/vkrastev1blog.com\/2026\/05\/29\/questions-and-informations-prepairing-for-java-developer-job-interview\/image-58\/\" data-orig-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-8.png?fit=962%2C712&amp;ssl=1\" data-orig-size=\"962,712\" data-comments-opened=\"1\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-8.png?fit=962%2C712&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-8.png?resize=962%2C712&#038;ssl=1\" alt=\"\" class=\"wp-image-3324\" srcset=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-8.png?w=962&amp;ssl=1 962w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-8.png?resize=300%2C222&amp;ssl=1 300w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-8.png?resize=768%2C568&amp;ssl=1 768w\" sizes=\"auto, (max-width: 962px) 100vw, 962px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438 Monolith \u0432\u0441\u0438\u0447\u043a\u0438 \u0431\u0438\u0437\u043d\u0435\u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u0430 \u0447\u0430\u0441\u0442 \u043e\u0442 \u0435\u0434\u043d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u043e\u0431\u0449\u0430 Database.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438 Microservices \u0432\u0441\u044f\u043a\u0430 \u0443\u0441\u043b\u0443\u0433\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u0438\u0442\u0435 \u0441\u0438 \u0434\u0430\u043d\u043d\u0438 \u0438 \u043a\u043e\u043c\u0443\u043d\u0438\u043a\u0438\u0440\u0430 \u0441 \u043e\u0441\u0442\u0430\u043d\u0430\u043b\u0438\u0442\u0435 \u0447\u0440\u0435\u0437 API \u0438\u043b\u0438 Message Broker.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. \u041a\u043e\u0433\u0430 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u043c Monolith \u0438 \u043a\u043e\u0433\u0430 Microservices?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 Monolith, \u043a\u043e\u0433\u0430\u0442\u043e:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442\u0435 \u043c\u0430\u043b\u043a\u043e \u0438\u043b\u0438 \u0441\u0440\u0435\u0434\u043d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435.<\/li>\n\n\n\n<li>\u041f\u0440\u043e\u0435\u043a\u0442\u044a\u0442 \u0435 \u0432 \u043d\u0430\u0447\u0430\u043b\u043d\u0430 \u0444\u0430\u0437\u0430.<\/li>\n\n\n\n<li>\u0415\u043a\u0438\u043f\u044a\u0442 \u0435 \u043c\u0430\u043b\u044a\u043a.<\/li>\n\n\n\n<li>\u041d\u044f\u043c\u0430\u0442\u0435 \u043d\u0443\u0436\u0434\u0430 \u043e\u0442 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043c\u0430\u0449\u0430\u0431\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u043d\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0438.<\/li>\n\n\n\n<li>\u0418\u0441\u043a\u0430\u0442\u0435 \u043f\u043e-\u043f\u0440\u043e\u0441\u0442\u043e Deployment \u0438 Maintenance.<\/li>\n\n\n\n<li>\u041d\u044f\u043c\u0430\u0442\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442 \u043e\u0442 \u0441\u043b\u043e\u0436\u043d\u0430 Distributed Infrastructure.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 Microservices, \u043a\u043e\u0433\u0430\u0442\u043e:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442\u0435 \u0433\u043e\u043b\u044f\u043c\u0430 Enterprise \u0441\u0438\u0441\u0442\u0435\u043c\u0430.<\/li>\n\n\n\n<li>\u0418\u043c\u0430\u0442\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0438 Business Domains.<\/li>\n\n\n\n<li>\u0420\u0430\u0437\u043b\u0438\u0447\u043d\u0438 Teams \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442 \u043e\u0442\u0434\u0435\u043b\u043d\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442\u0438.<\/li>\n\n\n\n<li>\u041e\u0442\u0434\u0435\u043b\u043d\u0438\u0442\u0435 Services \u0438\u043c\u0430\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0438\u0437\u0438\u0441\u043a\u0432\u0430\u043d\u0438\u044f \u0437\u0430 Scalability.<\/li>\n\n\n\n<li>\u0418\u043c\u0430\u0442\u0435 \u043d\u0443\u0436\u0434\u0430 \u043e\u0442 Independent Deployment.<\/li>\n\n\n\n<li>\u0420\u0430\u0437\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u0435 \u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u0442\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0437\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 Distributed Systems.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">6. \u041c\u043e\u0436\u0435 \u043b\u0438 Monolith \u0434\u0430 \u0431\u044a\u0434\u0435 \u0434\u043e\u0431\u044a\u0440 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435\u043d \u0438\u0437\u0431\u043e\u0440?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u0430! \u0421\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430 \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435\u043d \u043f\u043e\u0434\u0445\u043e\u0434, \u043d\u0430\u0440\u0435\u0447\u0435\u043d Modular Monolith.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438 \u043d\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u0442\u043e \u043e\u0441\u0442\u0430\u0432\u0430 \u0435\u0434\u043d\u043e \u0446\u044f\u043b\u043e \u0437\u0430 Deployment, \u043d\u043e \u0432\u044a\u0442\u0440\u0435\u0448\u043d\u043e \u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u043e \u043d\u0430 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0438 Modules \u0441 \u044f\u0441\u043d\u043e \u0434\u0435\u0444\u0438\u043d\u0438\u0440\u0430\u043d\u0438 \u0433\u0440\u0430\u043d\u0438\u0446\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Customer Module<\/li>\n\n\n\n<li>Order Module<\/li>\n\n\n\n<li>Payment Module<\/li>\n\n\n\n<li>Inventory Module<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0435\u0437\u0438 Modules \u0438\u043c\u0430\u0442 \u043e\u0442\u0434\u0435\u043b\u043d\u0430 Business Logic \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0430\u0442 \u0434\u043e\u0441\u0442\u044a\u043f\u0430 \u0434\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u0438\u0442\u0435 \u0441\u0438 \u0434\u0430\u043d\u043d\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Modular Monolith \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0434\u043e\u0431\u0440\u0430 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 \u043a\u043e\u0434\u0430, \u0431\u0435\u0437 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 Distributed Systems. \u041f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442 \u043e\u0442\u0434\u0435\u043b\u0435\u043d Module \u043c\u043e\u0436\u0435 \u043f\u043e-\u043a\u044a\u0441\u043d\u043e \u0434\u0430 \u0431\u044a\u0434\u0435 \u043e\u0442\u0434\u0435\u043b\u0435\u043d \u043a\u0430\u0442\u043e Microservice.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435 \u0441\u043b\u0435\u0434\u043d\u0438\u0442\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u0438 \u0440\u0430\u0437\u043b\u0438\u043a\u0438:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Monolith \u2013 \u0435\u0434\u043d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0435\u0442\u043e \u0441\u0435 Deployment-\u0432\u0430 \u043a\u0430\u0442\u043e \u0435\u0434\u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0430.<\/li>\n\n\n\n<li>Microservices \u2013 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0438 Services, \u043a\u043e\u0438\u0442\u043e \u043a\u043e\u043c\u0443\u043d\u0438\u043a\u0438\u0440\u0430\u0442 \u0447\u0440\u0435\u0437 API \u0438\u043b\u0438 Messaging.<\/li>\n\n\n\n<li>Scalability \u2013 Microservices \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430\u0442 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043c\u0430\u0449\u0430\u0431\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u043d\u0438\u0442\u0435 Services.<\/li>\n\n\n\n<li>Communication \u2013 Monolith \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u043f\u0440\u0435\u0434\u0438\u043c\u043d\u043e \u0432\u044a\u0442\u0440\u0435\u0448\u043d\u0438 Method Calls, \u0434\u043e\u043a\u0430\u0442\u043e Microservices \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 Network Communication.<\/li>\n\n\n\n<li>Database per Service \u2013 \u043e\u0441\u043d\u043e\u0432\u0435\u043d \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0437\u0430 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435 \u043f\u0440\u0438 Microservices.<\/li>\n\n\n\n<li>Modular Monolith \u2013 \u0434\u043e\u0431\u0440\u0430 \u043c\u0435\u0436\u0434\u0438\u043d\u043d\u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043c\u0435\u0436\u0434\u0443 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u0438\u044f Monolith \u0438 Microservices.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434: Microservices \u043d\u0435 \u0441\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u043f\u043e-\u0434\u043e\u0431\u0440\u0438 \u043e\u0442 Monolith. \u0417\u0430 \u043c\u0430\u043b\u043a\u0438 \u0438 \u0441\u0440\u0435\u0434\u043d\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438 Modular Monolith \u0447\u0435\u0441\u0442\u043e \u0435 \u043f\u043e-\u043f\u0440\u043e\u0441\u0442 \u0438 \u0438\u043a\u043e\u043d\u043e\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0435\u0444\u0435\u043a\u0442\u0438\u0432\u0435\u043d \u0438\u0437\u0431\u043e\u0440. Microservices \u0441\u0430 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438, \u043a\u043e\u0433\u0430\u0442\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0442\u043e Deployment, Scalability \u0438 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u0442\u0430 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442 \u043d\u0430 \u0435\u043a\u0438\u043f\u0438\u0442\u0435 \u043e\u043f\u0440\u0430\u0432\u0434\u0430\u0432\u0430\u0442 \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u0430\u0442\u0430 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Pass-by-Value vs Pass-by-Reference \u0432 Java<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Java \u0432\u0438\u043d\u0430\u0433\u0438 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Pass-by-Value, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u0434\u0430\u043b\u0438 \u043f\u043e\u0434\u0430\u0432\u0430\u043c\u0435 Primitive Types \u0438\u043b\u0438 Objects \u043a\u044a\u043c \u0434\u0430\u0434\u0435\u043d Method.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u0435 \u0432 \u0442\u043e\u0432\u0430 \u043a\u0430\u043a\u0432\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u0441\u0435 \u043a\u043e\u043f\u0438\u0440\u0430 \u0438 \u043f\u0440\u0435\u0434\u0430\u0432\u0430 \u043d\u0430 \u043c\u0435\u0442\u043e\u0434\u0430:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u0440\u0438 Primitive Types \u0441\u0435 \u043f\u0440\u0435\u0434\u0430\u0432\u0430 \u043a\u043e\u043f\u0438\u0435 \u043d\u0430 \u0441\u0430\u043c\u0430\u0442\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442.<\/li>\n\n\n\n<li>\u041f\u0440\u0438 Objects \u0441\u0435 \u043f\u0440\u0435\u0434\u0430\u0432\u0430 \u043a\u043e\u043f\u0438\u0435 \u043d\u0430 Reference (\u043f\u0440\u0435\u043f\u0440\u0430\u0442\u043a\u0430\u0442\u0430) \u043a\u044a\u043c \u043e\u0431\u0435\u043a\u0442\u0430.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e \u0435 \u0434\u0430 \u0441\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435, \u0447\u0435 Java \u043d\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Pass-by-Reference.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Pass-by-Value (\u041f\u0440\u0435\u0434\u0430\u0432\u0430\u043d\u0435 \u043f\u043e \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0433\u0430\u0442\u043e \u043f\u043e\u0434\u0430\u0432\u0430\u043c\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430 \u043a\u044a\u043c Method, Java \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u043a\u043e\u043f\u0438\u0435 \u043d\u0430 \u043d\u0435\u0439\u043d\u0430\u0442\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u043e\u043c\u044f\u043d\u0430\u0442\u0430 \u043d\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440\u0430 \u0432\u044a\u0442\u0440\u0435 \u0432 \u043c\u0435\u0442\u043e\u0434\u0430 \u043d\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u044f \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0430\u0442\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Primitive Types Example<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438 Primitive Types, \u043a\u0430\u0442\u043e <code>int<\/code>, <code>char<\/code>, <code>boolean<\/code>, <code>double<\/code> \u0438 \u0434\u0440\u0443\u0433\u0438, \u043c\u0435\u0442\u043e\u0434\u044a\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430 \u043a\u043e\u043f\u0438\u0435 \u043d\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u043d\u0430\u0442\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void changeValue(int num) {<\/div><div class=\"cm-line\">        num = 100;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        int num = 5;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        changeValue(num);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        System.out.println(num);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">5<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0431\u044f\u0441\u043d\u0435\u043d\u0438\u0435:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043c\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430 <code>num<\/code> \u0441\u044a\u0441 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 <code>5<\/code>.<\/li>\n\n\n\n<li>\u0418\u0437\u0432\u0438\u043a\u0432\u0430\u043c\u0435 <code>changeValue(num)<\/code>.<\/li>\n\n\n\n<li>\u041c\u0435\u0442\u043e\u0434\u044a\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430 \u043a\u043e\u043f\u0438\u0435 \u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0442\u0430 <code>5<\/code>.<\/li>\n\n\n\n<li>\u041f\u0440\u043e\u043c\u0435\u043d\u044f\u043c\u0435 \u043b\u043e\u043a\u0430\u043b\u043d\u043e\u0442\u043e \u043a\u043e\u043f\u0438\u0435 \u043d\u0430 <code>100<\/code>.<\/li>\n\n\n\n<li>\u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0430\u0442\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430 <code>num<\/code> \u043e\u0441\u0442\u0430\u0432\u0430 \u043d\u0435\u043f\u0440\u043e\u043c\u0435\u043d\u0435\u043d\u0430 \u0441\u044a\u0441 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 <code>5<\/code>.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">3. Objects Example<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438 Objects Java \u0441\u044a\u0449\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Pass-by-Value, \u043d\u043e \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0442\u0430, \u043a\u043e\u044f\u0442\u043e \u0441\u0435 \u043a\u043e\u043f\u0438\u0440\u0430, \u0435 Reference \u043a\u044a\u043c \u043e\u0431\u0435\u043a\u0442\u0430.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0432\u0430 \u043e\u0437\u043d\u0430\u0447\u0430\u0432\u0430, \u0447\u0435 \u043c\u0435\u0442\u043e\u0434\u044a\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430 \u043a\u043e\u043f\u0438\u0435 \u043d\u0430 Reference, \u043a\u043e\u0435\u0442\u043e \u0441\u043e\u0447\u0438 \u043a\u044a\u043c \u0441\u044a\u0449\u0438\u044f \u043e\u0431\u0435\u043a\u0442 \u0432 Heap Memory.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e \u043f\u0440\u043e\u043c\u044f\u043d\u0430\u0442\u0430 \u043d\u0430 \u043f\u043e\u043b\u0435\u0442\u0430\u0442\u0430 (Fields) \u043d\u0430 \u043e\u0431\u0435\u043a\u0442\u0430 \u0441\u0435 \u043e\u0442\u0440\u0430\u0437\u044f\u0432\u0430 \u0432\u044a\u0440\u0445\u0443 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0438\u044f \u043e\u0431\u0435\u043a\u0442.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">class Box {<\/div><div class=\"cm-line\">    int size;<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void changeBox(Box box) {<\/div><div class=\"cm-line\">        box.size = 15;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        Box myBox = new Box();<\/div><div class=\"cm-line\">        myBox.size = 10;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        changeBox(myBox);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        System.out.println(myBox.size);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">15<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0431\u044f\u0441\u043d\u0435\u043d\u0438\u0435:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043c\u0435 \u043e\u0431\u0435\u043a\u0442 <code>myBox<\/code> \u0441\u044a\u0441 <code>size = 10<\/code>.<\/li>\n\n\n\n<li>\u041f\u043e\u0434\u0430\u0432\u0430\u043c\u0435 Reference \u043a\u044a\u043c \u043e\u0431\u0435\u043a\u0442\u0430 \u043d\u0430 \u043c\u0435\u0442\u043e\u0434\u0430 <code>changeBox()<\/code>.<\/li>\n\n\n\n<li>\u041c\u0435\u0442\u043e\u0434\u044a\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430 \u043a\u043e\u043f\u0438\u0435 \u043d\u0430 Reference.<\/li>\n\n\n\n<li>\u0418 \u0434\u0432\u0435\u0442\u0435 References \u0441\u043e\u0447\u0430\u0442 \u043a\u044a\u043c \u0435\u0434\u0438\u043d \u0438 \u0441\u044a\u0449 \u043e\u0431\u0435\u043a\u0442.<\/li>\n\n\n\n<li>\u041f\u0440\u043e\u043c\u0435\u043d\u044f\u043c\u0435 <code>box.size<\/code> \u043d\u0430 <code>15<\/code>.<\/li>\n\n\n\n<li>\u041f\u0440\u043e\u043c\u044f\u043d\u0430\u0442\u0430 \u0441\u0435 \u0432\u0438\u0436\u0434\u0430 \u0438 \u0447\u0440\u0435\u0437 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0430\u0442\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430 <code>myBox<\/code>.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">4. \u041a\u0430\u043a\u0432\u043e \u0441\u0442\u0430\u0432\u0430, \u0430\u043a\u043e \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u043c \u0441\u0430\u043c\u0438\u044f Reference?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410\u043a\u043e \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u043c \u043d\u043e\u0432 \u043e\u0431\u0435\u043a\u0442 \u043d\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440\u0430 \u0432\u044a\u0442\u0440\u0435 \u0432 \u043c\u0435\u0442\u043e\u0434\u0430, \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0430\u0442\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430 \u043d\u044f\u043c\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u0435\u043d\u0430.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">class Box {<\/div><div class=\"cm-line\">    int size;<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void changeBox(Box box) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        box = new Box();<\/div><div class=\"cm-line\">        box.size = 100;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        Box myBox = new Box();<\/div><div class=\"cm-line\">        myBox.size = 10;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        changeBox(myBox);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        System.out.println(myBox.size);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">10<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0431\u044f\u0441\u043d\u0435\u043d\u0438\u0435:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>myBox<\/code> \u0441\u043e\u0447\u0438 \u043a\u044a\u043c \u043f\u044a\u0440\u0432\u0438\u044f \u043e\u0431\u0435\u043a\u0442 \u0441\u044a\u0441 <code>size = 10<\/code>.<\/li>\n\n\n\n<li>\u041c\u0435\u0442\u043e\u0434\u044a\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430 \u043a\u043e\u043f\u0438\u0435 \u043d\u0430 Reference.<\/li>\n\n\n\n<li><code>box = new Box()<\/code> \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u043d\u043e\u0432 \u043e\u0431\u0435\u043a\u0442.<\/li>\n\n\n\n<li>\u041b\u043e\u043a\u0430\u043b\u043d\u0438\u044f\u0442 Reference <code>box<\/code> \u0432\u0435\u0447\u0435 \u0441\u043e\u0447\u0438 \u043a\u044a\u043c \u043d\u043e\u0432\u0438\u044f \u043e\u0431\u0435\u043a\u0442.<\/li>\n\n\n\n<li>\u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0438\u044f\u0442 Reference <code>myBox<\/code> \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0430\u0432\u0430 \u0434\u0430 \u0441\u043e\u0447\u0438 \u043a\u044a\u043c \u043f\u044a\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u043d\u0438\u044f \u043e\u0431\u0435\u043a\u0442.<\/li>\n\n\n\n<li>\u0421\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e <code>myBox.size<\/code> \u043e\u0441\u0442\u0430\u0432\u0430 <code>10<\/code>.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">5. \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u2013 Primitive Types vs Objects<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u0425\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430<\/th><th>Primitive Types<\/th><th>Objects<\/th><\/tr><tr><td>\u041a\u0430\u043a\u0432\u043e \u0441\u0435 \u043f\u0440\u0435\u0434\u0430\u0432\u0430?<\/td><td>\u041a\u043e\u043f\u0438\u0435 \u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0442\u0430<\/td><td>\u041a\u043e\u043f\u0438\u0435 \u043d\u0430 Reference<\/td><\/tr><tr><td>\u041f\u0440\u043e\u043c\u044f\u043d\u0430 \u043d\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u044a\u0440\u0430<\/td><td>\u041d\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u044f \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0430\u0442\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430<\/td><td>\u041d\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u044f \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0438\u044f Reference<\/td><\/tr><tr><td>\u041f\u0440\u043e\u043c\u044f\u043d\u0430 \u043d\u0430 Object Fields<\/td><td>\u041d\u0435\u043f\u0440\u0438\u043b\u043e\u0436\u0438\u043c\u043e<\/td><td>\u041f\u0440\u043e\u043c\u0435\u043d\u044f \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0438\u044f \u043e\u0431\u0435\u043a\u0442<\/td><\/tr><tr><td>\u041f\u0440\u0438\u0441\u0432\u043e\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u043d\u043e\u0432\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \/ \u043e\u0431\u0435\u043a\u0442<\/td><td>\u041d\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u044f \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0430\u0442\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430<\/td><td>\u041d\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u044f \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0438\u044f Reference<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435 \u0441\u043b\u0435\u0434\u043d\u0438\u0442\u0435 \u0442\u0440\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Java is ALWAYS Pass-by-Value.<\/li>\n\n\n\n<li>\u041f\u0440\u0438 Primitive Types \u0441\u0435 \u043a\u043e\u043f\u0438\u0440\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u043d\u0430\u0442\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442.<\/li>\n\n\n\n<li>\u041f\u0440\u0438 Objects \u0441\u0435 \u043a\u043e\u043f\u0438\u0440\u0430 Reference \u043a\u044a\u043c \u043e\u0431\u0435\u043a\u0442\u0430, \u0430 \u043d\u0435 \u0441\u0430\u043c\u0438\u044f\u0442 \u043e\u0431\u0435\u043a\u0442.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0430\u0432\u0438\u043b\u0435\u043d \u043e\u0442\u0433\u043e\u0432\u043e\u0440 \u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0432\u044e<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Does Java support Pass-by-Reference?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No. Java is strictly Pass-by-Value. When an object is passed to a method, a copy of its reference is passed by value. Therefore, the method can modify the object&#8217;s state, but it cannot change the caller&#8217;s original reference.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434: Java \u0432\u0438\u043d\u0430\u0433\u0438 \u043f\u0440\u0435\u0434\u0430\u0432\u0430 \u043a\u043e\u043f\u0438\u0435 \u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0442\u0430. \u041f\u0440\u0438 Objects \u0442\u043e\u0432\u0430 \u0435 \u043a\u043e\u043f\u0438\u0435 \u043d\u0430 Reference, \u043a\u043e\u0435\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043f\u0440\u043e\u043c\u044f\u043d\u0430 \u043d\u0430 \u0441\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0438\u044f \u043e\u0431\u0435\u043a\u0442, \u043d\u043e \u043d\u0435 \u0438 \u043f\u0440\u043e\u043c\u044f\u043d\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0430\u0442\u0430 Reference \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Private Methods \u0432 Abstract Class<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 Java \u0435\u0434\u0438\u043d Abstract Class \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430 <code>private<\/code> methods, \u0432\u044a\u043f\u0440\u0435\u043a\u0438 \u0447\u0435 \u0441\u0430\u043c\u0438\u0442\u0435 <code>abstract methods<\/code> \u043d\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 <code>private<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u0447\u0438\u043d\u0430\u0442\u0430 \u0435, \u0447\u0435 <code>abstract methods<\/code> \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0434\u043e\u0441\u0442\u044a\u043f\u043d\u0438 \u0437\u0430 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f (Override) \u043e\u0442 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u0449\u0438\u0442\u0435 \u043a\u043b\u0430\u0441\u043e\u0432\u0435, \u0434\u043e\u043a\u0430\u0442\u043e <code>private methods<\/code> \u0441\u0430 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438 \u0441\u0430\u043c\u043e \u0437\u0430 \u0432\u044a\u0442\u0440\u0435\u0448\u043d\u0430 \u0443\u043f\u043e\u0442\u0440\u0435\u0431\u0430 \u0432 Abstract Class.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Helper Methods (\u041f\u043e\u043c\u043e\u0449\u043d\u0438 \u043c\u0435\u0442\u043e\u0434\u0438)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Private Methods \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u0442 \u043e\u0431\u0449\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442, \u043a\u043e\u044f\u0442\u043e \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u043e\u0442 \u0434\u0440\u0443\u0433\u0438 \u043c\u0435\u0442\u043e\u0434\u0438 \u0432 Abstract Class.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0432\u0430 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0432\u0430 \u0434\u0443\u0431\u043b\u0438\u0440\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043a\u043e\u0434 \u0432 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u0449\u0438\u0442\u0435 \u043a\u043b\u0430\u0441\u043e\u0432\u0435.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">abstract class Employee {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public void displaySalary(double salary) {<\/div><div class=\"cm-line\">        validateSalary(salary);<\/div><div class=\"cm-line\">        System.out.println(&quot;Salary: &quot; + formatSalary(salary));<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private void validateSalary(double salary) {<\/div><div class=\"cm-line\">        if (salary &lt; 0) {<\/div><div class=\"cm-line\">            throw new IllegalArgumentException(<\/div><div class=\"cm-line\">                &quot;Salary cannot be negative&quot;<\/div><div class=\"cm-line\">            );<\/div><div class=\"cm-line\">        }<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private String formatSalary(double salary) {<\/div><div class=\"cm-line\">        return String.format(&quot;%.2f&quot;, salary);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">class Manager extends Employee {<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\">        Manager manager = new Manager();<\/div><div class=\"cm-line\">        manager.displaySalary(3500.50);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Salary: 3500.50<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0431\u044f\u0441\u043d\u0435\u043d\u0438\u0435:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>displaySalary()<\/code> \u0435 <code>public<\/code> \u0438 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0438\u0437\u0432\u0438\u043a\u0430\u043d \u043e\u0442 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u0449\u0438\u0442\u0435 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u0438 \u0432\u044a\u043d\u0448\u043d\u0438\u044f \u043a\u043e\u0434.<\/li>\n\n\n\n<li><code>validateSalary()<\/code> \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0432\u0430 \u0434\u0430\u043b\u0438 \u0437\u0430\u043f\u043b\u0430\u0442\u0430\u0442\u0430 \u0435 \u0432\u0430\u043b\u0438\u0434\u043d\u0430.<\/li>\n\n\n\n<li><code>formatSalary()<\/code> \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0442\u0430.<\/li>\n\n\n\n<li>\u0414\u0432\u0430\u0442\u0430 <code>private<\/code> methods \u043d\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0438\u0437\u0432\u0438\u043a\u0430\u043d\u0438 \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e \u043e\u0442 <code>Manager<\/code>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">2. Encapsulation (\u041a\u0430\u043f\u0441\u0443\u043b\u0430\u0446\u0438\u044f)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Private Methods \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430\u0442 \u0434\u0430 \u0441\u043a\u0440\u0438\u0435\u043c \u0432\u044a\u0442\u0440\u0435\u0448\u043d\u0430\u0442\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 \u0434\u0430\u0434\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442 \u043e\u0442 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u0449\u0438\u0442\u0435 \u043a\u043b\u0430\u0441\u043e\u0432\u0435.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0430\u043a\u0430 Abstract Class \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0430 \u043a\u0430\u043a \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">abstract class Payment {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public final void processPayment(double amount) {<\/div><div class=\"cm-line\">        validateAmount(amount);<\/div><div class=\"cm-line\">        executePayment(amount);<\/div><div class=\"cm-line\">        System.out.println(&quot;Payment completed.&quot;);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private void validateAmount(double amount) {<\/div><div class=\"cm-line\">        if (amount &lt;= 0) {<\/div><div class=\"cm-line\">            throw new IllegalArgumentException(<\/div><div class=\"cm-line\">                &quot;Invalid payment amount&quot;<\/div><div class=\"cm-line\">            );<\/div><div class=\"cm-line\">        }<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    protected abstract void executePayment(double amount);<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">class CreditCardPayment extends Payment {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    @Override<\/div><div class=\"cm-line\">    protected void executePayment(double amount) {<\/div><div class=\"cm-line\">        System.out.println(<\/div><div class=\"cm-line\">            &quot;Processing credit card payment: &quot; + amount<\/div><div class=\"cm-line\">        );<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\">        Payment payment = new CreditCardPayment();<\/div><div class=\"cm-line\">        payment.processPayment(100);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Processing credit card payment: 100.0<\/div><div class=\"cm-line\">Payment completed.<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0431\u044f\u0441\u043d\u0435\u043d\u0438\u0435:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>processPayment()<\/code> \u0434\u0435\u0444\u0438\u043d\u0438\u0440\u0430 \u043e\u0431\u0449\u0438\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u044a\u043c.<\/li>\n\n\n\n<li><code>validateAmount()<\/code> \u0435 <code>private<\/code> \u0438 \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u043d \u0447\u0440\u0435\u0437 Override.<\/li>\n\n\n\n<li><code>executePayment()<\/code> \u0435 <code>protected abstract<\/code> \u0438 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430\u043d \u043e\u0442 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u0449\u0438\u044f \u043a\u043b\u0430\u0441.<\/li>\n\n\n\n<li><code>final<\/code> \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0432\u0430 Override \u043d\u0430 \u0446\u0435\u043b\u0438\u044f <code>processPayment()<\/code> \u043c\u0435\u0442\u043e\u0434.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0437\u0438 \u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0430 Template Method Design Pattern.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Internal Data Processing (\u0412\u044a\u0442\u0440\u0435\u0448\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Private Methods \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442 \u0434\u0430\u043d\u043d\u0438 \u0432\u044a\u0442\u0440\u0435 \u0432 Abstract Class, \u0431\u0435\u0437 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u0449\u0438\u0442\u0435 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u0434\u0430 \u0438\u043c\u0430\u0442 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0434\u0435\u0442\u0430\u0439\u043b\u0438\u0442\u0435 \u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u0442\u0430.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">abstract class DataProcessor {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public void process(String data) {<\/div><div class=\"cm-line\">        String cleanedData = cleanData(data);<\/div><div class=\"cm-line\">        saveData(cleanedData);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private String cleanData(String data) {<\/div><div class=\"cm-line\">        return data.trim().toUpperCase();<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    protected abstract void saveData(String data);<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">class DatabaseProcessor extends DataProcessor {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    @Override<\/div><div class=\"cm-line\">    protected void saveData(String data) {<\/div><div class=\"cm-line\">        System.out.println(&quot;Saving: &quot; + data);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\">        DataProcessor processor = new DatabaseProcessor();<\/div><div class=\"cm-line\">        processor.process(&quot;  hello world  &quot;);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Saving: HELLO WORLD<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0431\u044f\u0441\u043d\u0435\u043d\u0438\u0435:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>process()<\/code> \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0430.<\/li>\n\n\n\n<li><code>cleanData()<\/code> \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430 \u0432\u0445\u043e\u0434\u043d\u0438\u0442\u0435 \u0434\u0430\u043d\u043d\u0438 \u0438 \u0435 \u0441\u043a\u0440\u0438\u0442 \u043e\u0442 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u0449\u0438\u0442\u0435 \u043a\u043b\u0430\u0441\u043e\u0432\u0435.<\/li>\n\n\n\n<li><code>saveData()<\/code> \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442 \u043d\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u0449\u0438\u044f \u043a\u043b\u0430\u0441 \u0434\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0438\u0440\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0442\u043e \u0441\u044a\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. \u041c\u043e\u0433\u0430\u0442 \u043b\u0438 Abstract Methods \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 Private?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435. \u0421\u043b\u0435\u0434\u043d\u0438\u044f\u0442 \u043a\u043e\u0434 \u0435 \u043d\u0435\u0432\u0430\u043b\u0438\u0434\u0435\u043d:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">abstract class Employee {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private abstract void calculateSalary();<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u0447\u0438\u043d\u0430\u0442\u0430 \u0435, \u0447\u0435 <code>private<\/code> \u043c\u0435\u0442\u043e\u0434\u0438\u0442\u0435 \u043d\u0435 \u0441\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u043d\u0438 \u0437\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u0449\u0438\u0442\u0435 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u0438 \u043d\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 Override-\u043d\u0430\u0442\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0430\u0432\u0438\u043b\u043d\u0438\u044f\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0435:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">abstract class Employee {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    protected abstract void calculateSalary();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private void validateEmployee() {<\/div><div class=\"cm-line\">        System.out.println(&quot;Employee validated&quot;);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">5. \u041e\u0431\u043e\u0431\u0449\u0435\u043d\u0438\u0435<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Method Type<\/th><th>\u0412 Abstract Class<\/th><th>\u041c\u043e\u0436\u0435 \u043b\u0438 \u0434\u0430 \u0431\u044a\u0434\u0435 Override-\u043d\u0430\u0442?<\/th><\/tr><tr><td><code>private<\/code> concrete method<\/td><td>\u0418\u04d9<\/td><td>\u0416\u043e\u049b<\/td><\/tr><tr><td><code>protected<\/code> concrete method<\/td><td>\u0418\u04d9<\/td><td>\u0418\u04d9<\/td><\/tr><tr><td><code>public<\/code> concrete method<\/td><td>\u0418\u04d9<\/td><td>\u0418\u04d9<\/td><\/tr><tr><td><code>protected abstract<\/code> method<\/td><td>\u0418\u04d9<\/td><td>\u0418\u04d9<\/td><\/tr><tr><td><code>public abstract<\/code> method<\/td><td>\u0418\u04d9<\/td><td>\u0418\u04d9<\/td><\/tr><tr><td><code>private abstract<\/code> method<\/td><td>\u0416\u043e\u049b<\/td><td>\u0416\u043e\u049b<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Abstract Class \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430 <code>private<\/code> methods \u0441 \u0440\u0435\u0430\u043b\u043d\u0430 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f.<\/li>\n\n\n\n<li><code>private<\/code> methods \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0437\u0430 Helper Methods \u0438 Encapsulation.<\/li>\n\n\n\n<li>Private Methods \u043d\u0435 \u0441\u0435 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u0442 \u0438 \u043d\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 Override-\u043d\u0430\u0442\u0438.<\/li>\n\n\n\n<li>Abstract Methods \u043d\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 <code>private<\/code>, \u0437\u0430\u0449\u043e\u0442\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0434\u043e\u0441\u0442\u044a\u043f\u043d\u0438 \u0437\u0430 Override.<\/li>\n\n\n\n<li><code>Template Method Design Pattern<\/code> \u0447\u0435\u0441\u0442\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 <code>final<\/code> public method, <code>protected abstract<\/code> methods \u0438 <code>private<\/code> helper methods.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434: Private Methods \u0432 Abstract Class \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430\u0442 \u0434\u0430 \u0441\u043a\u0440\u0438\u0435\u043c \u0432\u044a\u0442\u0440\u0435\u0448\u043d\u0430\u0442\u0430 \u043b\u043e\u0433\u0438\u043a\u0430 \u0438 \u0434\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0430\u043c\u0435 \u043a\u0430\u043a \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u0449\u0438\u0442\u0435 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u043e\u0431\u0449\u0430\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Private Constructors \u0432 Java (\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 Private Constructors)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Private Constructor \u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440, \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430\u043d \u0441 <code>private<\/code> Access Modifier. \u0422\u043e\u0439 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043e\u0431\u0435\u043a\u0442\u0438 \u043e\u0442 \u043a\u043b\u0430\u0441\u0430 \u0438\u0437\u0432\u044a\u043d \u0441\u0430\u043c\u0438\u044f \u043a\u043b\u0430\u0441.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e \u0437\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 Objects, \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u043d\u0435 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 Design Patterns \u043a\u0430\u0442\u043e Singleton.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Utility Classes (\u041f\u043e\u043c\u043e\u0449\u043d\u0438 \u043a\u043b\u0430\u0441\u043e\u0432\u0435)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Utility Classes \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u0442 \u0441\u0430\u043c\u043e <code>static methods<\/code> \u0436\u04d9\u043d\u0435 <code>static members<\/code>. \u041d\u0435 \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043c\u0435 \u043e\u0431\u0435\u043a\u0442\u0438 \u043e\u0442 \u0442\u0435\u0437\u0438 \u043a\u043b\u0430\u0441\u043e\u0432\u0435.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Private Constructor \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0432\u0430 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0442\u043e \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 Instance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public final class MathUtils {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private MathUtils() {<\/div><div class=\"cm-line\">        \/\/ Prevent object creation<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static int add(int a, int b) {<\/div><div class=\"cm-line\">        return a + b;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static int multiply(int a, int b) {<\/div><div class=\"cm-line\">        return a * b;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        int result = MathUtils.add(10, 20);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        System.out.println(result);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">30<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043b\u0435\u0434\u043d\u0438\u044f\u0442 \u043a\u043e\u0434 \u043d\u044f\u043c\u0430 \u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u0438:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">MathUtils utils = new MathUtils();<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u0447\u0438\u043d\u0430\u0442\u0430 \u0435, \u0447\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u044a\u0442 \u0435 <code>private<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: <code>final<\/code> \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0432\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043a\u043b\u0430\u0441\u0430, \u0434\u043e\u043a\u0430\u0442\u043e <code>private constructor<\/code> \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0432\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043e\u0431\u0435\u043a\u0442\u0438 \u043e\u0442\u0432\u044a\u043d. \u0422\u043e\u0432\u0430 \u0441\u0430 \u0434\u0432\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Constant Classes (\u041a\u043b\u0430\u0441\u043e\u0432\u0435 \u0441 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0438)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Private Constructor \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u043f\u0440\u0438 \u043a\u043b\u0430\u0441\u043e\u0432\u0435, \u043a\u043e\u0438\u0442\u043e \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u0442 \u0441\u0430\u043c\u043e \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public final class AppConstants {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private AppConstants() {<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static final String APP_NAME = &quot;MyApplication&quot;;<\/div><div class=\"cm-line\">    public static final int MAX_USERS = 100;<\/div><div class=\"cm-line\">    public static final double TAX_RATE = 0.20;<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        System.out.println(AppConstants.APP_NAME);<\/div><div class=\"cm-line\">        System.out.println(AppConstants.MAX_USERS);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">MyApplication<\/div><div class=\"cm-line\">100<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435 \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043c\u0435 Instance \u043d\u0430 <code>AppConstants<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Avoiding Subclassing (\u041f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u043d\u0435)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Private Constructor \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u0438 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043a\u043b\u0430\u0441 \u043e\u0442 \u0434\u0440\u0443\u0433\u0438 \u043a\u043b\u0430\u0441\u043e\u0432\u0435.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class Parent {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private Parent() {<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043b\u0435\u0434\u043d\u0438\u044f\u0442 \u043a\u043e\u0434 \u043d\u044f\u043c\u0430 \u0434\u0430 \u0441\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0430:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class Child extends Parent {<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u0447\u0438\u043d\u0430\u0442\u0430 \u0435, \u0447\u0435 <code>Child<\/code> \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0438\u0437\u0432\u0438\u043a\u0430 Constructor \u043d\u0430 <code>Parent<\/code>, \u043d\u043e \u0442\u043e\u0439 \u0435 <code>private<\/code> \u0438 \u043d\u0435 \u0435 \u0434\u043e\u0441\u0442\u044a\u043f\u0435\u043d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: \u0417\u0430 \u0434\u0430 \u0437\u0430\u0431\u0440\u0430\u043d\u0438\u043c \u0438\u0437\u0446\u044f\u043b\u043e \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u043d\u0435\u0442\u043e, \u043f\u043e-\u044f\u0441\u043d\u0438\u044f\u0442 \u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0435\u043d \u043f\u043e\u0434\u0445\u043e\u0434 \u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 <code>final class<\/code>.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public final class Parent {<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0430\u043a\u0430 Java \u0438\u0437\u0440\u0438\u0447\u043d\u043e \u0437\u0430\u0431\u0440\u0430\u043d\u044f\u0432\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 Subclasses.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Constructor Delegation (\u0414\u0435\u043b\u0435\u0433\u0438\u0440\u0430\u043d\u0435 \u043c\u0435\u0436\u0434\u0443 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0438)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Private Constructor \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0437\u0430 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u043e\u0431\u0449\u0430\u0442\u0430 \u043b\u043e\u0433\u0438\u043a\u0430 \u043f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 \u043e\u0431\u0435\u043a\u0442\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u0440\u0443\u0433\u0438\u0442\u0435 Constructors \u0438\u0437\u0432\u0438\u043a\u0432\u0430\u0442 \u043e\u0431\u0449\u0438\u044f Private Constructor \u0447\u0440\u0435\u0437 <code>this()<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class Employee {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private String name;<\/div><div class=\"cm-line\">    private int age;<\/div><div class=\"cm-line\">    private String department;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private Employee(String name, int age, String department) {<\/div><div class=\"cm-line\">        this.name = name;<\/div><div class=\"cm-line\">        this.age = age;<\/div><div class=\"cm-line\">        this.department = department;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public Employee(String name, int age) {<\/div><div class=\"cm-line\">        this(name, age, &quot;IT&quot;);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public Employee(String name) {<\/div><div class=\"cm-line\">        this(name, 25, &quot;IT&quot;);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public void display() {<\/div><div class=\"cm-line\">        System.out.println(name + &quot; - &quot; + age + &quot; - &quot; + <\/div><div class=\"cm-line\">        department);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        Employee e1 = new Employee(&quot;John&quot;);<\/div><div class=\"cm-line\">        Employee e2 = new Employee(&quot;Peter&quot;, 30);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        e1.display();<\/div><div class=\"cm-line\">        e2.display();<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">John - 25 - IT<\/div><div class=\"cm-line\">Peter - 30 - IT<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0431\u044f\u0441\u043d\u0435\u043d\u0438\u0435:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Private Constructor \u0441\u044a\u0434\u044a\u0440\u0436\u0430 \u043e\u0431\u0449\u0430\u0442\u0430 \u043b\u043e\u0433\u0438\u043a\u0430 \u0437\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f.<\/li>\n\n\n\n<li>Public Constructors \u0438\u0437\u0432\u0438\u043a\u0432\u0430\u0442 Private Constructor \u0447\u0440\u0435\u0437 <code>this()<\/code>.<\/li>\n\n\n\n<li>\u0418\u0437\u0431\u044f\u0433\u0432\u0430\u043c\u0435 \u0434\u0443\u0431\u043b\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u043a\u043e\u0434.<\/li>\n\n\n\n<li>\u041e\u0431\u0435\u043a\u0442\u0438\u0442\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0438 \u0441\u0430\u043c\u043e \u0447\u0440\u0435\u0437 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u0438\u0442\u0435 Constructors.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">5. Singleton Pattern (Singleton Design Pattern)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0415\u0434\u043d\u0430 \u043e\u0442 \u043d\u0430\u0439-\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0438\u0442\u0435 \u0443\u043f\u043e\u0442\u0440\u0435\u0431\u0438 \u043d\u0430 Private Constructor \u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 Singleton Pattern.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Singleton \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430, \u0447\u0435 \u043e\u0442 \u0434\u0430\u0434\u0435\u043d \u043a\u043b\u0430\u0441 \u0449\u0435 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430 \u0441\u0430\u043c\u043e \u0435\u0434\u0438\u043d Instance, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0435\u043d \u0447\u0440\u0435\u0437 \u043f\u0443\u0431\u043b\u0438\u0447\u0435\u043d \u043c\u0435\u0442\u043e\u0434.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example \u2013 Eager Initialization:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class DatabaseConnection {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private static final DatabaseConnection INSTANCE =<\/div><div class=\"cm-line\">            new DatabaseConnection();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private DatabaseConnection() {<\/div><div class=\"cm-line\">        System.out.println(&quot;Database connection created&quot;);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static DatabaseConnection getInstance() {<\/div><div class=\"cm-line\">        return INSTANCE;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        DatabaseConnection db1 =<\/div><div class=\"cm-line\">                DatabaseConnection.getInstance();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        DatabaseConnection db2 =<\/div><div class=\"cm-line\">                DatabaseConnection.getInstance();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        System.out.println(db1 == db2);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Database connection created<\/div><div class=\"cm-line\">true<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0431\u044f\u0441\u043d\u0435\u043d\u0438\u0435:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>private constructor<\/code> \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043e\u0431\u0435\u043a\u0442\u0438 \u0438\u0437\u0432\u044a\u043d \u043a\u043b\u0430\u0441\u0430.<\/li>\n\n\n\n<li><code>static final INSTANCE<\/code> \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u0430\u0442\u0430 Instance.<\/li>\n\n\n\n<li><code>getInstance()<\/code> \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0441\u044a\u0449\u0438\u044f \u043e\u0431\u0435\u043a\u0442.<\/li>\n\n\n\n<li><code>db1 == db2<\/code> \u0432\u0440\u044a\u0449\u0430 <code>true<\/code>, \u0437\u0430\u0449\u043e\u0442\u043e \u0434\u0432\u0435\u0442\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0438 \u0441\u043e\u0447\u0430\u0442 \u043a\u044a\u043c \u0435\u0434\u0438\u043d \u0438 \u0441\u044a\u0449 \u043e\u0431\u0435\u043a\u0442.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0437\u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0435 Thread-safe \u043f\u0440\u0438 \u043d\u043e\u0440\u043c\u0430\u043b\u043d\u0430\u0442\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 Java Classes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0442\u0430 \u043d\u0430 Private Constructor<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435<\/th><th>\u041f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th><\/tr><tr><td>Utility Class<\/td><td>\u041f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0432\u0430 \u043d\u0435\u043d\u0443\u0436\u043d\u043e \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 Objects.<\/td><\/tr><tr><td>Constant Class<\/td><td>\u041e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e Static Constants \u0431\u0435\u0437 Instance.<\/td><\/tr><tr><td>Avoiding Subclassing<\/td><td>\u041d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u043d\u0435 \u043e\u0442\u0432\u044a\u043d, \u043a\u043e\u0433\u0430\u0442\u043e \u043d\u044f\u043c\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u0435\u043d Constructor.<\/td><\/tr><tr><td>Constructor Delegation<\/td><td>\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u0438\u0440\u0430 \u043e\u0431\u0449\u0430\u0442\u0430 \u043b\u043e\u0433\u0438\u043a\u0430 \u0437\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f.<\/td><\/tr><tr><td>\u0411\u0456\u0440\u044b\u04a3\u0493\u0430\u0439 \u04af\u043b\u0433\u0456<\/td><td>\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d Instance.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>private constructor<\/code> \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0432\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043e\u0431\u0435\u043a\u0442\u0438 \u0438\u0437\u0432\u044a\u043d \u043a\u043b\u0430\u0441\u0430.<\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u043f\u0440\u0438 Utility Classes \u0438 Classes \u0441 Constants.<\/li>\n\n\n\n<li>\u041c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u0438 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u043d\u0435\u0442\u043e, \u043d\u043e <code>final class<\/code> \u0435 \u043f\u043e-\u044f\u0441\u043d\u0438\u044f\u0442 \u043d\u0430\u0447\u0438\u043d \u0437\u0430 \u0437\u0430\u0431\u0440\u0430\u043d\u0430 \u043d\u0430 Subclassing.<\/li>\n\n\n\n<li><code>this()<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 Constructor Delegation.<\/li>\n\n\n\n<li>Singleton Pattern \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Private Constructor, \u0437\u0430 \u0434\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0430 \u0431\u0440\u043e\u044f \u043d\u0430 Instances.<\/li>\n\n\n\n<li>Private Constructor \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0432\u0430, \u0447\u0435 \u043e\u0431\u0435\u043a\u0442 \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u043d \u0438\u0437\u043e\u0431\u0449\u043e \u2013 \u0441\u0430\u043c\u0438\u044f\u0442 \u043a\u043b\u0430\u0441 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0433\u043e \u0441\u044a\u0437\u0434\u0430\u0434\u0435.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434: Private Constructor \u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u044a\u043c \u0437\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b \u0432\u044a\u0440\u0445\u0443 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 Objects. \u041d\u0430\u0439-\u0447\u0435\u0441\u0442\u0438\u0442\u0435 \u043c\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u0430 Utility Classes, Constructor Delegation \u0438 Singleton Design Pattern.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Protected vs Package-Private (Default) Access Modifiers \u0432 Java<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 Java <code>protected<\/code> \u0436\u04d9\u043d\u0435 <code>package-private<\/code> (default) \u0441\u0430 \u0434\u0432\u0430 Access Modifiers, \u043a\u043e\u0438\u0442\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442 \u0434\u043e\u0441\u0442\u044a\u043f\u0430 \u0434\u043e Classes, Fields, Constructors \u0438 Methods.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u0442\u0430 \u0440\u0430\u0437\u043b\u0438\u043a\u0430 \u0435, \u0447\u0435 <code>protected<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0434\u043e\u0441\u0442\u044a\u043f \u0438 \u043e\u0442 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u0449\u0438 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 (Subclasses) \u0432 \u0434\u0440\u0443\u0433\u0438 Packages, \u0434\u043e\u043a\u0430\u0442\u043e <code>package-private<\/code> \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u0430 \u0441\u0430\u043c\u043e \u0434\u043e \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u0432 \u0441\u044a\u0449\u0438\u044f Package.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 (Comparison)<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Access Modifier<\/th><th>\u0414\u043e\u0441\u0442\u044a\u043f<\/th><\/tr><tr><td>public<\/td><td>\u041e\u0442\u0432\u0441\u044f\u043a\u044a\u0434\u0435, \u043a\u044a\u0434\u0435\u0442\u043e \u043a\u043b\u0430\u0441\u044a\u0442 \u0435 \u0434\u043e\u0441\u0442\u044a\u043f\u0435\u043d.<\/td><\/tr><tr><td>protected<\/td><td>\u0412 \u0441\u044a\u0449\u0438\u044f Package \u0438 \u043e\u0442 Subclasses \u0432 \u0434\u0440\u0443\u0433\u0438 Packages.<\/td><\/tr><tr><td>package-private (default)<\/td><td>\u0421\u0430\u043c\u043e \u043e\u0442 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u0432 \u0441\u044a\u0449\u0438\u044f Package.<\/td><\/tr><tr><td>private<\/td><td>\u0421\u0430\u043c\u043e \u0432\u044a\u0442\u0440\u0435 \u0432 \u0441\u044a\u0449\u0438\u044f Class.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: <code>package-private<\/code> \u043d\u0435 \u0435 \u043a\u043b\u044e\u0447\u043e\u0432\u0430 \u0434\u0443\u043c\u0430 \u0432 Java. \u0422\u043e\u0432\u0430 \u0435 \u0434\u043e\u0441\u0442\u044a\u043f\u044a\u0442, \u043a\u043e\u0439\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430\u043c\u0435, \u043a\u043e\u0433\u0430\u0442\u043e \u043d\u0435 \u0437\u0430\u0434\u0430\u0434\u0435\u043c Access Modifier.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Protected \u2013 Example<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043b\u0430\u0441\u044a\u0442 <code>Parent<\/code> \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430 \u0432 Package <code>com.example.parent<\/code>.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">package com.example.parent;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Parent {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    protected String name = &quot;John&quot;;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    protected void display() {<\/div><div class=\"cm-line\">        System.out.println(name);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043b\u0430\u0441\u044a\u0442 <code>Child<\/code> \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430 \u0432 \u0434\u0440\u0443\u0433 Package \u2013 <code>com.example.child<\/code>.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">package com.example.child;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">import com.example.parent.Parent;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Child extends Parent {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public void show() {<\/div><div class=\"cm-line\">        System.out.println(name);<\/div><div class=\"cm-line\">        display();<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0432\u0430 \u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u0435\u043d\u043e, \u0437\u0430\u0449\u043e\u0442\u043e <code>Child<\/code> \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430 <code>Parent<\/code> \u0438 \u0438\u043c\u0430 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u043d\u0435\u0433\u043e\u0432\u0438\u0442\u0435 <code>protected<\/code> Members.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e \u0443\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435: \u041a\u043e\u0433\u0430\u0442\u043e <code>protected<\/code> Member \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0438\u0437\u0432\u044a\u043d Package \u0447\u0440\u0435\u0437 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u043d\u0435, \u0434\u043e\u0441\u0442\u044a\u043f\u044a\u0442 \u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d \u0434\u043e \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u043d\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u043d\u0435\u0442\u043e. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>Child<\/code> \u043d\u0435 \u043c\u043e\u0436\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 <code>protected<\/code> Member \u0447\u0440\u0435\u0437 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u0435\u043d \u043e\u0431\u0435\u043a\u0442 \u043e\u0442 \u0442\u0438\u043f <code>Parent<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Package-Private (Default) \u2013 Example<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043b\u0430\u0441\u044a\u0442 <code>Parent<\/code> \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430 \u0432 Package <code>com.example.parent<\/code>.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">package com.example.parent;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Parent {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    String name = &quot;John&quot;;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    void display() {<\/div><div class=\"cm-line\">        System.out.println(name);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0410\u043a\u043e \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u043c <code>Child<\/code> \u0432 \u0434\u0440\u0443\u0433 Package:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">package com.example.child;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">import com.example.parent.Parent;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Child extends Parent {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public void show() {<\/div><div class=\"cm-line\">        System.out.println(name);<\/div><div class=\"cm-line\">        display();<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0434\u044a\u0442 \u043d\u044f\u043c\u0430 \u0434\u0430 \u0441\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0430, \u0437\u0430\u0449\u043e\u0442\u043e <code>name<\/code> \u0436\u04d9\u043d\u0435 <code>display()<\/code> \u0438\u043c\u0430\u0442 Package-Private \u0434\u043e\u0441\u0442\u044a\u043f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u043e\u0440\u0438 <code>Child<\/code> \u0434\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430 <code>Parent<\/code>, \u0442\u043e\u0439 \u043d\u044f\u043c\u0430 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0442\u0435\u0437\u0438 Members \u0438\u0437\u0432\u044a\u043d Package <code>com.example.parent<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Key Difference \u2013 \u041e\u0441\u043d\u043e\u0432\u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u043a\u0430<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u0425\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430<\/th><th>Protected<\/th><th>Package-Private<\/th><\/tr><tr><td>\u0414\u043e\u0441\u0442\u044a\u043f \u0432 \u0441\u044a\u0449\u0438\u044f Package<\/td><td>\u0418\u04d9<\/td><td>\u0418\u04d9<\/td><\/tr><tr><td>\u0414\u043e\u0441\u0442\u044a\u043f \u043e\u0442 \u0434\u0440\u0443\u0433 Package<\/td><td>\u0421\u0430\u043c\u043e \u0447\u0440\u0435\u0437 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u043d\u0435 \u0438 \u043f\u0440\u0438 \u0441\u043f\u0430\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u0442\u0430 \u0437\u0430 <code>protected<\/code> \u0434\u043e\u0441\u0442\u044a\u043f<\/td><td>\u0416\u043e\u049b<\/td><\/tr><tr><td>\u0414\u043e\u0441\u0442\u044a\u043f \u043e\u0442 Subclass \u0432 \u0434\u0440\u0443\u0433 Package<\/td><td>\u0418\u04d9<\/td><td>\u0416\u043e\u049b<\/td><\/tr><tr><td>\u0414\u043e\u0441\u0442\u044a\u043f \u0447\u0440\u0435\u0437 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u0435\u043d Parent Object \u0432 \u0434\u0440\u0443\u0433 Package<\/td><td>\u0416\u043e\u049b<\/td><td>\u0416\u043e\u049b<\/td><\/tr><tr><td>Java Keyword<\/td><td><code>protected<\/code><\/td><td>\u041d\u044f\u043c\u0430 \u2013 \u043b\u0438\u043f\u0441\u0432\u0430 Modifier<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Protected \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0434\u043e\u0441\u0442\u044a\u043f \u0432 \u0441\u044a\u0449\u0438\u044f Package \u0438 \u043e\u0442 Subclasses \u0432 \u0434\u0440\u0443\u0433\u0438 Packages.<\/li>\n\n\n\n<li>Package-Private \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0434\u043e\u0441\u0442\u044a\u043f \u0441\u0430\u043c\u043e \u0432 \u0441\u044a\u0449\u0438\u044f Package.<\/li>\n\n\n\n<li>\u041d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u043d\u0435\u0442\u043e \u0441\u0430\u043c\u043e \u043f\u043e \u0441\u0435\u0431\u0435 \u0441\u0438 \u043d\u0435 \u0434\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e Package-Private Members \u043e\u0442 \u0434\u0440\u0443\u0433 Package.<\/li>\n\n\n\n<li><code>package-private<\/code> \u0435 Default Access Level, \u043a\u043e\u0433\u0430\u0442\u043e \u043d\u0435 \u0435 \u0437\u0430\u0434\u0430\u0434\u0435\u043d Modifier.<\/li>\n\n\n\n<li>\u041f\u0440\u0438 <code>protected<\/code> \u0434\u043e\u0441\u0442\u044a\u043f \u0438\u0437\u0432\u044a\u043d Package \u0438\u043c\u0430 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u043d\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435: \u0434\u043e\u0441\u0442\u044a\u043f\u044a\u0442 \u043f\u0440\u0435\u0437 Reference \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0447\u0440\u0435\u0437 \u0441\u0430\u043c\u0438\u044f Subclass \u0438\u043b\u0438 \u043d\u0435\u0433\u043e\u0432 Subtype.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434: <code>protected<\/code> \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 \u043f\u043e-\u0448\u0438\u0440\u043e\u043a \u0434\u043e\u0441\u0442\u044a\u043f \u043e\u0442 <code>package-private<\/code>, \u0437\u0430\u0449\u043e\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043d\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u0449\u0438\u0442\u0435 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0437\u0430\u0449\u0438\u0442\u0435\u043d\u0438\u0442\u0435 Members \u0434\u043e\u0440\u0438 \u043a\u043e\u0433\u0430\u0442\u043e \u0441\u0435 \u043d\u0430\u043c\u0438\u0440\u0430\u0442 \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 Packages.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Java 21 \u2013 Sequenced Collections<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Sequenced Collections \u0441\u0430 \u043d\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442, \u0432\u044a\u0432\u0435\u0434\u0435\u043d\u0430 \u0432 Java 21 (JEP 431), \u043a\u043e\u044f\u0442\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u0443\u043d\u0438\u0444\u0438\u0446\u0438\u0440\u0430\u043d \u043d\u0430\u0447\u0438\u043d \u0437\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 Collections, \u0438\u043c\u0430\u0449\u0438 \u0434\u0435\u0444\u0438\u043d\u0438\u0440\u0430\u043d \u0440\u0435\u0434 \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435 (Encounter Order).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0435\u0434\u0438 Java 21 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438\u0442\u0435 Collections \u0438\u043c\u0430\u0445\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u043c\u0435\u0442\u043e\u0434\u0438 \u0437\u0430 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u043f\u044a\u0440\u0432\u0438\u044f \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u044f \u0435\u043b\u0435\u043c\u0435\u043d\u0442. Sequenced Collections \u0432\u044a\u0432\u0435\u0436\u0434\u0430\u0442 \u043e\u0431\u0449 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u0430\u043d\u0438 \u043c\u0435\u0442\u043e\u0434\u0438 \u0437\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043d\u0430\u0447\u0430\u043b\u043e\u0442\u043e, \u043a\u0440\u0430\u044f \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u0438\u044f \u0440\u0435\u0434 \u043d\u0430 \u043a\u043e\u043b\u0435\u043a\u0446\u0438\u044f\u0442\u0430.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u041d\u043e\u0432\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0438 (New Interfaces)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Java 21 \u0432\u044a\u0432\u0435\u0436\u0434\u0430 \u0442\u0440\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Interface<\/th><th>\u041f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th><\/tr><tr><td><code>SequencedCollection<\/code><\/td><td>\u041a\u043e\u043b\u0435\u043a\u0446\u0438\u0438 \u0441 \u0434\u0435\u0444\u0438\u043d\u0438\u0440\u0430\u043d \u0440\u0435\u0434 \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435.<\/td><\/tr><tr><td><code>SequencedSet<\/code><\/td><td>Set \u0441 \u0434\u0435\u0444\u0438\u043d\u0438\u0440\u0430\u043d \u0440\u0435\u0434 \u0438 \u0443\u043d\u0438\u043a\u0430\u043b\u043d\u0438 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438.<\/td><\/tr><tr><td><code>SequencedMap<\/code><\/td><td>Map \u0441 \u0434\u0435\u0444\u0438\u043d\u0438\u0440\u0430\u043d \u0440\u0435\u0434 \u043d\u0430 Key-Value \u0437\u0430\u043f\u0438\u0441\u0438\u0442\u0435.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0419\u0435\u0440\u0430\u0440\u0445\u0438\u044f\u0442\u0430 \u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0438\u0442\u0435:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-9.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"972\" height=\"302\" data-attachment-id=\"3337\" data-permalink=\"https:\/\/vkrastev1blog.com\/2026\/05\/29\/questions-and-informations-prepairing-for-java-developer-job-interview\/image-59\/\" data-orig-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-9.png?fit=972%2C302&amp;ssl=1\" data-orig-size=\"972,302\" data-comments-opened=\"1\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-9.png?fit=972%2C302&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-9.png?resize=972%2C302&#038;ssl=1\" alt=\"\" class=\"wp-image-3337\" srcset=\"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-9.png?w=972&amp;ssl=1 972w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-9.png?resize=300%2C93&amp;ssl=1 300w, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/05\/image-9.png?resize=768%2C239&amp;ssl=1 768w\" sizes=\"auto, (max-width: 972px) 100vw, 972px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u043c\u0435\u0440\u0438 \u0437\u0430 \u043a\u043b\u0430\u0441\u043e\u0432\u0435, \u043a\u043e\u0438\u0442\u043e \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430\u0442 \u043d\u043e\u0432\u0438\u0442\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>ArrayList<\/code><\/li>\n\n\n\n<li><code>LinkedList<\/code><\/li>\n\n\n\n<li><code>LinkedHashSet<\/code><\/li>\n\n\n\n<li><code>TreeSet<\/code><\/li>\n\n\n\n<li><code>LinkedHashMap<\/code><\/li>\n\n\n\n<li><code>TreeMap<\/code><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">2. \u041e\u0441\u043d\u043e\u0432\u043d\u0438 Methods (SequencedCollection)<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Method<\/th><th>\u041f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th><th>Example<\/th><\/tr><tr><td><code>getFirst()<\/code><\/td><td>\u0412\u0440\u044a\u0449\u0430 \u043f\u044a\u0440\u0432\u0438\u044f \u0435\u043b\u0435\u043c\u0435\u043d\u0442.<\/td><td><code>list.getFirst()<\/code><\/td><\/tr><tr><td><code>getLast()<\/code><\/td><td>\u0412\u0440\u044a\u0449\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u044f \u0435\u043b\u0435\u043c\u0435\u043d\u0442.<\/td><td><code>list.getLast()<\/code><\/td><\/tr><tr><td><code>addFirst(E e)<\/code><\/td><td>\u0414\u043e\u0431\u0430\u0432\u044f \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u0432 \u043d\u0430\u0447\u0430\u043b\u043e\u0442\u043e.<\/td><td><code>list.addFirst(\"Zara\")<\/code><\/td><\/tr><tr><td><code>addLast(E e)<\/code><\/td><td>\u0414\u043e\u0431\u0430\u0432\u044f \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u0432 \u043a\u0440\u0430\u044f.<\/td><td><code>list.addLast(\"Tom\")<\/code><\/td><\/tr><tr><td><code>removeFirst()<\/code><\/td><td>\u041f\u0440\u0435\u043c\u0430\u0445\u0432\u0430 \u0438 \u0432\u0440\u044a\u0449\u0430 \u043f\u044a\u0440\u0432\u0438\u044f \u0435\u043b\u0435\u043c\u0435\u043d\u0442.<\/td><td><code>list.removeFirst()<\/code><\/td><\/tr><tr><td><code>removeLast()<\/code><\/td><td>\u041f\u0440\u0435\u043c\u0430\u0445\u0432\u0430 \u0438 \u0432\u0440\u044a\u0449\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u044f \u0435\u043b\u0435\u043c\u0435\u043d\u0442.<\/td><td><code>list.removeLast()<\/code><\/td><\/tr><tr><td><code>reversed()<\/code><\/td><td>\u0412\u0440\u044a\u0449\u0430 \u043e\u0431\u0440\u0430\u0442\u0435\u043d (Reverse) View \u043d\u0430 \u043a\u043e\u043b\u0435\u043a\u0446\u0438\u044f\u0442\u0430.<\/td><td><code>list.reversed()<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">3. Methods \u043f\u0440\u0438 SequencedMap<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Method<\/th><th>\u041f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th><th>Example<\/th><\/tr><tr><td><code>firstEntry()<\/code><\/td><td>\u0412\u0440\u044a\u0449\u0430 \u043f\u044a\u0440\u0432\u0438\u044f Key-Value \u0437\u0430\u043f\u0438\u0441.<\/td><td><code>map.firstEntry()<\/code><\/td><\/tr><tr><td><code>lastEntry()<\/code><\/td><td>\u0412\u0440\u044a\u0449\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u044f Key-Value \u0437\u0430\u043f\u0438\u0441.<\/td><td><code>map.lastEntry()<\/code><\/td><\/tr><tr><td><code>pollFirstEntry()<\/code><\/td><td>\u041f\u0440\u0435\u043c\u0430\u0445\u0432\u0430 \u0438 \u0432\u0440\u044a\u0449\u0430 \u043f\u044a\u0440\u0432\u0438\u044f \u0437\u0430\u043f\u0438\u0441.<\/td><td><code>map.pollFirstEntry()<\/code><\/td><\/tr><tr><td><code>pollLastEntry()<\/code><\/td><td>\u041f\u0440\u0435\u043c\u0430\u0445\u0432\u0430 \u0438 \u0432\u0440\u044a\u0449\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u044f \u0437\u0430\u043f\u0438\u0441.<\/td><td><code>map.pollLastEntry()<\/code><\/td><\/tr><tr><td><code>reversed()<\/code><\/td><td>\u0412\u0440\u044a\u0449\u0430 \u043e\u0431\u0440\u0430\u0442\u0435\u043d View \u043d\u0430 Map.<\/td><td><code>map.reversed()<\/code><\/td><\/tr><tr><td><code>putFirst(K k, V v)<\/code><\/td><td>\u0414\u043e\u0431\u0430\u0432\u044f \u0438\u043b\u0438 \u043f\u0440\u0435\u043c\u0435\u0441\u0442\u0432\u0430 \u0437\u0430\u043f\u0438\u0441 \u0432 \u043d\u0430\u0447\u0430\u043b\u043e\u0442\u043e.<\/td><td><code>map.putFirst(\"A\", 10)<\/code><\/td><\/tr><tr><td><code>putLast(K k, V v)<\/code><\/td><td>\u0414\u043e\u0431\u0430\u0432\u044f \u0438\u043b\u0438 \u043f\u0440\u0435\u043c\u0435\u0441\u0442\u0432\u0430 \u0437\u0430\u043f\u0438\u0441 \u0432 \u043a\u0440\u0430\u044f.<\/td><td><code>map.putLast(\"Z\", 20)<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: <code>getFirst()<\/code> \u0436\u04d9\u043d\u0435 <code>getLast()<\/code> \u043d\u0435 \u0441\u0430 \u043c\u0435\u0442\u043e\u0434\u0438 \u043d\u0430 <code>SequencedMap<\/code>. \u0417\u0430 Map \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 <code>firstEntry()<\/code> \u0436\u04d9\u043d\u0435 <code>lastEntry()<\/code>. \u0421\u044a\u0449\u043e \u0442\u0430\u043a\u0430 <code>putFirst()<\/code> \u0436\u04d9\u043d\u0435 <code>putLast()<\/code> \u0441\u0430 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u0438 \u0437\u0430 <code>SequencedMap<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Java Code Examples<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Example 1 \u2013 SequencedCollection<\/h3>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">import java.util.ArrayList;<\/div><div class=\"cm-line\">import java.util.List;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        List&lt;String&gt; names = new ArrayList&lt;&gt;();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        names.add(&quot;John&quot;);<\/div><div class=\"cm-line\">        names.add(&quot;Peter&quot;);<\/div><div class=\"cm-line\">        names.add(&quot;Michael&quot;);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        System.out.println(names.getFirst());<\/div><div class=\"cm-line\">        System.out.println(names.getLast());<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        names.addFirst(&quot;Zara&quot;);<\/div><div class=\"cm-line\">        names.addLast(&quot;Tom&quot;);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        System.out.println(names);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        names.removeFirst();<\/div><div class=\"cm-line\">        names.removeLast();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        System.out.println(names);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">John<\/div><div class=\"cm-line\">Michael<\/div><div class=\"cm-line\">[Zara, John, Peter, Michael, Tom]<\/div><div class=\"cm-line\">[John, Peter, Michael]<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Example 2 \u2013 SequencedMap<\/h3>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">import java.util.LinkedHashMap;<\/div><div class=\"cm-line\">import java.util.SequencedMap;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        SequencedMap&lt;String, Integer&gt; map =<\/div><div class=\"cm-line\">                new LinkedHashMap&lt;&gt;();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        map.put(&quot;John&quot;, 25);<\/div><div class=\"cm-line\">        map.put(&quot;Peter&quot;, 30);<\/div><div class=\"cm-line\">        map.put(&quot;Michael&quot;, 35);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        System.out.println(map.firstEntry());<\/div><div class=\"cm-line\">        System.out.println(map.lastEntry());<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        map.putFirst(&quot;Zara&quot;, 22);<\/div><div class=\"cm-line\">        map.putLast(&quot;Tom&quot;, 40);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        System.out.println(map);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">John=25<\/div><div class=\"cm-line\">Michael=35<\/div><div class=\"cm-line\">{Zara=22, John=25, Peter=30, Michael=35, Tom=40}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Example 3 \u2013 Reversed View<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u04d8\u0434\u0456\u0441 <code>reversed()<\/code> \u0432\u0440\u044a\u0449\u0430 View \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0430\u0442\u0430 \u043a\u043e\u043b\u0435\u043a\u0446\u0438\u044f \u0432 \u043e\u0431\u0440\u0430\u0442\u0435\u043d \u0440\u0435\u0434, \u0430 \u043d\u0435 \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043a\u043e\u043f\u0438\u0435.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">import java.util.ArrayList;<\/div><div class=\"cm-line\">import java.util.List;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        List&lt;String&gt; names = new ArrayList&lt;&gt;(<\/div><div class=\"cm-line\">                List.of(&quot;John&quot;, &quot;Peter&quot;, &quot;Michael&quot;)<\/div><div class=\"cm-line\">        );<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        List&lt;String&gt; reversedNames = names.reversed();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        System.out.println(reversedNames);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        reversedNames.add(&quot;Zara&quot;);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        System.out.println(names);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">[Michael, Peter, John]<\/div><div class=\"cm-line\">[John, Peter, Michael, Zara]<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0431\u044f\u0441\u043d\u0435\u043d\u0438\u0435: \u041f\u0440\u043e\u043c\u0435\u043d\u0438\u0442\u0435 \u0432 <code>reversedNames<\/code> \u0441\u0435 \u043e\u0442\u0440\u0430\u0437\u044f\u0432\u0430\u0442 \u0432\u044a\u0440\u0445\u0443 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0430\u0442\u0430 \u043a\u043e\u043b\u0435\u043a\u0446\u0438\u044f <code>names<\/code>, \u0437\u0430\u0449\u043e\u0442\u043e \u0442\u043e\u0432\u0430 \u0435 Live View.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. \u041a\u0430\u043a\u0432\u043e \u0435 \u043f\u0440\u0435\u0434\u0438\u043c\u0441\u0442\u0432\u043e\u0442\u043e \u043d\u0430 Sequenced Collections?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0435\u0434\u0438 Java 21 \u0434\u043e\u0441\u0442\u044a\u043f\u044a\u0442 \u0434\u043e \u043f\u044a\u0440\u0432\u0438\u044f \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u044f \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u0437\u0430\u0432\u0438\u0441\u0435\u0448\u0435 \u043e\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0430\u0442\u0430 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043d\u0430 Collection.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">\/\/ Before Java 21<\/div><div class=\"cm-line\">list.get(0);<\/div><div class=\"cm-line\">list.get(list.size() - 1);<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438 <code>LinkedHashSet<\/code> \u0438 \u0434\u0440\u0443\u0433\u0438 Collections \u043d\u044f\u043c\u0430\u0448\u0435 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u0435\u043d \u043d\u0430\u0447\u0438\u043d \u0437\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u0435\u043d \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u043f\u044a\u0440\u0432\u0438\u044f \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u044f \u0435\u043b\u0435\u043c\u0435\u043d\u0442.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421 Java 21:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">\/\/ Java 21+<\/div><div class=\"cm-line\">collection.getFirst();<\/div><div class=\"cm-line\">collection.getLast();<\/div><div class=\"cm-line\">collection.reversed();<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0432\u0430 \u043f\u0440\u0430\u0432\u0438 \u043a\u043e\u0434\u0430 \u043f\u043e-\u0443\u043d\u0438\u0444\u0438\u0446\u0438\u0440\u0430\u043d, \u0447\u0435\u0442\u0438\u043c \u0438 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c \u043e\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0430\u0442\u0430 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0435\u0442\u0435:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Sequenced Collections \u0441\u0430 \u0432\u044a\u0432\u0435\u0434\u0435\u043d\u0438 \u0432 Java 21 \u0447\u0440\u0435\u0437 JEP 431.<\/li>\n\n\n\n<li>\u041d\u043e\u0432\u0438\u0442\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0438 \u0441\u0430 <code>SequencedCollection<\/code>, <code>SequencedSet<\/code> \u0436\u04d9\u043d\u0435 <code>SequencedMap<\/code>.<\/li>\n\n\n\n<li><code>getFirst()<\/code> \u0436\u04d9\u043d\u0435 <code>getLast()<\/code> \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430\u0442 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u043f\u044a\u0440\u0432\u0438\u044f \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u044f \u0435\u043b\u0435\u043c\u0435\u043d\u0442.<\/li>\n\n\n\n<li><code>reversed()<\/code> \u0432\u0440\u044a\u0449\u0430 Live View \u0432 \u043e\u0431\u0440\u0430\u0442\u0435\u043d \u0440\u0435\u0434, \u0430 \u043d\u0435 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043a\u043e\u043f\u0438\u0435.<\/li>\n\n\n\n<li><code>SequencedMap<\/code> \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 <code>firstEntry()<\/code>, <code>lastEntry()<\/code>, <code>putFirst()<\/code> \u0436\u04d9\u043d\u0435 <code>putLast()<\/code>.<\/li>\n\n\n\n<li>\u041d\u0435 \u0432\u0441\u0438\u0447\u043a\u0438 Collections \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u0442 \u043f\u0440\u043e\u043c\u044f\u043d\u0430 \u043d\u0430 \u0440\u0435\u0434\u0430 \u2013 \u043f\u0440\u0438 \u043d\u0435\u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430\u043d\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043f\u043e\u043b\u0443\u0447\u0438 <code>UnsupportedOperationException<\/code>.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434: Sequenced Collections \u0432 Java 21 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u0430\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u0430 \u0441 Collections, \u043a\u043e\u0438\u0442\u043e \u0438\u043c\u0430\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d \u0440\u0435\u0434 \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435, \u043a\u0430\u0442\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f\u0442 \u0443\u043d\u0438\u0444\u0438\u0446\u0438\u0440\u0430\u043d\u0438 Methods \u0437\u0430 \u0434\u043e\u0441\u0442\u044a\u043f, \u0434\u043e\u0431\u0430\u0432\u044f\u043d\u0435, \u043f\u0440\u0435\u043c\u0430\u0445\u0432\u0430\u043d\u0435 \u0438 \u043e\u0431\u0440\u044a\u0449\u0430\u043d\u0435 \u043d\u0430 \u0440\u0435\u0434\u0430.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Spring \u0430\u043d\u043e\u0442\u0430\u0446\u0438\u0438 (Spring Annotations)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Spring Framework \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0430\u043d\u043e\u0442\u0430\u0446\u0438\u0438 (Annotations), \u0447\u0440\u0435\u0437 \u043a\u043e\u0438\u0442\u043e \u0441\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0438\u0442\u0435 \u043d\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u0442\u043e, \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430\u0442 \u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438\u0442\u0435 (Dependency Injection), \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442 \u0441\u0435 HTTP \u0437\u0430\u044f\u0432\u043a\u0438 \u0438 \u0441\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0430\u0442 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438\u0442\u0435.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e-\u0434\u043e\u043b\u0443 \u0441\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0435\u043d\u0438 \u043d\u0430\u0439-\u0447\u0435\u0441\u0442\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0438\u0442\u0435 Spring \u0438 Spring Boot \u0430\u043d\u043e\u0442\u0430\u0446\u0438\u0438, \u0441 \u043a\u0440\u0430\u0442\u043a\u043e \u043e\u0431\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u0438.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u0430\u043d\u043e\u0442\u0430\u0446\u0438\u0438 \u0437\u0430 Spring \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0438<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u0410\u043d\u043e\u0442\u0430\u0446\u0438\u044f<\/th><th>\u041f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th><\/tr><tr><td><code>@Component<\/code><\/td><td>\u041c\u0430\u0440\u043a\u0438\u0440\u0430 \u043a\u043b\u0430\u0441 \u043a\u0430\u0442\u043e Spring-managed component. Spring \u0433\u043e \u043e\u0442\u043a\u0440\u0438\u0432\u0430 \u0447\u0440\u0435\u0437 Component Scanning \u0438 \u0433\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0430 \u043a\u0430\u0442\u043e Bean.<\/td><\/tr><tr><td><code>@Controller<\/code><\/td><td>\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 <code>@Component<\/code>, \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0430 \u0437\u0430 MVC \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0435\u0440\u0438, \u043a\u043e\u0438\u0442\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442 HTTP \u0437\u0430\u044f\u0432\u043a\u0438 \u0438 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0432\u0440\u044a\u0449\u0430\u0442 \u0438\u043c\u0435\u043d\u0430 \u043d\u0430 View.<\/td><\/tr><tr><td><code>@Service<\/code><\/td><td>\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 <code>@Component<\/code>, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u0437\u0430 Service Layer. \u041e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0441\u044a\u0434\u044a\u0440\u0436\u0430 Business Logic.<\/td><\/tr><tr><td><code>@Repository<\/code><\/td><td>\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 <code>@Component<\/code>, \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0430 \u0432 Data Access Layer. \u041e\u0441\u0432\u0435\u043d \u0442\u043e\u0432\u0430 \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 Exception Translation \u0437\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438 database exceptions.<\/td><\/tr><tr><td><code>@Configuration<\/code><\/td><td>\u041c\u0430\u0440\u043a\u0438\u0440\u0430 \u043a\u043b\u0430\u0441, \u043a\u043e\u0439\u0442\u043e \u0441\u044a\u0434\u044a\u0440\u0436\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043d\u0430 Spring \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u0442\u043e, \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0447\u0440\u0435\u0437 \u043c\u0435\u0442\u043e\u0434\u0438 \u0441 <code>@Bean<\/code>.<\/td><\/tr><tr><td><code>@Bean<\/code><\/td><td>\u041f\u043e\u0441\u0442\u0430\u0432\u044f \u0441\u0435 \u0432\u044a\u0440\u0445\u0443 \u043c\u0435\u0442\u043e\u0434, \u0447\u0438\u044f\u0442\u043e \u0432\u044a\u0440\u043d\u0430\u0442\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u0441\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0430 \u043a\u0430\u0442\u043e Bean \u0432 Spring Container.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Component<\/div><div class=\"cm-line\">public class EmailValidator {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public boolean isValid(String email) {<\/div><div class=\"cm-line\">        return email != null &amp;&amp; email.contains(&quot;@&quot;);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430 Java-based Configuration:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Configuration<\/div><div class=\"cm-line\">public class AppConfig {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    @Bean<\/div><div class=\"cm-line\">    public EmailValidator emailValidator() {<\/div><div class=\"cm-line\">        return new EmailValidator();<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">2. \u0410\u043d\u043e\u0442\u0430\u0446\u0438\u0438 \u0437\u0430 Dependency Injection<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0435\u0437\u0438 \u0430\u043d\u043e\u0442\u0430\u0446\u0438\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e\u0442\u043e \u0438\u043d\u0436\u0435\u043a\u0442\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u0435\u0436\u0434\u0443 Spring Beans.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u0410\u043d\u043e\u0442\u0430\u0446\u0438\u044f<\/th><th>\u041f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th><\/tr><tr><td><code>@Autowired<\/code><\/td><td>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u0437\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e Dependency Injection \u0447\u0440\u0435\u0437 Constructor, Method \u0438\u043b\u0438 Field.<\/td><\/tr><tr><td><code>@Qualifier<\/code><\/td><td>\u0423\u043a\u0430\u0437\u0432\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0438\u044f Bean, \u043a\u043e\u0439\u0442\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0438\u043d\u0436\u0435\u043a\u0442\u0438\u0440\u0430\u043d, \u043a\u043e\u0433\u0430\u0442\u043e \u0438\u043c\u0430 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u0430 \u043e\u0442 \u0435\u0434\u0438\u043d \u0438 \u0441\u044a\u0449 \u0442\u0438\u043f.<\/td><\/tr><tr><td><code>@Value<\/code><\/td><td>\u0418\u043d\u0436\u0435\u043a\u0442\u0438\u0440\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0438 \u043e\u0442 application properties, environment variables \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0438 \u0438\u0437\u0442\u043e\u0447\u043d\u0438\u0446\u0438.<\/td><\/tr><tr><td><code>@Primary<\/code><\/td><td>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u043d Bean, \u043a\u043e\u0433\u0430\u0442\u043e \u0438\u043c\u0430 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u0430 \u043e\u0442 \u0435\u0434\u0438\u043d \u0438 \u0441\u044a\u0449 \u0442\u0438\u043f.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public interface NotificationService {<\/div><div class=\"cm-line\">    void send(String message);<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Service(&quot;emailService&quot;)<\/div><div class=\"cm-line\">public class EmailService implements NotificationService {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public void send(String message) {<\/div><div class=\"cm-line\">        System.out.println(&quot;Email: &quot; + message);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Service(&quot;smsService&quot;)<\/div><div class=\"cm-line\">public class SmsService implements NotificationService {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public void send(String message) {<\/div><div class=\"cm-line\">        System.out.println(&quot;SMS: &quot; + message);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 <code>@Qualifier<\/code>:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Service<\/div><div class=\"cm-line\">public class NotificationManager {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private final NotificationService service;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public NotificationManager(<\/div><div class=\"cm-line\">            @Qualifier(&quot;emailService&quot;)<\/div><div class=\"cm-line\">            NotificationService service) {<\/div><div class=\"cm-line\">        this.service = service;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: \u0410\u043a\u043e \u0438\u043c\u0430 \u0441\u0430\u043c\u043e \u0435\u0434\u0438\u043d \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 Bean, Spring \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u043c\u043e\u0436\u0435 \u0434\u0430 \u0433\u043e \u0438\u043d\u0436\u0435\u043a\u0442\u0438\u0440\u0430 \u0431\u0435\u0437 <code>@Autowired<\/code>. \u041f\u0440\u0438 Constructor Injection, \u043a\u043e\u0433\u0430\u0442\u043e \u043a\u043b\u0430\u0441\u044a\u0442 \u0438\u043c\u0430 \u0441\u0430\u043c\u043e \u0435\u0434\u0438\u043d \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440, \u0430\u043d\u043e\u0442\u0430\u0446\u0438\u044f\u0442\u0430 <code>@Autowired<\/code> \u043d\u0435 \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. \u0410\u043d\u043e\u0442\u0430\u0446\u0438\u0438 \u0437\u0430 Bean Lifecycle \u0438 Scope<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u0410\u043d\u043e\u0442\u0430\u0446\u0438\u044f<\/th><th>\u041f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th><\/tr><tr><td><code>@Scope<\/code><\/td><td>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f \u0436\u0438\u0437\u043d\u0435\u043d\u0438\u044f \u0446\u0438\u043a\u044a\u043b \u0438 Scope \u043d\u0430 Bean, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>singleton<\/code> \u0438\u043b\u0438 <code>prototype<\/code>.<\/td><\/tr><tr><td><code>@Lazy<\/code><\/td><td>\u041e\u0442\u043b\u0430\u0433\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 Bean \u0434\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430, \u0432 \u043a\u043e\u0439\u0442\u043e \u0442\u043e\u0439 \u0431\u044a\u0434\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Component<\/div><div class=\"cm-line\">@Scope(&quot;prototype&quot;)<\/div><div class=\"cm-line\">public class ReportGenerator {<\/div><div class=\"cm-line\">    \/\/ New instance for each request from the container<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Component<\/div><div class=\"cm-line\">@Lazy<\/div><div class=\"cm-line\">public class HeavyService {<\/div><div class=\"cm-line\">    \/\/ Initialized only when needed<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u0438 Bean Scopes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>singleton<\/code> \u2013 \u0435\u0434\u0438\u043d \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430 Bean \u0432 \u0440\u0430\u043c\u043a\u0438\u0442\u0435 \u043d\u0430 Spring Container. \u0422\u043e\u0432\u0430 \u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0438\u044f\u0442 Scope.<\/li>\n\n\n\n<li><code>prototype<\/code> \u2013 \u043d\u043e\u0432 \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043f\u0440\u0438 \u0432\u0441\u044f\u043a\u043e \u043f\u043e\u0438\u0441\u043a\u0432\u0430\u043d\u0435 \u043e\u0442 Container.<\/li>\n\n\n\n<li><code>request<\/code> \u2013 \u0435\u0434\u0438\u043d \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0437\u0430 \u0432\u0441\u044f\u043a\u0430 HTTP \u0437\u0430\u044f\u0432\u043a\u0430.<\/li>\n\n\n\n<li><code>session<\/code> \u2013 \u0435\u0434\u0438\u043d \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0437\u0430 \u0432\u0441\u044f\u043a\u0430 HTTP \u0441\u0435\u0441\u0438\u044f.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><code>request<\/code> \u0436\u04d9\u043d\u0435 <code>session<\/code> \u0441\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0438\u043c\u0438 \u0432 Web Application Context.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. \u0410\u043d\u043e\u0442\u0430\u0446\u0438\u0438 \u0437\u0430 Spring MVC \u0438 REST API<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0435\u0437\u0438 \u0430\u043d\u043e\u0442\u0430\u0446\u0438\u0438 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0437\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 HTTP \u0437\u0430\u044f\u0432\u043a\u0438 \u0438 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 Web Services.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u0410\u043d\u043e\u0442\u0430\u0446\u0438\u044f<\/th><th>\u041f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th><\/tr><tr><td><code>@RequestMapping<\/code><\/td><td>\u0421\u0432\u044a\u0440\u0437\u0432\u0430 HTTP \u0437\u0430\u044f\u0432\u043a\u0438 \u0441 Controller \u0438\u043b\u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u0435\u043d Handler Method.<\/td><\/tr><tr><td><code>@GetMapping<\/code><\/td><td>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430 HTTP GET \u0437\u0430\u044f\u0432\u043a\u0438.<\/td><\/tr><tr><td><code>@PostMapping<\/code><\/td><td>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430 HTTP POST \u0437\u0430\u044f\u0432\u043a\u0438.<\/td><\/tr><tr><td><code>@PutMapping<\/code><\/td><td>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430 HTTP PUT \u0437\u0430\u044f\u0432\u043a\u0438.<\/td><\/tr><tr><td><code>@DeleteMapping<\/code><\/td><td>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430 HTTP DELETE \u0437\u0430\u044f\u0432\u043a\u0438.<\/td><\/tr><tr><td><code>@RestController<\/code><\/td><td>\u041a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u0430 <code>@Controller<\/code> \u0436\u04d9\u043d\u0435 <code>@ResponseBody<\/code>. \u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u043f\u0440\u0438 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 REST API.<\/td><\/tr><tr><td><code>@ResponseBody<\/code><\/td><td>\u0423\u043a\u0430\u0437\u0432\u0430, \u0447\u0435 \u0432\u044a\u0440\u043d\u0430\u0442\u0430\u0442\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e \u0432 HTTP Response Body.<\/td><\/tr><tr><td><code>@PathVariable<\/code><\/td><td>\u0418\u0437\u0432\u043b\u0438\u0447\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u043e\u0442 URI Path Variable.<\/td><\/tr><tr><td><code>@RequestParam<\/code><\/td><td>\u0418\u0437\u0432\u043b\u0438\u0447\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u043e\u0442 Query Parameter.<\/td><\/tr><tr><td><code>@RequestBody<\/code><\/td><td>\u0421\u0432\u044a\u0440\u0437\u0432\u0430 HTTP Request Body \u0441 Java \u043e\u0431\u0435\u043a\u0442.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430 REST Controller:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@RestController<\/div><div class=\"cm-line\">@RequestMapping(&quot;\/api\/users&quot;)<\/div><div class=\"cm-line\">public class UserController {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    @GetMapping(&quot;\/{id}&quot;)<\/div><div class=\"cm-line\">    public String getUser(@PathVariable Long id) {<\/div><div class=\"cm-line\">        return &quot;User ID: &quot; + id;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    @PostMapping<\/div><div class=\"cm-line\">    public String createUser(<\/div><div class=\"cm-line\">            @RequestBody User user) {<\/div><div class=\"cm-line\">        return &quot;User created: &quot; + user.getName();<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    @GetMapping(&quot;\/search&quot;)<\/div><div class=\"cm-line\">    public String searchUser(<\/div><div class=\"cm-line\">            @RequestParam String name) {<\/div><div class=\"cm-line\">        return &quot;Searching for: &quot; + name;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    @PutMapping(&quot;\/{id}&quot;)<\/div><div class=\"cm-line\">    public String updateUser(<\/div><div class=\"cm-line\">            @PathVariable Long id,<\/div><div class=\"cm-line\">            @RequestBody User user) {<\/div><div class=\"cm-line\">        return &quot;Updated user: &quot; + id;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    @DeleteMapping(&quot;\/{id}&quot;)<\/div><div class=\"cm-line\">    public String deleteUser(<\/div><div class=\"cm-line\">            @PathVariable Long id) {<\/div><div class=\"cm-line\">        return &quot;Deleted user: &quot; + id;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430 <code>User<\/code> \u043a\u043b\u0430\u0441:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class User {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private String name;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public String getName() {<\/div><div class=\"cm-line\">        return name;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public void setName(String name) {<\/div><div class=\"cm-line\">        this.name = name;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0430\u0437\u043b\u0438\u043a\u0430 \u043c\u0435\u0436\u0434\u0443 <code>@PathVariable<\/code> \u0436\u04d9\u043d\u0435 <code>@RequestParam<\/code>:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u0410\u043d\u043e\u0442\u0430\u0446\u0438\u044f<\/th><th>\u041f\u0440\u0438\u043c\u0435\u0440\u0435\u043d URL<\/th><th>\u0418\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442<\/th><\/tr><tr><td><code>@PathVariable<\/code><\/td><td><code>\/api\/users\/15<\/code><\/td><td><code>15<\/code><\/td><\/tr><tr><td><code>@RequestParam<\/code><\/td><td><code>\/api\/users\/search?name=Ivan<\/code><\/td><td><code>Ivan<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">5. \u0410\u043d\u043e\u0442\u0430\u0446\u0438\u0438 \u0437\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u0410\u043d\u043e\u0442\u0430\u0446\u0438\u044f<\/th><th>\u041f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th><\/tr><tr><td><code>@Transactional<\/code><\/td><td>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u043e\u043d\u043d\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043d\u0430 \u043c\u0435\u0442\u043e\u0434 \u0438\u043b\u0438 \u043a\u043b\u0430\u0441. \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438\u0442\u0435 \u0441 \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438 \u043a\u0430\u0442\u043e \u0435\u0434\u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Service<\/div><div class=\"cm-line\">public class BankService {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    @Transactional<\/div><div class=\"cm-line\">    public void transferMoney(<\/div><div class=\"cm-line\">            Account from,<\/div><div class=\"cm-line\">            Account to,<\/div><div class=\"cm-line\">            double amount) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        from.withdraw(amount);<\/div><div class=\"cm-line\">        to.deposit(amount);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0410\u043a\u043e \u0432\u044a\u0437\u043d\u0438\u043a\u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u043e Runtime Exception, Spring \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435 \u0449\u0435 \u0438\u0437\u0432\u044a\u0440\u0448\u0438 Rollback \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0442\u0430.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: \u041f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435 Spring \u0438\u0437\u0432\u044a\u0440\u0448\u0432\u0430 Rollback \u043f\u0440\u0438 <code>RuntimeException<\/code> \u0436\u04d9\u043d\u0435 <code>Error<\/code>, \u043d\u043e \u043d\u0435 \u0438 \u043f\u0440\u0438 Checked Exceptions. \u0417\u0430 Checked Exceptions \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 <code>rollbackFor<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. \u0410\u043d\u043e\u0442\u0430\u0446\u0438\u0438 \u0437\u0430 Spring Boot<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u0410\u043d\u043e\u0442\u0430\u0446\u0438\u044f<\/th><th>\u041f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th><\/tr><tr><td><code>@EnableAutoConfiguration<\/code><\/td><td>\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u0437\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043d\u0430 Spring Boot.<\/td><\/tr><tr><td><code>@SpringBootApplication<\/code><\/td><td>\u041a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u0430 <code>@Configuration<\/code>, <code>@EnableAutoConfiguration<\/code> \u0436\u04d9\u043d\u0435 <code>@ComponentScan<\/code>. \u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0441\u0435 \u043a\u0430\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u0430 \u0430\u043d\u043e\u0442\u0430\u0446\u0438\u044f \u043d\u0430 Spring Boot \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0442\u0430.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@SpringBootApplication<\/div><div class=\"cm-line\">public class Application {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\">        SpringApplication.run(<\/div><div class=\"cm-line\">            Application.class, args);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><code>@SpringBootApplication<\/code> \u043e\u0431\u0435\u0434\u0438\u043d\u044f\u0432\u0430 \u0442\u0440\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>@Configuration<\/code> \u2013 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0434\u0435\u0444\u0438\u043d\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 Bean \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f.<\/li>\n\n\n\n<li><code>@EnableAutoConfiguration<\/code> \u2013 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0438 \u0441\u043f\u043e\u0440\u0435\u0434 \u043d\u0430\u043b\u0438\u0447\u043d\u0438\u0442\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438.<\/li>\n\n\n\n<li><code>@ComponentScan<\/code> \u2013 \u0441\u043a\u0430\u043d\u0438\u0440\u0430 \u043f\u0430\u043a\u0435\u0442\u0438\u0442\u0435 \u0437\u0430 Spring \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0438 \u0438 \u0433\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0430 \u043a\u0430\u0442\u043e Beans.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0427\u0435\u0441\u0442\u043e \u0437\u0430\u0434\u0430\u0432\u0430\u043d\u0438 \u0432\u044a\u043f\u0440\u043e\u0441\u0438 \u043f\u043e \u0442\u0435\u043c\u0430\u0442\u0430:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u041a\u0430\u043a\u0432\u0430 \u0435 \u0440\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 <code>@Component<\/code>, <code>@Service<\/code> \u0436\u04d9\u043d\u0435 <code>@Repository<\/code>?\u0418 \u0442\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0430\u0442 Spring-managed Beans. \u0420\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u0435 \u0432 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u0442\u043e \u0438\u043c: \u043e\u0431\u0449 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442, Business Logic \u0438 Data Access Layer. <code>@Repository<\/code> \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 \u0438 Exception Translation.<\/li>\n\n\n\n<li>\u041a\u0430\u043a\u0432\u0430 \u0435 \u0440\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 <code>@Controller<\/code> \u0436\u04d9\u043d\u0435 <code>@RestController<\/code>?<code>@Controller<\/code> \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0432\u0440\u044a\u0449\u0430 View, \u0434\u043e\u043a\u0430\u0442\u043e <code>@RestController<\/code> \u0432\u0440\u044a\u0449\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e \u0434\u0430\u043d\u043d\u0438 \u0432 HTTP Response Body.<\/li>\n\n\n\n<li>\u041a\u0430\u043a\u0432\u0430 \u0435 \u0440\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 <code>@Autowired<\/code>, <code>@Qualifier<\/code> \u0436\u04d9\u043d\u0435 <code>@Primary<\/code>?\n<ul class=\"wp-block-list\">\n<li><code>@Autowired<\/code> \u2013 \u0438\u043d\u0436\u0435\u043a\u0442\u0438\u0440\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442.<\/li>\n\n\n\n<li><code>@Qualifier<\/code> \u2013 \u0438\u0437\u0431\u0438\u0440\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u0435\u043d Bean.<\/li>\n\n\n\n<li><code>@Primary<\/code> \u2013 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u043d Bean \u043f\u0440\u0438 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u0430.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u041a\u0430\u043a\u0432\u0430 \u0435 \u0440\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 <code>@Bean<\/code> \u0436\u04d9\u043d\u0435 <code>@Component<\/code>?\n<ul class=\"wp-block-list\">\n<li><code>@Component<\/code> \u0441\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u044f \u0432\u044a\u0440\u0445\u0443 \u043a\u043b\u0430\u0441 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e\u0442\u043e \u043c\u0443 \u043e\u0442\u043a\u0440\u0438\u0432\u0430\u043d\u0435 \u0447\u0440\u0435\u0437 Component Scanning.<\/li>\n\n\n\n<li><code>@Bean<\/code> \u0441\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u044f \u0432\u044a\u0440\u0445\u0443 \u043c\u0435\u0442\u043e\u0434, \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0432 <code>@Configuration<\/code> \u043a\u043b\u0430\u0441, \u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0430 \u0432\u044a\u0440\u043d\u0430\u0442\u0438\u044f \u043e\u0442 \u043d\u0435\u0433\u043e \u043e\u0431\u0435\u043a\u0442.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u041a\u0430\u043a\u0432\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0432\u0430 <code>@Transactional<\/code>?\u0410\u043d\u043e\u0442\u0430\u0446\u0438\u044f, \u043a\u043e\u044f\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438\u0442\u0435 \u0447\u0440\u0435\u0437 Spring Transaction Management.<\/li>\n\n\n\n<li>\u041a\u0430\u043a\u0432\u043e \u043f\u0440\u0430\u0432\u0438 <code>@SpringBootApplication<\/code>?\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u0438\u0442\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0438 \u0437\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f, Auto-Configuration \u0438 Component Scanning.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Spring Annotations \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u043d\u043e \u043d\u0430\u043c\u0430\u043b\u044f\u0432\u0430\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0442\u0430 \u043e\u0442 \u0440\u044a\u0447\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430\u0442 \u0438\u0437\u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u044f\u0441\u043d\u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043e\u0442\u0433\u043e\u0432\u043e\u0440\u043d\u043e\u0441\u0442\u0438\u0442\u0435.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430 Java Developer \u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043e \u0432\u0430\u0436\u043d\u043e \u0434\u0430 \u043f\u043e\u0437\u043d\u0430\u0432\u0430 <code>@Component<\/code>, <code>@Service<\/code>, <code>@Repository<\/code>, <code>@Autowired<\/code>, <code>@Qualifier<\/code>, <code>@Transactional<\/code>, <code>@RestController<\/code> \u0436\u04d9\u043d\u0435 <code>@SpringBootApplication<\/code>, \u0442\u044a\u0439 \u043a\u0430\u0442\u043e \u0442\u0435 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u043c\u043d\u043e\u0433\u043e \u0447\u0435\u0441\u0442\u043e \u0432 \u0440\u0435\u0430\u043b\u043d\u0438 Spring Boot \u043f\u0440\u043e\u0435\u043a\u0442\u0438 \u0438 \u043d\u0430 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u043d\u0442\u0435\u0440\u0432\u044e\u0442\u0430.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u041e\u0431\u0445\u0432\u0430\u0442\u0438 \u043d\u0430 Spring Beans (Spring Bean Scopes)<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 Spring Framework \u0432\u0441\u0435\u043a\u0438 Bean \u0438\u043c\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d Scope (\u043e\u0431\u0445\u0432\u0430\u0442), \u043a\u043e\u0439\u0442\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f \u043d\u0435\u0433\u043e\u0432\u0438\u044f \u0436\u0438\u0437\u043d\u0435\u043d \u0446\u0438\u043a\u044a\u043b (Lifecycle) \u0438 \u043d\u0430\u0447\u0438\u043d\u0430, \u043f\u043e \u043a\u043e\u0439\u0442\u043e \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0438\u0442\u0435 \u043c\u0443 \u0441\u0435 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u0442 \u0438 \u0441\u043f\u043e\u0434\u0435\u043b\u044f\u0442 \u0432 \u0440\u0430\u043c\u043a\u0438\u0442\u0435 \u043d\u0430 Spring Container.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Spring \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u0448\u0435\u0441\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u0438 Bean Scopes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u0412\u0438\u0434\u043e\u0432\u0435 Spring Bean Scopes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. Singleton (Default Scope)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Scope: \u0421\u044a\u0437\u0434\u0430\u0432\u0430 \u0441\u0435 \u0441\u0430\u043c\u043e \u0435\u0434\u0438\u043d \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430 Bean \u0437\u0430 \u0441\u044a\u043e\u0442\u0432\u0435\u0442\u043d\u0438\u044f Spring Container.<\/li>\n\n\n\n<li>\u0410\u043d\u043e\u0442\u0430\u0446\u0438\u044f: <code>@Scope(\"singleton\")<\/code><\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435: \u041f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u0437\u0430 Service \u043a\u043b\u0430\u0441\u043e\u0432\u0435, Repository \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u0438 \u0434\u0440\u0443\u0433\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0438, \u043a\u043e\u0438\u0442\u043e \u043c\u043e\u0433\u0430\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e \u0434\u0430 \u0441\u043f\u043e\u0434\u0435\u043b\u044f\u0442 \u0435\u0434\u0438\u043d \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410\u043a\u043e \u043d\u0435 \u0437\u0430\u0434\u0430\u0434\u0435\u043c \u0438\u0437\u0440\u0438\u0447\u043d\u043e Scope, Spring \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 <code>singleton<\/code>.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Component<\/div><div class=\"cm-line\">@Scope(&quot;singleton&quot;)<\/div><div class=\"cm-line\">public class UserService {<\/div><div class=\"cm-line\">    \/\/ One shared instance per Spring Container<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: Singleton \u0432 Spring \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0432\u0430 \u043a\u043b\u0430\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u044f Singleton Design Pattern. \u0422\u0443\u043a \u0441\u0442\u0430\u0432\u0430 \u0432\u044a\u043f\u0440\u043e\u0441 \u0437\u0430 \u0435\u0434\u0438\u043d \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430 Bean \u0432 \u0440\u0430\u043c\u043a\u0438\u0442\u0435 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0438\u044f Spring Container, \u0430 \u043d\u0435 \u043d\u0435\u043f\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0435\u0434\u0438\u043d \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0437\u0430 \u0446\u044f\u043b\u0430\u0442\u0430 JVM.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Prototype<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Scope: \u0421\u044a\u0437\u0434\u0430\u0432\u0430 \u0441\u0435 \u043d\u043e\u0432 \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430 Bean \u043f\u0440\u0438 \u0432\u0441\u044f\u043a\u043e \u043f\u043e\u0438\u0441\u043a\u0432\u0430\u043d\u0435 \u043e\u0442 Spring Container.<\/li>\n\n\n\n<li>\u0410\u043d\u043e\u0442\u0430\u0446\u0438\u044f: <code>@Scope(\"prototype\")<\/code><\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435: \u041a\u043e\u0433\u0430\u0442\u043e \u0441\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0438 \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0438 \u043d\u0430 \u0435\u0434\u0438\u043d \u0438 \u0441\u044a\u0449 Bean.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Component<\/div><div class=\"cm-line\">@Scope(&quot;prototype&quot;)<\/div><div class=\"cm-line\">public class ReportGenerator {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public ReportGenerator() {<\/div><div class=\"cm-line\">        System.out.println(&quot;New ReportGenerator instance&quot;);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438 \u0432\u0441\u044f\u043a\u043e \u0438\u0437\u0432\u0438\u043a\u0432\u0430\u043d\u0435 \u043d\u0430:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">context.getBean(ReportGenerator.class);<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Spring \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u043d\u043e\u0432 \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: Spring \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0430 Prototype Bean, \u043d\u043e \u043d\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 \u043f\u044a\u043b\u043d\u0438\u044f \u043c\u0443 Lifecycle \u0441\u043b\u0435\u0434 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f\u043d\u0435\u0442\u043e \u043c\u0443 \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0430. \u041f\u043e-\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u043d\u043e, \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0438\u0442\u0435 destruction callbacks \u043d\u0435 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Request (Web Application Scope)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Scope: \u0421\u044a\u0437\u0434\u0430\u0432\u0430 \u0441\u0435 \u043d\u043e\u0432 \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0437\u0430 \u0432\u0441\u044f\u043a\u0430 HTTP \u0437\u0430\u044f\u0432\u043a\u0430.<\/li>\n\n\n\n<li>\u0410\u043d\u043e\u0442\u0430\u0446\u0438\u044f: <code>@Scope(\"request\")<\/code><\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435: \u0417\u0430 \u0434\u0430\u043d\u043d\u0438, \u043a\u043e\u0438\u0442\u043e \u0441\u0430 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u0438 \u0437\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0430 HTTP \u0437\u0430\u044f\u0432\u043a\u0430.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Component<\/div><div class=\"cm-line\">@RequestScope<\/div><div class=\"cm-line\">public class RequestData {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private String requestId;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public String getRequestId() {<\/div><div class=\"cm-line\">        return requestId;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public void setRequestId(String requestId) {<\/div><div class=\"cm-line\">        this.requestId = requestId;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><code>@RequestScope<\/code> \u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0430 \u0430\u043d\u043e\u0442\u0430\u0446\u0438\u044f, \u0435\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u0430 \u043d\u0430 <code>@Scope(\"request\")<\/code> \u0441 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 Proxy Mode \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Session (Web Application Scope)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Scope: \u0421\u044a\u0437\u0434\u0430\u0432\u0430 \u0441\u0435 \u0435\u0434\u0438\u043d \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0437\u0430 \u0432\u0441\u044f\u043a\u0430 HTTP Session.<\/li>\n\n\n\n<li>\u0410\u043d\u043e\u0442\u0430\u0446\u0438\u044f: <code>@Scope(\"session\")<\/code><\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435: \u0417\u0430 \u0434\u0430\u043d\u043d\u0438, \u043a\u043e\u0438\u0442\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u0435 \u0437\u0430\u043f\u0430\u0437\u0432\u0430\u0442 \u043f\u043e \u0432\u0440\u0435\u043c\u0435 \u043d\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0441\u043a\u0430\u0442\u0430 \u0441\u0435\u0441\u0438\u044f.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Component<\/div><div class=\"cm-line\">@SessionScope<\/div><div class=\"cm-line\">public class UserSession {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private String username;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public String getUsername() {<\/div><div class=\"cm-line\">        return username;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public void setUsername(String username) {<\/div><div class=\"cm-line\">        this.username = username;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><code>@SessionScope<\/code> \u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0430 \u0430\u043d\u043e\u0442\u0430\u0446\u0438\u044f \u0437\u0430 Session-scoped Beans.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Application (Web Application Scope)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Scope: \u0415\u0434\u0438\u043d \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0437\u0430 \u0446\u0435\u043b\u0438\u044f ServletContext \u043d\u0430 Web Application.<\/li>\n\n\n\n<li>\u0410\u043d\u043e\u0442\u0430\u0446\u0438\u044f: <code>@Scope(\"application\")<\/code><\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435: \u0417\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u0438 \u0438 \u0434\u0430\u043d\u043d\u0438, \u043a\u043e\u0438\u0442\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0441\u043f\u043e\u0434\u0435\u043b\u044f\u043d\u0438 \u043e\u0442 \u0432\u0441\u0438\u0447\u043a\u0438 HTTP \u0437\u0430\u044f\u0432\u043a\u0438 \u0432 \u0440\u0430\u043c\u043a\u0438\u0442\u0435 \u043d\u0430 \u0435\u0434\u043d\u043e Web Application.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Component<\/div><div class=\"cm-line\">@ApplicationScope<\/div><div class=\"cm-line\">public class ApplicationSettings {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private String applicationName = &quot;My Application&quot;;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public String getApplicationName() {<\/div><div class=\"cm-line\">        return applicationName;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><code>@ApplicationScope<\/code> \u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0430 \u0430\u043d\u043e\u0442\u0430\u0446\u0438\u044f \u0437\u0430 Application-scoped Beans.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0430\u0437\u043b\u0438\u043a\u0430 \u043c\u0435\u0436\u0434\u0443 Singleton \u0438 Application:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>singleton<\/code> \u2013 \u0435\u0434\u0438\u043d \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0432 \u0440\u0430\u043c\u043a\u0438\u0442\u0435 \u043d\u0430 Spring Container.<\/li>\n\n\n\n<li><code>application<\/code> \u2013 \u0435\u0434\u0438\u043d \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0432 \u0440\u0430\u043c\u043a\u0438\u0442\u0435 \u043d\u0430 ServletContext.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 \u0442\u0438\u043f\u0438\u0447\u043d\u043e Spring Boot Web Application \u0442\u0435\u0437\u0438 \u0434\u0432\u0430 Scope \u0447\u0435\u0441\u0442\u043e \u0438\u0437\u0433\u043b\u0435\u0436\u0434\u0430\u0442 \u0435\u0434\u043d\u0430\u043a\u0432\u043e, \u043d\u043e \u0438\u043c\u0430\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0430 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0430.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. WebSocket<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Scope: \u0421\u044a\u0437\u0434\u0430\u0432\u0430 \u0441\u0435 \u043d\u043e\u0432 \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0437\u0430 \u0432\u0441\u044f\u043a\u0430 WebSocket Session.<\/li>\n\n\n\n<li>\u0410\u043d\u043e\u0442\u0430\u0446\u0438\u044f: <code>@Scope(\"websocket\")<\/code><\/li>\n\n\n\n<li>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435: \u0417\u0430 \u0434\u0430\u043d\u043d\u0438 \u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0438, \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u0438 \u0437\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0430 WebSocket \u0432\u0440\u044a\u0437\u043a\u0430.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Component<\/div><div class=\"cm-line\">@Scope(&quot;websocket&quot;)<\/div><div class=\"cm-line\">public class WebSocketSessionData {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private String username;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public String getUsername() {<\/div><div class=\"cm-line\">        return username;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public void setUsername(String username) {<\/div><div class=\"cm-line\">        this.username = username;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0437\u0438 Scope \u0435 \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u043f\u0440\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043a\u043e\u0438\u0442\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 WebSocket \u0437\u0430 \u0434\u0432\u0443\u043f\u043e\u0441\u043e\u0447\u043d\u0430 \u043a\u043e\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044f \u0432 \u0440\u0435\u0430\u043b\u043d\u043e \u0432\u0440\u0435\u043c\u0435.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 Spring Bean Scopes<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Scope<\/th><th>\u041a\u043e\u0433\u0430 \u0441\u0435 \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u043d\u043e\u0432 \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440?<\/th><th>\u041e\u0431\u043b\u0430\u0441\u0442 \u043d\u0430 \u0441\u043f\u043e\u0434\u0435\u043b\u044f\u043d\u0435<\/th><\/tr><tr><td><code>singleton<\/code><\/td><td>\u0412\u0435\u0434\u043d\u044a\u0436 \u0437\u0430 Spring Container<\/td><td>Spring Container<\/td><\/tr><tr><td><code>prototype<\/code><\/td><td>\u041f\u0440\u0438 \u0432\u0441\u044f\u043a\u043e \u043f\u043e\u0438\u0441\u043a\u0432\u0430\u043d\u0435 \u043e\u0442 Container<\/td><td>\u041d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0438 \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0438<\/td><\/tr><tr><td><code>request<\/code><\/td><td>\u0417\u0430 \u0432\u0441\u044f\u043a\u0430 HTTP \u0437\u0430\u044f\u0432\u043a\u0430<\/td><td>\u0415\u0434\u043d\u0430 HTTP \u0437\u0430\u044f\u0432\u043a\u0430<\/td><\/tr><tr><td><code>session<\/code><\/td><td>\u0417\u0430 \u0432\u0441\u044f\u043a\u0430 HTTP Session<\/td><td>\u0415\u0434\u043d\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0441\u043a\u0430 \u0441\u0435\u0441\u0438\u044f<\/td><\/tr><tr><td><code>application<\/code><\/td><td>\u0417\u0430 \u0432\u0441\u0435\u043a\u0438 ServletContext<\/td><td>\u0426\u044f\u043b\u043e\u0442\u043e Web Application<\/td><\/tr><tr><td><code>websocket<\/code><\/td><td>\u0417\u0430 \u0432\u0441\u044f\u043a\u0430 WebSocket Session<\/td><td>\u0415\u0434\u043d\u0430 WebSocket \u0441\u0435\u0441\u0438\u044f<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">3. \u0412\u0430\u0436\u043d\u043e \u0443\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435: Singleton Bean \u0438 Prototype Bean<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u0433\u0430\u0442\u043e Prototype Bean \u0431\u044a\u0434\u0435 \u0438\u043d\u0436\u0435\u043a\u0442\u0438\u0440\u0430\u043d \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e \u0432 Singleton Bean \u0447\u0440\u0435\u0437 Constructor Injection, \u0442\u043e\u0439 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0441\u0435 \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u0441\u0430\u043c\u043e \u0432\u0435\u0434\u043d\u044a\u0436 \u2013 \u043f\u0440\u0438 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 Singleton Bean.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Component<\/div><div class=\"cm-line\">@Scope(&quot;prototype&quot;)<\/div><div class=\"cm-line\">public class TaskProcessor {<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Service<\/div><div class=\"cm-line\">public class TaskService {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private final TaskProcessor processor;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public TaskService(TaskProcessor processor) {<\/div><div class=\"cm-line\">        this.processor = processor;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0412 \u0442\u043e\u0437\u0438 \u0441\u043b\u0443\u0447\u0430\u0439 <code>TaskService<\/code> \u0449\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0435\u0434\u0438\u043d \u0438 \u0441\u044a\u0449 \u0438\u043d\u0436\u0435\u043a\u0442\u0438\u0440\u0430\u043d <code>TaskProcessor<\/code> \u043f\u0440\u0435\u0437 \u0446\u0435\u043b\u0438\u044f \u0441\u0438 Lifecycle.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410\u043a\u043e \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430\u043c\u0435 \u043d\u043e\u0432 Prototype Bean \u043f\u0440\u0438 \u0432\u0441\u044f\u043a\u043e \u0438\u0437\u0432\u0438\u043a\u0432\u0430\u043d\u0435, \u043c\u043e\u0436\u0435\u043c \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 <code>ObjectProvider<\/code>:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">@Service<\/div><div class=\"cm-line\">public class TaskService {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private final ObjectProvider&lt;TaskProcessor&gt; provider;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public TaskService(<\/div><div class=\"cm-line\">            ObjectProvider&lt;TaskProcessor&gt; provider) {<\/div><div class=\"cm-line\">        this.provider = provider;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public void process() {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        TaskProcessor processor =<\/div><div class=\"cm-line\">                provider.getObject();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        \/\/ Process task<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0441\u044f\u043a\u043e \u0438\u0437\u0432\u0438\u043a\u0432\u0430\u043d\u0435 \u043d\u0430 <code>provider.getObject()<\/code> \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u043d\u043e\u0432 Prototype Bean.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0427\u0435\u0441\u0442\u043e \u0437\u0430\u0434\u0430\u0432\u0430\u043d\u0438 \u0432\u044a\u043f\u0440\u043e\u0441\u0438:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u041a\u043e\u0439 \u0435 Default Scope \u043d\u0430 Spring Bean?<code>singleton<\/code> \u2013 \u0435\u0434\u0438\u043d \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0437\u0430 Spring Container.<\/li>\n\n\n\n<li>\u041a\u0430\u043a\u0432\u0430 \u0435 \u0440\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 Singleton \u0438 Prototype?Singleton \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0435\u0434\u0438\u043d \u0441\u043f\u043e\u0434\u0435\u043b\u0435\u043d \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440, \u0434\u043e\u043a\u0430\u0442\u043e Prototype \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u043d\u043e\u0432 \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043f\u0440\u0438 \u0432\u0441\u044f\u043a\u043e \u043f\u043e\u0438\u0441\u043a\u0432\u0430\u043d\u0435 \u043e\u0442 Container.<\/li>\n\n\n\n<li>\u041a\u0430\u043a\u0432\u0430 \u0435 \u0440\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 Singleton Design Pattern \u0438 Spring Singleton Scope?Spring Singleton \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430 \u0435\u0434\u0438\u043d \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0437\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0438\u044f Spring Container, \u0434\u043e\u043a\u0430\u0442\u043e \u043a\u043b\u0430\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u044f\u0442 Singleton Design Pattern \u0446\u0435\u043b\u0438 \u0435\u0434\u0438\u043d \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0437\u0430 \u0441\u044a\u043e\u0442\u0432\u0435\u0442\u043d\u0438\u044f Class \u0438 \u043d\u0435\u0433\u043e\u0432\u0438\u044f ClassLoader.<\/li>\n\n\n\n<li>\u041a\u0430\u043a\u0432\u043e \u0441\u0435 \u0441\u043b\u0443\u0447\u0432\u0430, \u043a\u043e\u0433\u0430\u0442\u043e Prototype Bean \u0431\u044a\u0434\u0435 \u0438\u043d\u0436\u0435\u043a\u0442\u0438\u0440\u0430\u043d \u0432 Singleton Bean?\u041f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435 \u0441\u0435 \u0438\u043d\u0436\u0435\u043a\u0442\u0438\u0440\u0430 \u0435\u0434\u0438\u043d \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440, \u043a\u043e\u0439\u0442\u043e \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u043e\u0442 Singleton Bean \u043f\u0440\u0435\u0437 \u0446\u0435\u043b\u0438\u044f \u043c\u0443 Lifecycle.<\/li>\n\n\n\n<li>\u041a\u043e\u0438 Bean Scopes \u0441\u0430 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u0438 \u0437\u0430 Web Applications?<code>request<\/code>, <code>session<\/code>, <code>application<\/code> \u0436\u04d9\u043d\u0435 <code>websocket<\/code>.<\/li>\n\n\n\n<li>\u041a\u043e\u0439 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 \u0443\u043d\u0438\u0449\u043e\u0436\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 Prototype Beans?\u041a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u044f\u0442 \u043a\u043e\u0434 \u0435 \u043e\u0442\u0433\u043e\u0432\u043e\u0440\u0435\u043d \u0437\u0430 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u0438\u0442\u0435 \u0438 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u0442\u0430 cleanup \u043b\u043e\u0433\u0438\u043a\u0430 \u0441\u043b\u0435\u0434 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 Prototype Bean.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0430\u0439-\u0447\u0435\u0441\u0442\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0438\u0442\u0435 Spring Bean Scopes \u0441\u0430 <code>singleton<\/code> \u0436\u04d9\u043d\u0435 <code>prototype<\/code>. \u041e\u0441\u0442\u0430\u043d\u0430\u043b\u0438\u0442\u0435 \u0447\u0435\u0442\u0438\u0440\u0438 \u2013 <code>request<\/code>, <code>session<\/code>, <code>application<\/code> \u0436\u04d9\u043d\u0435 <code>websocket<\/code> \u2013 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f\u0442 \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u0438 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0437\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043e\u0431\u0435\u043a\u0442\u0438 \u0432 Web Applications.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430 Java Developer \u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043e \u0432\u0430\u0436\u043d\u043e \u0434\u0430 \u0440\u0430\u0437\u0431\u0438\u0440\u0430 \u0440\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 Bean Scope \u0438 Object Lifecycle, \u043a\u0430\u043a\u0442\u043e \u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u0442\u043e \u043c\u0435\u0436\u0434\u0443 Singleton \u0438 Prototype Beans.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u041d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 SQL \u0431\u0430\u0437\u0438 \u0434\u0430\u043d\u043d\u0438 (SQL Normalization)<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u041a\u0430\u043a\u0432\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0432\u0430 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430 (Normalization)?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430 (Normalization) \u0435 \u043f\u0440\u043e\u0446\u0435\u0441 \u043d\u0430 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435 \u0432 \u0440\u0435\u043b\u0430\u0446\u0438\u043e\u043d\u043d\u0430 \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u0438 (Relational Database), \u0447\u0438\u044f\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u0430 \u0446\u0435\u043b \u0435 \u0434\u0430 \u043d\u0430\u043c\u0430\u043b\u0438 \u0438\u0437\u043b\u0438\u0448\u043d\u043e\u0442\u043e \u0434\u0443\u0431\u043b\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f (Data Redundancy) \u0438 \u0434\u0430 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u0438 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u043f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u044f\u043d\u0435, \u043f\u0440\u043e\u043c\u044f\u043d\u0430 \u0438\u043b\u0438 \u0438\u0437\u0442\u0440\u0438\u0432\u0430\u043d\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u044f \u0441\u0435 \u043f\u043e\u0441\u0442\u0438\u0433\u0430 \u0447\u0440\u0435\u0437 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u043d\u0435 \u043d\u0430 \u0433\u043e\u043b\u0435\u043c\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0438 \u043d\u0430 \u043f\u043e-\u043c\u0430\u043b\u043a\u0438, \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0432\u044a\u0440\u0437\u0430\u043d\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0438, \u043a\u0430\u0442\u043e \u0432\u0440\u044a\u0437\u043a\u0438\u0442\u0435 \u043c\u0435\u0436\u0434\u0443 \u0442\u044f\u0445 \u0441\u0435 \u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u044f\u0432\u0430\u0442 \u0447\u0440\u0435\u0437 Primary Keys \u0438 Foreign Keys.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. \u0417\u0430\u0449\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430 \u0435 \u0432\u0430\u0436\u043d\u0430?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u0438\u0442\u0435 \u043f\u0440\u0435\u0434\u0438\u043c\u0441\u0442\u0432\u0430 \u0441\u0430:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u041d\u0430\u043c\u0430\u043b\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0438\u0437\u043b\u0438\u0448\u043d\u0438\u0442\u0435 \u0434\u0430\u043d\u043d\u0438 (Reduce Data Redundancy) \u2013 \u0438\u0437\u0431\u044f\u0433\u0432\u0430 \u0441\u0435 \u043c\u043d\u043e\u0433\u043e\u043a\u0440\u0430\u0442\u043d\u043e\u0442\u043e \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0435\u0434\u043d\u0430 \u0438 \u0441\u044a\u0449\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f.<\/li>\n\n\n\n<li>\u041f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 (Prevent Data Anomalies) \u2013 \u043d\u0430\u043c\u0430\u043b\u044f\u0432\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438\u0442\u0435 \u043f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u044f\u043d\u0435, \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0435 \u0438 \u0438\u0437\u0442\u0440\u0438\u0432\u0430\u043d\u0435 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u0438.<\/li>\n\n\n\n<li>\u041f\u043e\u0434\u043e\u0431\u0440\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0446\u0435\u043b\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435 (Improve Data Integrity) \u2013 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430 \u0441\u0435 \u043f\u043e-\u0433\u043e\u043b\u044f\u043c\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442 \u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442 \u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\u0442\u0430.<\/li>\n\n\n\n<li>\u041f\u043e-\u043b\u0435\u0441\u043d\u0430 \u043f\u043e\u0434\u0434\u0440\u044a\u0436\u043a\u0430 (Simplify Maintenance) \u2013 \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u0442\u0435 \u0432 \u0434\u0430\u043d\u043d\u0438\u0442\u0435 \u0441\u0435 \u0438\u0437\u0432\u044a\u0440\u0448\u0432\u0430\u0442 \u043d\u0430 \u0435\u0434\u043d\u043e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e \u043c\u044f\u0441\u0442\u043e.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e \u0443\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435: \u041d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430 \u043d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430 \u043f\u043e-\u0431\u044a\u0440\u0437\u043e \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 SQL \u0437\u0430\u044f\u0432\u043a\u0438\u0442\u0435. \u0422\u044f \u043c\u043e\u0436\u0435 \u0434\u0430 \u043d\u0430\u043c\u0430\u043b\u0438 \u0438\u0437\u043b\u0438\u0448\u043d\u043e\u0442\u043e \u0441\u044a\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438 \u0438 \u0434\u0430 \u043f\u043e\u0434\u043e\u0431\u0440\u0438 \u0442\u044f\u0445\u043d\u0430\u0442\u0430 \u0446\u044f\u043b\u043e\u0441\u0442, \u043d\u043e \u043f\u0440\u0438 \u043d\u044f\u043a\u043e\u0438 \u0437\u0430\u044f\u0432\u043a\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0430\u0432\u0430 \u0431\u0440\u043e\u044f \u043d\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438\u0442\u0435 <code>JOIN<\/code> \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438. \u0412 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438 \u0441\u043b\u0443\u0447\u0430\u0438 Denormalization \u043c\u043e\u0436\u0435 \u0434\u0430 \u043f\u043e\u0434\u043e\u0431\u0440\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442\u0442\u0430.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. \u041f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u0430 \u0440\u0430\u0437\u0433\u043b\u0435\u0434\u0430\u043c\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u0430, \u0432 \u043a\u043e\u044f\u0442\u043e \u0441\u0435 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0438 \u0438 \u0442\u0435\u0445\u043d\u0438\u0442\u0435 \u043f\u043e\u0440\u044a\u0447\u043a\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0435\u0434\u0438 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Order_ID<\/th><th>Customer_Name<\/th><th>Customer_City<\/th><th>Product<\/th><\/tr><tr><td>101<\/td><td>Ivan Petrov<\/td><td>Varna<\/td><td>Laptop<\/td><\/tr><tr><td>102<\/td><td>Ivan Petrov<\/td><td>Varna<\/td><td>Mouse<\/td><\/tr><tr><td>103<\/td><td>Maria Ivanova<\/td><td>Sofia<\/td><td>Keyboard<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 \u0442\u043e\u0437\u0438 \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\u0442\u0430 \u0437\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0441\u0435 \u043f\u043e\u0432\u0442\u0430\u0440\u044f \u0432\u044a\u0432 \u0432\u0441\u0435\u043a\u0438 \u043d\u0435\u0433\u043e\u0432 \u0437\u0430\u043f\u0438\u0441.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0432\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u043d\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Update Anomaly: \u0410\u043a\u043e Ivan Petrov \u043f\u0440\u043e\u043c\u0435\u043d\u0438 \u0433\u0440\u0430\u0434\u0430 \u0441\u0438, \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043c\u0435 \u0432\u0441\u0438\u0447\u043a\u0438 \u043d\u0435\u0433\u043e\u0432\u0438 \u0437\u0430\u043f\u0438\u0441\u0438.<\/li>\n\n\n\n<li>Insert Anomaly: \u041d\u0435 \u043c\u043e\u0436\u0435\u043c \u043b\u0435\u0441\u043d\u043e \u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043a\u043b\u0438\u0435\u043d\u0442, \u043a\u043e\u0439\u0442\u043e \u0432\u0441\u0435 \u043e\u0449\u0435 \u043d\u044f\u043c\u0430 \u043f\u043e\u0440\u044a\u0447\u043a\u0430.<\/li>\n\n\n\n<li>Delete Anomaly: \u0410\u043a\u043e \u0438\u0437\u0442\u0440\u0438\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0430\u0442\u0430 \u043f\u043e\u0440\u044a\u0447\u043a\u0430 \u043d\u0430 \u0434\u0430\u0434\u0435\u043d \u043a\u043b\u0438\u0435\u043d\u0442, \u043c\u043e\u0436\u0435 \u0434\u0430 \u0437\u0430\u0433\u0443\u0431\u0438\u043c \u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\u0442\u0430 \u0437\u0430 \u0441\u0430\u043c\u0438\u044f \u043a\u043b\u0438\u0435\u043d\u0442.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043b\u0435\u0434 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0430\u0431\u043b\u0438\u0446\u0430 <code>Customers<\/code>:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Customer_ID (PK)<\/th><th>Customer_Name<\/th><th>Customer_City<\/th><\/tr><tr><td>1<\/td><td>Ivan Petrov<\/td><td>Varna<\/td><\/tr><tr><td>2<\/td><td>Maria Ivanova<\/td><td>Sofia<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0430\u0431\u043b\u0438\u0446\u0430 <code>Orders<\/code>:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Order_ID (PK)<\/th><th>Customer_ID (FK)<\/th><th>Product<\/th><\/tr><tr><td>101<\/td><td>1<\/td><td>Laptop<\/td><\/tr><tr><td>102<\/td><td>1<\/td><td>Mouse<\/td><\/tr><tr><td>103<\/td><td>2<\/td><td>Keyboard<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u0435\u0433\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\u0442\u0430 \u0437\u0430 \u0432\u0441\u0435\u043a\u0438 \u043a\u043b\u0438\u0435\u043d\u0442 \u0441\u0435 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u0441\u0430\u043c\u043e \u0432\u0435\u0434\u043d\u044a\u0436. \u0412\u0440\u044a\u0437\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u0438\u0442\u0435 \u0441\u0435 \u043e\u0441\u044a\u0449\u0435\u0441\u0442\u0432\u044f\u0432\u0430 \u0447\u0440\u0435\u0437 <code>Customer_ID<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. \u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u043d\u043e\u0440\u043c\u0430\u043b\u043d\u0438 \u0444\u043e\u0440\u043c\u0438 (Normal Forms)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430 \u0441\u0435 \u0438\u0437\u0432\u044a\u0440\u0448\u0432\u0430 \u0447\u0440\u0435\u0437 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e \u043f\u0440\u0438\u043b\u0430\u0433\u0430\u043d\u0435 \u043d\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u0430, \u043d\u0430\u0440\u0435\u0447\u0435\u043d\u0438 Normal Forms.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u041d\u043e\u0440\u043c\u0430\u043b\u043d\u0430 \u0444\u043e\u0440\u043c\u0430<\/th><th>\u041e\u0441\u043d\u043e\u0432\u043d\u043e \u0438\u0437\u0438\u0441\u043a\u0432\u0430\u043d\u0435<\/th><\/tr><tr><td>1NF (First Normal Form)<\/td><td>\u0412\u0441\u044f\u043a\u0430 \u043a\u043b\u0435\u0442\u043a\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430 \u0435\u0434\u043d\u0430 \u0430\u0442\u043e\u043c\u0430\u0440\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442; \u043d\u044f\u043c\u0430 \u043f\u043e\u0432\u0442\u0430\u0440\u044f\u0449\u0438 \u0441\u0435 \u0433\u0440\u0443\u043f\u0438 \u043e\u0442 \u043a\u043e\u043b\u043e\u043d\u0438.<\/td><\/tr><tr><td>2NF (Second Normal Form)<\/td><td>\u0422\u0430\u0431\u043b\u0438\u0446\u0430\u0442\u0430 \u0435 \u0432 1NF \u0438 \u0432\u0441\u0435\u043a\u0438 \u043d\u0435\u043a\u043b\u044e\u0447\u043e\u0432 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0437\u0430\u0432\u0438\u0441\u0438 \u043e\u0442 \u0446\u0435\u043b\u0438\u044f \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442-\u043a\u043b\u044e\u0447, \u0430 \u043d\u0435 \u0441\u0430\u043c\u043e \u043e\u0442 \u0447\u0430\u0441\u0442 \u043e\u0442 \u043d\u0435\u0433\u043e.<\/td><\/tr><tr><td>3NF (Third Normal Form)<\/td><td>\u0422\u0430\u0431\u043b\u0438\u0446\u0430\u0442\u0430 \u0435 \u0432 2NF \u0438 \u043d\u044f\u043c\u0430 \u0442\u0440\u0430\u043d\u0437\u0438\u0442\u0438\u0432\u043d\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0430 \u043d\u0435\u043a\u043b\u044e\u0447\u043e\u0432\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0438 \u043e\u0442 \u043a\u043b\u044e\u0447\u0430.<\/td><\/tr><tr><td>BCNF (Boyce-Codd Normal Form)<\/td><td>\u0417\u0430 \u0432\u0441\u044f\u043a\u0430 \u043d\u0435\u0442\u0440\u0438\u0432\u0438\u0430\u043b\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043d\u0442\u044a\u0442 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 Superkey.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e-\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u043d\u0438\u0442\u0435 \u0444\u043e\u0440\u043c\u0438 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0441\u0435 \u0440\u0430\u0437\u0433\u043b\u0435\u0434\u0430\u0442 \u0441 \u043e\u0442\u0434\u0435\u043b\u043d\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u0438, \u043e\u0441\u043e\u0431\u0435\u043d\u043e 1NF, 2NF \u0438 3NF, \u043a\u043e\u0438\u0442\u043e \u0441\u0430 \u043d\u0430\u0439-\u0447\u0435\u0441\u0442\u043e \u043e\u0431\u0441\u044a\u0436\u0434\u0430\u043d\u0438 \u043d\u0430 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u043d\u0442\u0435\u0440\u0432\u044e\u0442\u0430.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. \u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0438, \u0432 \u043a\u043e\u0438\u0442\u043e \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Data Integrity: \u041a\u043e\u0433\u0430\u0442\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u0435 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0442 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u0432\u0438 \u0434\u0430\u043d\u043d\u0438 \u043f\u0440\u0438 \u043f\u0440\u043e\u043c\u044f\u043d\u0430 \u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\u0442\u0430 \u0437\u0430 \u043a\u043b\u0438\u0435\u043d\u0442, \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u0438\u043b\u0438 \u0441\u043b\u0443\u0436\u0438\u0442\u0435\u043b.<\/li>\n\n\n\n<li>Efficient Data Management: \u041a\u043e\u0433\u0430\u0442\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\u0442\u0430 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0438\u0440\u0430\u043d\u0430 \u0432 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0432\u044a\u0440\u0437\u0430\u043d\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0438.<\/li>\n\n\n\n<li>Storage Optimization: \u041a\u043e\u0433\u0430\u0442\u043e \u0438\u043c\u0430 \u043d\u0435\u043d\u0443\u0436\u043d\u043e \u0434\u0443\u0431\u043b\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u043a\u043e\u0435\u0442\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0430\u0432\u0430 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043d\u0430 \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438.<\/li>\n\n\n\n<li>Transactional Systems: \u041f\u0440\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0438 \u0437\u0430 \u0431\u0430\u043d\u043a\u043e\u0432\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u043f\u043e\u0440\u044a\u0447\u043a\u0438, \u043f\u043b\u0430\u0449\u0430\u043d\u0438\u044f \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0438, \u043a\u044a\u0434\u0435\u0442\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435 \u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043e \u0432\u0430\u0436\u043d\u0430.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">1. \u041a\u0430\u043a\u0432\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0432\u0430 SQL Normalization?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u043e\u0446\u0435\u0441 \u043d\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0440\u0435\u043b\u0430\u0446\u0438\u043e\u043d\u043d\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0438 \u0441 \u0446\u0435\u043b \u043d\u0430\u043c\u0430\u043b\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0438\u0437\u043b\u0438\u0448\u043d\u0438\u0442\u0435 \u0434\u0430\u043d\u043d\u0438 \u0438 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. \u041a\u0430\u043a\u0432\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0432\u0430 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Insert Anomaly<\/li>\n\n\n\n<li>Update Anomaly<\/li>\n\n\n\n<li>Delete Anomaly<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">3. \u041a\u0430\u043a\u0432\u0430 \u0435 \u0440\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 Primary Key \u0438 Foreign Key?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Primary Key<\/code> \u2013 \u0443\u043d\u0438\u043a\u0430\u043b\u043d\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0430 \u0432\u0441\u0435\u043a\u0438 \u0437\u0430\u043f\u0438\u0441 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0442\u0430.<\/li>\n\n\n\n<li><code>Foreign Key<\/code> \u2013 \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u0432\u0440\u044a\u0437\u043a\u0430 \u0441 Primary Key \u0438\u043b\u0438 \u0434\u0440\u0443\u0433 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u0443\u043d\u0438\u043a\u0430\u043b\u0435\u043d \u043a\u043b\u044e\u0447 \u0432 \u0434\u0440\u0443\u0433\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">4. \u041f\u043e\u0434\u043e\u0431\u0440\u044f\u0432\u0430 \u043b\u0438 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 \u0431\u0430\u0437\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u0438?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435 \u0432\u0438\u043d\u0430\u0433\u0438. \u0422\u044f \u043f\u043e\u0434\u043e\u0431\u0440\u044f\u0432\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0442\u0430 \u0438 \u0446\u0435\u043b\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435, \u043d\u043e \u043f\u043e\u043d\u044f\u043a\u043e\u0433\u0430 \u0443\u0432\u0435\u043b\u0438\u0447\u0430\u0432\u0430 \u0431\u0440\u043e\u044f \u043d\u0430 <code>JOIN<\/code> \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438\u0442\u0435. \u041f\u0440\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438 \u043d\u0430\u0442\u043e\u0432\u0430\u0440\u0432\u0430\u043d\u0438\u044f Denormalization \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043f\u043e-\u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0430.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SQL Normalization \u0435 \u043e\u0441\u043d\u043e\u0432\u0435\u043d \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u043f\u0440\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0440\u0435\u043b\u0430\u0446\u0438\u043e\u043d\u043d\u0438 \u0431\u0430\u0437\u0438 \u0434\u0430\u043d\u043d\u0438. \u0422\u044f \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\u0442\u0430, \u043d\u0430\u043c\u0430\u043b\u044f\u0432\u0430 \u0434\u0443\u0431\u043b\u0438\u0440\u0430\u043d\u0435\u0442\u043e \u0438 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u044f\u0432\u0430 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u043f\u0440\u0438 \u043f\u0440\u043e\u043c\u044f\u043d\u0430 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430 Java Developer \u0435 \u0432\u0430\u0436\u043d\u043e \u0434\u0430 \u0440\u0430\u0437\u0431\u0438\u0440\u0430 \u043f\u043e\u043d\u0435 1NF, 2NF \u0438 3NF, \u043a\u0430\u043a\u0442\u043e \u0438 \u0432\u0440\u044a\u0437\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 Primary Keys, Foreign Keys \u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0438\u0442\u0435 \u0432 \u0435\u0434\u043d\u0430 \u0440\u0435\u043b\u0430\u0446\u0438\u043e\u043d\u043d\u0430 \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u0438.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Strategy Pattern (\u0428\u0430\u0431\u043b\u043e\u043d \u0437\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u0430\u043d\u0435 \u201e\u0421\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f\u201c)<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u041a\u0430\u043a\u0432\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0432\u0430 Strategy Pattern?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Strategy Pattern \u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0447\u0435\u0441\u043a\u0438 \u0448\u0430\u0431\u043b\u043e\u043d \u0437\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u0430\u043d\u0435 (Behavioral Design Pattern), \u043a\u043e\u0439\u0442\u043e \u0434\u0435\u0444\u0438\u043d\u0438\u0440\u0430 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u043e \u043e\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0438, \u043a\u0430\u043f\u0441\u0443\u043b\u0438\u0440\u0430 \u0432\u0441\u0435\u043a\u0438 \u043e\u0442 \u0442\u044f\u0445 \u0432 \u043e\u0442\u0434\u0435\u043b\u0435\u043d \u043a\u043b\u0430\u0441 \u0438 \u0433\u0438 \u043f\u0440\u0430\u0432\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u044a\u043c\u044a\u0442 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u043d \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u043a\u043b\u0430\u0441\u0430, \u043a\u043e\u0439\u0442\u043e \u0433\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u0442\u0430 \u0438\u0434\u0435\u044f \u0435 \u0432\u043c\u0435\u0441\u0442\u043e \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e <code>if-else<\/code> \u0438\u043b\u0438 <code>switch<\/code> \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0437\u0430 \u0438\u0437\u0431\u043e\u0440 \u043d\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u044a\u043c, \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u043c \u043e\u0442\u0434\u0435\u043b\u043d\u0430 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0437\u0430 \u0432\u0441\u044f\u043a\u0430 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f \u0438 \u0434\u0430 \u0433\u0438 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 \u0447\u0440\u0435\u0437 \u043e\u0431\u0449 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. \u041f\u0440\u0438\u043c\u0435\u0440: \u0420\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u043d\u0430\u0447\u0438\u043d\u0438 \u0437\u0430 \u043f\u043b\u0430\u0449\u0430\u043d\u0435 (Payment Strategies)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u0430 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u043c\u0435 \u043e\u043d\u043b\u0430\u0439\u043d \u043c\u0430\u0433\u0430\u0437\u0438\u043d, \u043a\u043e\u0439\u0442\u043e \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0442\u0440\u0438 \u043d\u0430\u0447\u0438\u043d\u0430 \u043d\u0430 \u043f\u043b\u0430\u0449\u0430\u043d\u0435:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Credit Card<\/li>\n\n\n\n<li>PayPal<\/li>\n\n\n\n<li>Bank Transfer<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u043c\u0435\u0441\u0442\u043e \u0434\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043c\u0435 \u0432\u0441\u0438\u0447\u043a\u0438 \u043d\u0430\u0447\u0438\u043d\u0438 \u043d\u0430 \u043f\u043b\u0430\u0449\u0430\u043d\u0435 \u0432 \u0435\u0434\u0438\u043d \u043a\u043b\u0430\u0441 \u0441 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0443\u0441\u043b\u043e\u0432\u043d\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 Strategy Pattern.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u0442\u044a\u043f\u043a\u0430 1: \u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043c\u0435 \u043e\u0431\u0449 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public interface PaymentStrategy {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    void pay(double amount);<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0421\u0442\u044a\u043f\u043a\u0430 2: \u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043c\u0435 \u043e\u0442\u0434\u0435\u043b\u043d\u0438 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Credit Card:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class CreditCardPayment<\/div><div class=\"cm-line\">        implements PaymentStrategy {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    @Override<\/div><div class=\"cm-line\">    public void pay(double amount) {<\/div><div class=\"cm-line\">        System.out.println(<\/div><div class=\"cm-line\">            &quot;Paid &quot; + amount + &quot; using Credit Card&quot;<\/div><div class=\"cm-line\">        );<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">PayPal:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class PayPalPayment<\/div><div class=\"cm-line\">        implements PaymentStrategy {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    @Override<\/div><div class=\"cm-line\">    public void pay(double amount) {<\/div><div class=\"cm-line\">        System.out.println(<\/div><div class=\"cm-line\">            &quot;Paid &quot; + amount + &quot; using PayPal&quot;<\/div><div class=\"cm-line\">        );<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Bank Transfer:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class BankTransferPayment<\/div><div class=\"cm-line\">        implements PaymentStrategy {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    @Override<\/div><div class=\"cm-line\">    public void pay(double amount) {<\/div><div class=\"cm-line\">        System.out.println(<\/div><div class=\"cm-line\">            &quot;Paid &quot; + amount + &quot; using Bank Transfer&quot;<\/div><div class=\"cm-line\">        );<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0421\u0442\u044a\u043f\u043a\u0430 3: \u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043c\u0435 Context \u043a\u043b\u0430\u0441<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0437\u0438 \u043a\u043b\u0430\u0441 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0438\u0437\u0431\u0440\u0430\u043d\u0430\u0442\u0430 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f, \u0431\u0435\u0437 \u0434\u0430 \u0437\u043d\u0430\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438\u0442\u0435 \u0437\u0430 \u043d\u0435\u0439\u043d\u0430\u0442\u0430 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class PaymentContext {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private PaymentStrategy strategy;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public PaymentContext(PaymentStrategy strategy) {<\/div><div class=\"cm-line\">        this.strategy = strategy;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public void setStrategy(PaymentStrategy strategy) {<\/div><div class=\"cm-line\">        this.strategy = strategy;<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public void executePayment(double amount) {<\/div><div class=\"cm-line\">        strategy.pay(amount);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0421\u0442\u044a\u043f\u043a\u0430 4: \u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 Strategy Pattern<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class Main {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        PaymentContext payment =<\/div><div class=\"cm-line\">                new PaymentContext(<\/div><div class=\"cm-line\">                    new CreditCardPayment()<\/div><div class=\"cm-line\">                );<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        payment.executePayment(100.00);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        \/\/ Change strategy at runtime<\/div><div class=\"cm-line\">        payment.setStrategy(<\/div><div class=\"cm-line\">            new PayPalPayment()<\/div><div class=\"cm-line\">        );<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        payment.executePayment(200.00);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        payment.setStrategy(<\/div><div class=\"cm-line\">            new BankTransferPayment()<\/div><div class=\"cm-line\">        );<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        payment.executePayment(300.00);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Paid 100.0 using Credit Card<\/div><div class=\"cm-line\">Paid 200.0 using PayPal<\/div><div class=\"cm-line\">Paid 300.0 using Bank Transfer<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041a\u0430\u043a\u0442\u043e \u0441\u0435 \u0432\u0438\u0436\u0434\u0430, \u043c\u043e\u0436\u0435\u043c \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u043c\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u044a\u043c\u0430 \u043f\u043e \u0432\u0440\u0435\u043c\u0435 \u043d\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 (Runtime), \u0431\u0435\u0437 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u043c\u0435 \u043a\u043e\u0434\u0430 \u043d\u0430 <code>PaymentContext<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. \u041f\u0440\u0435\u0434\u0438\u043c\u0441\u0442\u0432\u0430 \u043d\u0430 Strategy Pattern<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Flexibility: \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043b\u0435\u0441\u043d\u0430 \u0441\u043c\u044f\u043d\u0430 \u043d\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0438\u0442\u0435.<\/li>\n\n\n\n<li>Maintainability: \u0412\u0441\u0435\u043a\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u044a\u043c \u0435 \u0432 \u043e\u0442\u0434\u0435\u043b\u0435\u043d \u043a\u043b\u0430\u0441 \u0438 \u0441\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e.<\/li>\n\n\n\n<li>Extensibility: \u041c\u043e\u0436\u0435\u043c \u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u044f\u043c\u0435 \u043d\u043e\u0432\u0438 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438, \u0431\u0435\u0437 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u043c\u0435 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449\u0438\u0442\u0435.<\/li>\n\n\n\n<li>Reduced Conditional Logic: \u041d\u0430\u043c\u0430\u043b\u044f\u0432\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0442\u0430 \u043e\u0442 \u0433\u043e\u043b\u0435\u043c\u0438 <code>if-else<\/code> \u0436\u04d9\u043d\u0435 <code>switch<\/code> \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438.<\/li>\n\n\n\n<li>Open\/Closed Principle: \u041f\u043e\u0434\u043f\u043e\u043c\u0430\u0433\u0430 \u0440\u0430\u0437\u0448\u0438\u0440\u044f\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442\u0442\u0430 \u0431\u0435\u0437 \u043f\u0440\u043e\u043c\u044f\u043d\u0430 \u043d\u0430 \u0432\u0435\u0447\u0435 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449\u0438\u044f \u043a\u043e\u0434.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. \u041a\u043e\u0433\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Strategy Pattern?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u0435 \u0432 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u043a\u043e\u0433\u0430\u0442\u043e:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0418\u043c\u0430 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u043d\u0430\u0447\u0438\u043d\u0430 \u0437\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u0435\u0434\u043d\u0430 \u0438 \u0441\u044a\u0449\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f.<\/li>\n\n\n\n<li>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u044a\u043c\u044a\u0442 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0441\u043c\u0435\u043d\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u043d\u043e.<\/li>\n\n\n\n<li>\u0418\u0441\u043a\u0430\u043c\u0435 \u0434\u0430 \u0438\u0437\u0431\u0435\u0433\u043d\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u0430 \u0443\u0441\u043b\u043e\u0432\u043d\u0430 \u043b\u043e\u0433\u0438\u043a\u0430.<\/li>\n\n\n\n<li>\u0420\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0438 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0438.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u0440\u0443\u0433\u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0420\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u043c\u0435\u0442\u043e\u0434\u0438 \u0437\u0430 \u0438\u0437\u0447\u0438\u0441\u043b\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u043d\u0438 \u0440\u0430\u0437\u0445\u043e\u0434\u0438.<\/li>\n\n\n\n<li>\u0420\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0438 \u0437\u0430 \u0441\u043e\u0440\u0442\u0438\u0440\u0430\u043d\u0435.<\/li>\n\n\n\n<li>\u0420\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u043d\u0430\u0447\u0438\u043d\u0438 \u0437\u0430 \u0430\u0432\u0442\u0435\u043d\u0442\u0438\u043a\u0430\u0446\u0438\u044f.<\/li>\n\n\n\n<li>\u0420\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0438 \u0437\u0430 \u0438\u0437\u0447\u0438\u0441\u043b\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u043e\u0442\u0441\u0442\u044a\u043f\u043a\u0438.<\/li>\n\n\n\n<li>\u0420\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 \u0437\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u0435.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">1. \u041a\u0430\u043a\u0432\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0432\u0430 Strategy Pattern?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Behavioral Design Pattern, \u043a\u043e\u0439\u0442\u043e \u043a\u0430\u043f\u0441\u0443\u043b\u0438\u0440\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0438 \u0437\u0430\u0434 \u043e\u0431\u0449 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0442\u0435 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0432\u0437\u0430\u0438\u043c\u043e\u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. \u041a\u0430\u043a\u0432\u0430 \u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u0442\u0430 \u043c\u0443 \u0446\u0435\u043b?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u0430 \u043e\u0442\u0434\u0435\u043b\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u044a\u043c\u0430 \u043e\u0442 \u043a\u043b\u0430\u0441\u0430, \u043a\u043e\u0439\u0442\u043e \u0433\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430, \u0438 \u0434\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u0438 \u043f\u0440\u043e\u043c\u044f\u043d\u0430\u0442\u0430 \u043c\u0443 \u0431\u0435\u0437 \u043f\u0440\u043e\u043c\u044f\u043d\u0430 \u043d\u0430 Context \u043a\u043b\u0430\u0441\u0430.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3. \u041a\u0430\u043a Strategy Pattern \u043d\u0430\u043c\u0430\u043b\u044f\u0432\u0430 \u0443\u0441\u043b\u043e\u0432\u043d\u0430\u0442\u0430 \u043b\u043e\u0433\u0438\u043a\u0430?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u043c\u0435\u0441\u0442\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e <code>if-else<\/code> \u0438\u043b\u0438 <code>switch<\/code> \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, \u0432\u0441\u044f\u043a\u0430 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f \u0438\u043c\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u0430 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043d\u0430 \u043e\u0431\u0449 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4. \u041a\u043e\u0439 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u043e\u0442 SOLID \u0441\u0435 \u043f\u043e\u0434\u043f\u043e\u043c\u0430\u0433\u0430 \u043e\u0442 Strategy Pattern?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u043e Open\/Closed Principle (OCP), \u043a\u0430\u043a\u0442\u043e \u0438 Dependency Inversion Principle (DIP), \u0442\u044a\u0439 \u043a\u0430\u0442\u043e Context \u0437\u0430\u0432\u0438\u0441\u0438 \u043e\u0442 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f (<code>PaymentStrategy<\/code>), \u0430 \u043d\u0435 \u043e\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0430 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5. \u041a\u0430\u043a\u0432\u0430 \u0435 \u0440\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 Strategy Pattern \u0438 State Pattern?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Strategy Pattern<\/code> \u2013 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0438\u0437\u0431\u043e\u0440 \u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u0435\u043d \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u044a\u043c \u0438\u043b\u0438 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435.<\/li>\n\n\n\n<li><code>State Pattern<\/code> \u2013 \u043f\u0440\u043e\u043c\u0435\u043d\u044f \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u043e\u0431\u0435\u043a\u0442\u0430 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442 \u043e\u0442 \u043d\u0435\u0433\u043e\u0432\u043e\u0442\u043e \u0432\u044a\u0442\u0440\u0435\u0448\u043d\u043e \u0441\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u0435.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Strategy Pattern \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0438 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0438\u0440\u0430\u043d\u0438 \u0432 \u043e\u0442\u0434\u0435\u043b\u043d\u0438 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u0438 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0438 \u0447\u0440\u0435\u0437 \u043e\u0431\u0449 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. \u0422\u043e\u0432\u0430 \u043f\u0440\u0430\u0432\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u0442\u043e \u043f\u043e-\u0433\u044a\u0432\u043a\u0430\u0432\u043e, \u0440\u0430\u0437\u0448\u0438\u0440\u044f\u0435\u043c\u043e \u0438 \u043b\u0435\u0441\u043d\u043e \u0437\u0430 \u043f\u043e\u0434\u0434\u0440\u044a\u0436\u043a\u0430.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0438 \u0437\u0430 \u0438\u043d\u0442\u0435\u0440\u0432\u044e: \u0412\u043c\u0435\u0441\u0442\u043e \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u044f\u043c\u0435 \u0435\u0434\u0438\u043d \u043a\u043b\u0430\u0441 \u0441 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0443\u0441\u043b\u043e\u0432\u043d\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 \u043e\u0431\u0449 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0438 \u043e\u0442\u0434\u0435\u043b\u043d\u0438 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438, \u043a\u043e\u0438\u0442\u043e \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0441\u0435 \u0441\u043c\u0435\u043d\u044f\u0442 \u043f\u043e \u0432\u0440\u0435\u043c\u0435 \u043d\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Stream API (Streams) \u0432 Java<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u041a\u0430\u043a\u0432\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0432\u0430 Stream API?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Stream API \u0435 \u0432\u044a\u0432\u0435\u0434\u0435\u043d \u0432 Java 8 \u043a\u0430\u0442\u043e \u0447\u0430\u0441\u0442 \u043e\u0442 \u043f\u0430\u043a\u0435\u0442\u0430 <code>java.util.stream<\/code>. \u0422\u043e\u0439 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u043c\u043e\u0449\u0435\u043d \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u044a\u043c \u0437\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442\u0438 \u043e\u0442 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438 (Sequences of Elements), \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u0430\u043d\u043d\u0438 \u043e\u0442 Collections \u0438 Arrays, \u0447\u0440\u0435\u0437 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u0435\u043d \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0435\u043d \u0441\u0442\u0438\u043b \u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0438\u0440\u0430\u043d\u0435 (Declarative and Functional Programming).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stream API \u0443\u043b\u0435\u0441\u043d\u044f\u0432\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u0430\u0442\u043e:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0424\u0438\u043b\u0442\u0440\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438 (Filtering).<\/li>\n\n\n\n<li>\u0422\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438 (Mapping).<\/li>\n\n\n\n<li>\u0421\u043e\u0440\u0442\u0438\u0440\u0430\u043d\u0435 (Sorting).<\/li>\n\n\n\n<li>\u0413\u0440\u0443\u043f\u0438\u0440\u0430\u043d\u0435 (Grouping).<\/li>\n\n\n\n<li>\u0410\u0433\u0440\u0435\u0433\u0438\u0440\u0430\u043d\u0435 (Aggregation).<\/li>\n\n\n\n<li>\u041d\u0430\u043c\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438 (Reduction).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u0442\u0430 \u0438\u0434\u0435\u044f \u0435 \u0434\u0430 \u043e\u043f\u0438\u0441\u0432\u0430\u043c\u0435 \u043a\u0430\u043a\u0432\u043e \u0438\u0441\u043a\u0430\u043c\u0435 \u0434\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u0438\u043c \u0441 \u0434\u0430\u043d\u043d\u0438\u0442\u0435, \u0432\u043c\u0435\u0441\u0442\u043e \u0434\u0430 \u043f\u0438\u0448\u0435\u043c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043a\u0430\u043a \u0434\u0430 \u043e\u0431\u0445\u043e\u0436\u0434\u0430\u043c\u0435 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u043c\u0435 \u0432\u0441\u0435\u043a\u0438 \u0435\u043b\u0435\u043c\u0435\u043d\u0442.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: Stream \u043d\u0435 \u0435 Collection \u0438 \u043d\u0435 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u0434\u0430\u043d\u043d\u0438. \u0422\u043e\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0432\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442 \u043e\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0437\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438 \u043e\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d \u0438\u0437\u0442\u043e\u0447\u043d\u0438\u043a.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. \u041e\u0441\u043d\u043e\u0432\u043d\u0438 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u043d\u0430 Streams<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Declarative Programming: \u041e\u043f\u0438\u0441\u0432\u0430\u043c\u0435 \u0436\u0435\u043b\u0430\u043d\u0430\u0442\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430, \u0431\u0435\u0437 \u0434\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430\u043c\u0435 \u0440\u044a\u0447\u043d\u043e \u0432\u0441\u044f\u043a\u0430 \u0441\u0442\u044a\u043f\u043a\u0430 \u043e\u0442 \u043e\u0431\u0445\u043e\u0436\u0434\u0430\u043d\u0435\u0442\u043e.<\/li>\n\n\n\n<li>Pipeline: \u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438\u0442\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0441\u0432\u044a\u0440\u0437\u0432\u0430\u043d\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e \u0432 \u0435\u0434\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0449\u0430 \u0432\u0435\u0440\u0438\u0433\u0430.<\/li>\n\n\n\n<li>Lazy Evaluation: Intermediate Operations \u043d\u0435 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430\u0442, \u0434\u043e\u043a\u0430\u0442\u043e \u043d\u0435 \u0431\u044a\u0434\u0435 \u0438\u0437\u0432\u0438\u043a\u0430\u043d\u0430 Terminal Operation.<\/li>\n\n\n\n<li>Parallel Processing: Streams \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442 \u0434\u0430\u043d\u043d\u0438 \u043f\u0430\u0440\u0430\u043b\u0435\u043b\u043d\u043e \u0447\u0440\u0435\u0437 <code>parallelStream()<\/code> \u0438\u043b\u0438 <code>parallel()<\/code>.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">3. \u041f\u0440\u0438\u043c\u0435\u0440\u0438 \u0437\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 Stream API<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0438\u0442\u0435 \u0449\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 \u0441\u043b\u0435\u0434\u043d\u0438\u044f \u0441\u043f\u0438\u0441\u044a\u043a:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">List&lt;Integer&gt; numbers =<\/div><div class=\"cm-line\">        Arrays.asList(10, 5, 20, 15, 30, 25);<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">3.1. \u0424\u0438\u043b\u0442\u0440\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438 (Filtering)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u04d8\u0434\u0456\u0441 <code>filter()<\/code> \u0438\u0437\u0431\u0438\u0440\u0430 \u0441\u0430\u043c\u043e \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435, \u043a\u043e\u0438\u0442\u043e \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f\u0442 \u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u0435 (Predicate).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u043c\u0435\u0440: \u041d\u0430\u043c\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0447\u0438\u0441\u043b\u0430\u0442\u0430, \u043f\u043e-\u0433\u043e\u043b\u0435\u043c\u0438 \u043e\u0442 15.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">List&lt;Integer&gt; result = numbers.stream()<\/div><div class=\"cm-line\">        .filter(n -&gt; n &gt; 15)<\/div><div class=\"cm-line\">        .collect(Collectors.toList());<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">System.out.println(result);<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">[20, 30, 25]<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">3.2. \u0422\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438 (Mapping)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u04d8\u0434\u0456\u0441 <code>map()<\/code> \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0438\u0440\u0430 \u0432\u0441\u0435\u043a\u0438 \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u0447\u0440\u0435\u0437 \u0437\u0430\u0434\u0430\u0434\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f (Function).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u043c\u0435\u0440: \u0423\u043c\u043d\u043e\u0436\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0432\u0441\u0438\u0447\u043a\u0438 \u0447\u0438\u0441\u043b\u0430 \u043f\u043e 2.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">List&lt;Integer&gt; result = numbers.stream()<\/div><div class=\"cm-line\">        .map(n -&gt; n * 2)<\/div><div class=\"cm-line\">        .collect(Collectors.toList());<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">System.out.println(result);<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">[20, 10, 40, 30, 60, 50]<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">3.3. \u0410\u0433\u0440\u0435\u0433\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438 (Reducing)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u04d8\u0434\u0456\u0441 <code>reduce()<\/code> \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435 \u043d\u0430 Stream \u0432 \u0435\u0434\u043d\u0430 \u043a\u0440\u0430\u0439\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u043c\u0435\u0440: \u0418\u0437\u0447\u0438\u0441\u043b\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u0443\u043c\u0430\u0442\u0430 \u043d\u0430 \u0432\u0441\u0438\u0447\u043a\u0438 \u0447\u0438\u0441\u043b\u0430.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">int sum = numbers.stream()<\/div><div class=\"cm-line\">        .reduce(0, (a, b) -&gt; a + b);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">System.out.println(sum);<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">105<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041c\u043e\u0436\u0435\u043c \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 \u0438 Method Reference:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">int sum = numbers.stream()<\/div><div class=\"cm-line\">        .reduce(0, Integer::sum);<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">3.4. \u0421\u043e\u0440\u0442\u0438\u0440\u0430\u043d\u0435 (Sorting)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u04d8\u0434\u0456\u0441 <code>sorted()<\/code> \u0441\u043e\u0440\u0442\u0438\u0440\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435 \u043f\u043e \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u0438\u044f \u0438\u043c \u0440\u0435\u0434 (Natural Order) \u0438\u043b\u0438 \u0447\u0440\u0435\u0437 Comparator.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u043c\u0435\u0440: \u0412\u044a\u0437\u0445\u043e\u0434\u044f\u0449\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u0430\u043d\u0435.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">List&lt;Integer&gt; result = numbers.stream()<\/div><div class=\"cm-line\">        .sorted()<\/div><div class=\"cm-line\">        .collect(Collectors.toList());<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">System.out.println(result);<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">[5, 10, 15, 20, 25, 30]<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u043c\u0435\u0440: \u041d\u0438\u0437\u0445\u043e\u0434\u044f\u0449\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u0430\u043d\u0435.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">List&lt;Integer&gt; result = numbers.stream()<\/div><div class=\"cm-line\">        .sorted(Comparator.reverseOrder())<\/div><div class=\"cm-line\">        .collect(Collectors.toList());<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">3.5. \u0421\u044a\u0431\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438\u0442\u0435 (Collecting)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u04d8\u0434\u0456\u0441 <code>collect()<\/code> \u0441\u044a\u0431\u0438\u0440\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0435\u043d\u0438\u0442\u0435 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438 \u0432 Collection \u0438\u043b\u0438 \u0434\u0440\u0443\u0433 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0435\u043d \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u043c\u0435\u0440: \u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 List \u0441 \u0447\u0435\u0442\u043d\u0438\u0442\u0435 \u0447\u0438\u0441\u043b\u0430.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">List&lt;Integer&gt; evenNumbers = numbers.stream()<\/div><div class=\"cm-line\">        .filter(n -&gt; n % 2 == 0)<\/div><div class=\"cm-line\">        .collect(Collectors.toList());<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">System.out.println(evenNumbers);<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">[10, 20, 30]<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438 Java 16 \u0438 \u043f\u043e-\u043d\u043e\u0432\u0438 \u0432\u0435\u0440\u0441\u0438\u0438 \u043c\u043e\u0436\u0435\u043c \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 \u0438:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">List&lt;Integer&gt; evenNumbers = numbers.stream()<\/div><div class=\"cm-line\">        .filter(n -&gt; n % 2 == 0)<\/div><div class=\"cm-line\">        .toList();<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: <code>Stream.toList()<\/code> \u0432\u0440\u044a\u0449\u0430 List, \u043a\u043e\u0439\u0442\u043e \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u0438 \u043f\u0440\u043e\u043c\u0435\u043d\u0438 (Unmodifiable List). \u0417\u0430 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u0441\u043f\u0438\u0441\u044a\u043a \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 <code>Collectors.toList()<\/code> \u0438\u043b\u0438 <code>Collectors.toCollection(ArrayList::new)<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.6. \u041f\u0430\u0440\u0430\u043b\u0435\u043b\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 (Parallel Streams)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Parallel Streams \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u0442\u0430 \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438 \u0447\u0440\u0435\u0437 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043d\u0438\u0448\u043a\u0438 (Threads), \u043a\u0430\u0442\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 ForkJoin Framework \u0438 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u043e\u0431\u0449\u0438\u044f <code>ForkJoinPool<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">List&lt;Integer&gt; numbers =<\/div><div class=\"cm-line\">        IntStream.rangeClosed(1, 1000)<\/div><div class=\"cm-line\">                .boxed()<\/div><div class=\"cm-line\">                .toList();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">int sum = numbers.parallelStream()<\/div><div class=\"cm-line\">        .mapToInt(Integer::intValue)<\/div><div class=\"cm-line\">        .sum();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">System.out.println(sum);<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">500500<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: Parallel Streams \u043d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0430\u0442 \u043f\u043e-\u0434\u043e\u0431\u0440\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442. \u0417\u0430 \u043c\u0430\u043b\u043a\u0438 \u043a\u043e\u043b\u0435\u043a\u0446\u0438\u0438 \u0438\u043b\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441 \u043d\u0438\u0441\u043a\u0430 \u0438\u0437\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u043d\u0430 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442 \u043f\u0430\u0440\u0430\u043b\u0435\u043b\u043d\u0430\u0442\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043c\u043e\u0436\u0435 \u0434\u043e\u0440\u0438 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043f\u043e-\u0431\u0430\u0432\u043d\u0430 \u043f\u043e\u0440\u0430\u0434\u0438 \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u0438\u0442\u0435 \u0440\u0430\u0437\u0445\u043e\u0434\u0438 \u0437\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043d\u0430 Stream Pipeline<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Stream Pipeline \u0441\u0435 \u0441\u044a\u0441\u0442\u043e\u0438 \u043e\u0442 \u0442\u0440\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u0438 \u0447\u0430\u0441\u0442\u0438:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1. Source (\u0418\u0437\u0442\u043e\u0447\u043d\u0438\u043a)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Collection, Array, Stream.of()<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. Intermediate Operations<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">filter() \u2192 map() \u2192 sorted()<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lazy Evaluation<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3. Terminal Operation<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">collect() \/ reduce() \/ count()<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Triggers Execution<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.1. Source (\u0418\u0437\u0442\u043e\u0447\u043d\u0438\u043a)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0432\u0430 \u0435 \u0438\u0437\u0442\u043e\u0447\u043d\u0438\u043a\u044a\u0442 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435, \u043a\u043e\u0438\u0442\u043e \u0449\u0435 \u0431\u044a\u0434\u0430\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u043d\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u043c\u0435\u0440\u0438:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">List&lt;String&gt; names =<\/div><div class=\"cm-line\">        Arrays.asList(&quot;Ivan&quot;, &quot;Maria&quot;, &quot;Peter&quot;);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">Stream&lt;String&gt; stream1 = names.stream();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">Stream&lt;Integer&gt; stream2 =<\/div><div class=\"cm-line\">        Stream.of(1, 2, 3, 4, 5);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">IntStream stream3 =<\/div><div class=\"cm-line\">        IntStream.range(1, 10);<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">4.2. Intermediate Operations<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0432\u0430 \u0441\u0430 \u043c\u0435\u0436\u0434\u0438\u043d\u043d\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u043a\u043e\u0438\u0442\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435 \u0438 \u0432\u0440\u044a\u0449\u0430\u0442 \u043d\u043e\u0432 Stream. \u0422\u0435 \u0441\u0430 Lazy, \u0442.\u0435. \u043d\u0435 \u0437\u0430\u043f\u043e\u0447\u0432\u0430\u0442 \u0440\u0435\u0430\u043b\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u0440\u0435\u0434\u0438 \u0438\u0437\u0432\u0438\u043a\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 Terminal Operation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0441\u043d\u043e\u0432\u043d\u0438 Intermediate Operations:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u041c\u0435\u0442\u043e\u0434<\/th><th>\u041f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th><\/tr><tr><td><code>filter()<\/code><\/td><td>\u0424\u0438\u043b\u0442\u0440\u0438\u0440\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435 \u0441\u043f\u043e\u0440\u0435\u0434 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 (Predicate).<\/td><\/tr><tr><td><code>map()<\/code><\/td><td>\u0422\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0438\u0440\u0430 \u0432\u0441\u0435\u043a\u0438 \u0435\u043b\u0435\u043c\u0435\u043d\u0442.<\/td><\/tr><tr><td><code>flatMap()<\/code><\/td><td>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u0432\u043b\u043e\u0436\u0435\u043d\u0438 Streams \u0432 \u0435\u0434\u0438\u043d \u043e\u0431\u0449 Stream.<\/td><\/tr><tr><td><code>distinct()<\/code><\/td><td>\u041f\u0440\u0435\u043c\u0430\u0445\u0432\u0430 \u0434\u0443\u0431\u043b\u0438\u0440\u0430\u0449\u0438\u0442\u0435 \u0441\u0435 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438 \u0441\u043f\u043e\u0440\u0435\u0434 <code>equals()<\/code>.<\/td><\/tr><tr><td><code>sorted()<\/code><\/td><td>\u0421\u043e\u0440\u0442\u0438\u0440\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435.<\/td><\/tr><tr><td><code>peek()<\/code><\/td><td>\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435 \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435, \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0437\u0430 Debugging.<\/td><\/tr><tr><td><code>limit()<\/code><\/td><td>\u041e\u0433\u0440\u0430\u043d\u0438\u0447a\u0432\u0430 \u0431\u0440\u043e\u044f \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435.<\/td><\/tr><tr><td><code>skip()<\/code><\/td><td>\u041f\u0440\u043e\u043f\u0443\u0441\u043a\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d \u0431\u0440\u043e\u0439 \u043d\u0430\u0447\u0430\u043b\u043d\u0438 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430 <code>flatMap()<\/code>:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">List&lt;List&lt;String&gt;&gt; names = Arrays.asList(<\/div><div class=\"cm-line\">        Arrays.asList(&quot;Ivan&quot;, &quot;Maria&quot;),<\/div><div class=\"cm-line\">        Arrays.asList(&quot;Peter&quot;, &quot;Anna&quot;)<\/div><div class=\"cm-line\">);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">List&lt;String&gt; result = names.stream()<\/div><div class=\"cm-line\">        .flatMap(List::stream)<\/div><div class=\"cm-line\">        .toList();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">System.out.println(result);<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">[Ivan, Maria, Peter, Anna]<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><code>flatMap()<\/code> \u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u0435\u043d, \u043a\u043e\u0433\u0430\u0442\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u043c\u0435 \u0432\u043b\u043e\u0436\u0435\u043d\u0438 Collections.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.3. Terminal Operations<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Terminal Operations \u0437\u0430\u0432\u044a\u0440\u0448\u0432\u0430\u0442 Stream Pipeline \u0438 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0430\u0442 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u043c\u0435\u0436\u0434\u0438\u043d\u043d\u0438\u0442\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u041c\u0435\u0442\u043e\u0434<\/th><th>\u041f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th><\/tr><tr><td><code>forEach()<\/code><\/td><td>\u0418\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0437\u0430 \u0432\u0441\u0435\u043a\u0438 \u0435\u043b\u0435\u043c\u0435\u043d\u0442.<\/td><\/tr><tr><td><code>reduce()<\/code><\/td><td>\u041a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435 \u0432 \u0435\u0434\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442.<\/td><\/tr><tr><td><code>collect()<\/code><\/td><td>\u0421\u044a\u0431\u0438\u0440\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438\u0442\u0435 \u0432 Collection \u0438\u043b\u0438 \u0434\u0440\u0443\u0433 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440.<\/td><\/tr><tr><td><code>count()<\/code><\/td><td>\u0412\u0440\u044a\u0449\u0430 \u0431\u0440\u043e\u044f \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435.<\/td><\/tr><tr><td><code>toArray()<\/code><\/td><td>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0442\u0435 \u0432 Array.<\/td><\/tr><tr><td><code>anyMatch()<\/code><\/td><td>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0432\u0430 \u0434\u0430\u043b\u0438 \u043f\u043e\u043d\u0435 \u0435\u0434\u0438\u043d \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f \u043d\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0435.<\/td><\/tr><tr><td><code>allMatch()<\/code><\/td><td>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0432\u0430 \u0434\u0430\u043b\u0438 \u0432\u0441\u0438\u0447\u043a\u0438 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438 \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f\u0442 \u043d\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0435.<\/td><\/tr><tr><td><code>noneMatch()<\/code><\/td><td>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0432\u0430 \u0434\u0430\u043b\u0438 \u043d\u0438\u0442\u043e \u0435\u0434\u0438\u043d \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u043d\u0435 \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f \u043d\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0435.<\/td><\/tr><tr><td><code>findFirst()<\/code><\/td><td>\u0412\u0440\u044a\u0449\u0430 \u043f\u044a\u0440\u0432\u0438\u044f \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u043f\u043e\u0440\u0435\u0434 \u0440\u0435\u0434\u0430 \u043d\u0430 Stream.<\/td><\/tr><tr><td><code>findAny()<\/code><\/td><td>\u0412\u0440\u044a\u0449\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u0435\u043d \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u043e\u0442 Stream.<\/td><\/tr><tr><td><code>max()<\/code><\/td><td>\u041d\u0430\u043c\u0438\u0440\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u043d\u0438\u044f \u0435\u043b\u0435\u043c\u0435\u043d\u0442.<\/td><\/tr><tr><td><code>min()<\/code><\/td><td>\u041d\u0430\u043c\u0438\u0440\u0430 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u043d\u0438\u044f \u0435\u043b\u0435\u043c\u0435\u043d\u0442.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u044f\u043a\u043e\u0438 Terminal Operations \u0432\u0440\u044a\u0449\u0430\u0442 <code>Optional<\/code>, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>findFirst()<\/code>, <code>findAny()<\/code>, <code>max()<\/code> \u0436\u04d9\u043d\u0435 <code>min()<\/code>, \u0437\u0430\u0449\u043e\u0442\u043e Stream \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043f\u0440\u0430\u0437\u0435\u043d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Optional&lt;Integer&gt; result = numbers.stream()<\/div><div class=\"cm-line\">        .filter(n -&gt; n &gt; 20)<\/div><div class=\"cm-line\">        .findFirst();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">result.ifPresent(System.out::println);<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">5. Lazy Evaluation (\u041b\u0435\u043d\u0438\u0432\u043e \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0415\u0434\u043d\u0430 \u043e\u0442 \u043d\u0430\u0439-\u0432\u0430\u0436\u043d\u0438\u0442\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u043d\u0430 Stream API \u0435 Lazy Evaluation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0432\u0430 \u043e\u0437\u043d\u0430\u0447\u0430\u0432\u0430, \u0447\u0435 Intermediate Operations \u043d\u0435 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430\u0442 \u0432\u0435\u0434\u043d\u0430\u0433\u0430 \u0441\u043b\u0435\u0434 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430\u043d\u0435\u0442\u043e \u0438\u043c. \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u0442\u0430 \u0437\u0430\u043f\u043e\u0447\u0432\u0430 \u0435\u0434\u0432\u0430 \u043a\u043e\u0433\u0430\u0442\u043e \u0431\u044a\u0434\u0435 \u0438\u0437\u0432\u0438\u043a\u0430\u043d\u0430 Terminal Operation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">List&lt;String&gt; names =<\/div><div class=\"cm-line\">        Arrays.asList(&quot;Ivan&quot;, &quot;Maria&quot;, &quot;Peter&quot;);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">Stream&lt;String&gt; stream = names.stream()<\/div><div class=\"cm-line\">        .filter(name -&gt; {<\/div><div class=\"cm-line\">            System.out.println(&quot;Filtering: &quot; + name);<\/div><div class=\"cm-line\">            return name.length() &gt; 4;<\/div><div class=\"cm-line\">        });<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">System.out.println(&quot;Stream created&quot;);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">long count = stream.count();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">System.out.println(&quot;Count: &quot; + count);<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Stream created<\/div><div class=\"cm-line\">Filtering: Ivan<\/div><div class=\"cm-line\">Filtering: Maria<\/div><div class=\"cm-line\">Filtering: Peter<\/div><div class=\"cm-line\">Count: 2<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u0431\u0435\u043b\u0435\u0436\u0438, \u0447\u0435 <code>filter()<\/code> \u043d\u0435 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 \u043f\u0440\u0438 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 Stream, \u0430 \u0435\u0434\u0432\u0430 \u043f\u0440\u0438 \u0438\u0437\u0432\u0438\u043a\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 <code>count()<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: \u0415\u0434\u0438\u043d Stream \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0441\u043b\u0435\u0434 \u0438\u0437\u0432\u0438\u043a\u0432\u0430\u043d\u0435 \u043d\u0430 Terminal Operation. \u0417\u0430 \u043d\u043e\u0432\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u043c \u043d\u043e\u0432 Stream \u043e\u0442 \u0438\u0437\u0442\u043e\u0447\u043d\u0438\u043a\u0430.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. \u041f\u0440\u0435\u0434\u0438\u043c\u0441\u0442\u0432\u0430 \u043d\u0430 Stream API<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Concise and Readable Code: \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043f\u043e-\u043a\u0440\u0430\u0442\u044a\u043a \u0438 \u0447\u0435\u0442\u0438\u043c \u043a\u043e\u0434 \u0437\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u043a\u043e\u043b\u0435\u043a\u0446\u0438\u0438.<\/li>\n\n\n\n<li>Functional Programming: \u041d\u0430\u0441\u044a\u0440\u0447\u0430\u0432\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 Lambda Expressions \u0438 Functional Interfaces.<\/li>\n\n\n\n<li>Lazy Evaluation: \u0418\u0437\u0431\u044f\u0433\u0432\u0430 \u043d\u0435\u043d\u0443\u0436\u043d\u0430\u0442\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438, \u043a\u043e\u0433\u0430\u0442\u043e \u043d\u0435 \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430.<\/li>\n\n\n\n<li>Parallel Processing: \u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442 \u0437\u0430 \u043f\u0430\u0440\u0430\u043b\u0435\u043b\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430.<\/li>\n\n\n\n<li>Method Chaining: \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u0435\u0434\u0438\u043d Pipeline.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">1. \u041a\u0430\u043a\u0432\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0432\u0430 Stream API?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u0435\u0445\u0430\u043d\u0438\u0437\u044a\u043c \u0437\u0430 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u043e\u0441\u0442\u0438 \u043e\u0442 \u0434\u0430\u043d\u043d\u0438 \u0447\u0440\u0435\u0437 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u0430\u0442\u043e <code>filter()<\/code>, <code>map()<\/code>, <code>reduce()<\/code> \u0436\u04d9\u043d\u0435 <code>collect()<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. \u041a\u0430\u043a\u0432\u0430 \u0435 \u0440\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 Intermediate \u0438 Terminal Operations?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Intermediate Operations \u0432\u0440\u044a\u0449\u0430\u0442 \u043d\u043e\u0432 Stream \u0438 \u0441\u0430 Lazy.<\/li>\n\n\n\n<li>Terminal Operations \u0437\u0430\u0432\u044a\u0440\u0448\u0432\u0430\u0442 Pipeline \u0438 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0430\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u0442\u0430.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">3. \u041a\u0430\u043a\u0432\u0430 \u0435 \u0440\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 <code>map()<\/code> \u0436\u04d9\u043d\u0435 <code>flatMap()<\/code>?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>map()<\/code> \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0438\u0440\u0430 \u0432\u0441\u0435\u043a\u0438 \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u0432 \u0434\u0440\u0443\u0433 \u0435\u043b\u0435\u043c\u0435\u043d\u0442.<\/li>\n\n\n\n<li><code>flatMap()<\/code> \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0438\u0440\u0430 \u0432\u0441\u0435\u043a\u0438 \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u0432 Stream \u0438 \u043e\u0431\u0435\u0434\u0438\u043d\u044f\u0432\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0442\u0435 Streams \u0432 \u0435\u0434\u0438\u043d \u043e\u0431\u0449 Stream.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">4. \u041a\u0430\u043a\u0432\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0432\u0430 Lazy Evaluation?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u0435\u0436\u0434\u0438\u043d\u043d\u0438\u0442\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0435 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430\u0442, \u0434\u043e\u043a\u0430\u0442\u043e \u043d\u0435 \u0431\u044a\u0434\u0435 \u0438\u0437\u0432\u0438\u043a\u0430\u043d\u0430 Terminal Operation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5. \u041c\u043e\u0436\u0435 \u043b\u0438 \u0435\u0434\u0438\u043d Stream \u0434\u0430 \u0431\u044a\u0434\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435. \u0421\u043b\u0435\u0434 Terminal Operation Stream \u0441\u0435 \u0441\u0447\u0438\u0442\u0430 \u0437\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d \u0438 \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u043d \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">6. \u041a\u0430\u043a\u0432\u0430 \u0435 \u0440\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 <code>stream()<\/code> \u0436\u04d9\u043d\u0435 <code>parallelStream()<\/code>?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>stream()<\/code> \u2013 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430.<\/li>\n\n\n\n<li><code>parallelStream()<\/code> \u2013 \u043f\u0430\u0440\u0430\u043b\u0435\u043b\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430, \u043a\u043e\u044f\u0442\u043e \u043c\u043e\u0436\u0435 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e Threads.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">7. \u041a\u0430\u043a\u0432\u0430 \u0435 \u0440\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 Collection \u0438 Stream?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Collection \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u0434\u0430\u043d\u043d\u0438, \u0434\u043e\u043a\u0430\u0442\u043e Stream \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u044a\u043c \u0437\u0430 \u0442\u044f\u0445\u043d\u0430\u0442\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430. Stream \u043d\u0435 \u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0437\u0430 \u0441\u044a\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">8. \u041a\u0430\u043a\u0432\u0430 \u0435 \u0440\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 <code>findFirst()<\/code> \u0436\u04d9\u043d\u0435 <code>findAny()<\/code>?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>findFirst()<\/code> \u0432\u0440\u044a\u0449\u0430 \u043f\u044a\u0440\u0432\u0438\u044f \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u043f\u043e\u0440\u0435\u0434 encounter order, \u043a\u043e\u0433\u0430\u0442\u043e \u0442\u0430\u043a\u044a\u0432 \u0440\u0435\u0434 \u0435 \u0434\u0435\u0444\u0438\u043d\u0438\u0440\u0430\u043d. <code>findAny()<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0432\u0440\u044a\u0449\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u0435\u043d \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u0438 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043f\u043e-\u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449 \u043f\u0440\u0438 Parallel Streams.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Stream API \u0435 \u0435\u0434\u043d\u0430 \u043e\u0442 \u0432\u0430\u0436\u043d\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442\u0438, \u0432\u044a\u0432\u0435\u0434\u0435\u043d\u0438 \u0432 Java 8. \u0422\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u0442\u0430 \u043d\u0430 Collections \u0438 \u0434\u0440\u0443\u0433\u0438 \u0438\u0437\u0442\u043e\u0447\u043d\u0438\u0446\u0438 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438 \u0447\u0440\u0435\u0437 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u0435\u043d \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0435\u043d \u043f\u043e\u0434\u0445\u043e\u0434.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430 Java Developer \u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043e \u0432\u0430\u0436\u043d\u043e \u0434\u0430 \u043f\u043e\u0437\u043d\u0430\u0432\u0430 <code>filter()<\/code>, <code>map()<\/code>, <code>flatMap()<\/code>, <code>reduce()<\/code>, <code>collect()<\/code>, <code>sorted()<\/code> \u0438 \u0440\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 Intermediate \u0438 Terminal Operations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u043e\u043c\u043d\u0438 \u0437\u0430 \u0438\u043d\u0442\u0435\u0440\u0432\u044e: Intermediate Operations \u0441\u0430 Lazy, \u0430 Terminal Operations \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0430\u0442 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 Stream Pipeline.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u0412\u0438\u0434\u043e\u0432\u0435 \u0432\u043b\u043e\u0436\u0435\u043d\u0438 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u0432 Java (Types of Nested Classes)<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u041a\u0430\u043a\u0432\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0432\u0430\u0442 Nested Classes?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 Java Nested Class \u0435 \u043a\u043b\u0430\u0441, \u043a\u043e\u0439\u0442\u043e \u0435 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430\u043d \u0432\u044a\u0442\u0440\u0435 \u0432 \u0434\u0440\u0443\u0433 \u043a\u043b\u0430\u0441 \u0438\u043b\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u043b\u043e\u0436\u0435\u043d\u0438\u0442\u0435 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430\u0442 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0432\u044a\u0440\u0437\u0430\u043d\u0438 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0433\u0440\u0443\u043f\u0438\u0440\u0430\u043d\u0438 \u0437\u0430\u0435\u0434\u043d\u043e, \u043f\u043e\u0434\u043e\u0431\u0440\u044f\u0432\u0430\u0442 \u043a\u0430\u043f\u0441\u0443\u043b\u0430\u0446\u0438\u044f\u0442\u0430 (Encapsulation) \u0438 \u0443\u043b\u0435\u0441\u043d\u044f\u0432\u0430\u0442 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 \u043a\u043e\u0434\u0430.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 Java \u0438\u043c\u0430 \u0447\u0435\u0442\u0438\u0440\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u0438 \u0432\u0438\u0434\u0430 Nested Classes:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Static Nested Class<\/li>\n\n\n\n<li>Non-Static Inner Class<\/li>\n\n\n\n<li>Local Inner Class<\/li>\n\n\n\n<li>Anonymous Inner Class<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u044a\u0440\u0432\u0438\u0442\u0435 \u0434\u0432\u0430 \u0432\u0438\u0434\u0430 \u0441\u0435 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430\u0442 \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e \u0432 \u0434\u0440\u0443\u0433 \u043a\u043b\u0430\u0441, \u0434\u043e\u043a\u0430\u0442\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0442\u0435 \u0434\u0432\u0430 \u0441\u0435 \u0434\u0435\u0444\u0438\u043d\u0438\u0440\u0430\u0442 \u0432 \u0440\u0430\u043c\u043a\u0438\u0442\u0435 \u043d\u0430 \u043c\u0435\u0442\u043e\u0434 \u0438\u043b\u0438 \u0431\u043b\u043e\u043a \u043a\u043e\u0434.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Static Nested Class<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Static Nested Class \u0435 \u0432\u043b\u043e\u0436\u0435\u043d \u043a\u043b\u0430\u0441, \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430\u043d \u0441 \u043a\u043b\u044e\u0447\u043e\u0432\u0430\u0442\u0430 \u0434\u0443\u043c\u0430 <code>static<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u0435\u0440\u0435\u043a\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440\u0456:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041d\u0435 \u0438\u0437\u0438\u0441\u043a\u0432\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043e\u0442 Outer Class.<\/li>\n\n\n\n<li>\u041c\u043e\u0436\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e \u0434\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u0432\u0430 <code>static<\/code> \u0447\u043b\u0435\u043d\u043e\u0432\u0435 \u043d\u0430 Outer Class.<\/li>\n\n\n\n<li>\u041c\u043e\u0436\u0435 \u0434\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u0432\u0430 \u0438 <code>private static<\/code> \u0447\u043b\u0435\u043d\u043e\u0432\u0435 \u043d\u0430 Outer Class.<\/li>\n\n\n\n<li>\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e \u0434\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u0432\u0430 \u043d\u0435\u0441\u0442\u0430\u0442\u0438\u0447\u043d\u0438\u0442\u0435 \u0447\u043b\u0435\u043d\u043e\u0432\u0435 \u043d\u0430 Outer Class \u0431\u0435\u0437 \u043d\u0435\u0433\u043e\u0432 \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class OuterClass {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private static String message = &quot;Hello&quot;;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    static class NestedClass {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        public void display() {<\/div><div class=\"cm-line\">            System.out.println(message);<\/div><div class=\"cm-line\">        }<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        OuterClass.NestedClass nested =<\/div><div class=\"cm-line\">                new OuterClass.NestedClass();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        nested.display();<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Hello<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u0431\u0435\u043b\u0435\u0436\u0438, \u0447\u0435 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043c\u0435 <code>NestedClass<\/code> \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e \u0447\u0440\u0435\u0437 \u0438\u043c\u0435\u0442\u043e \u043d\u0430 Outer Class, \u0431\u0435\u0437 \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043c\u0435 \u043d\u0435\u0433\u043e\u0432 \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Non-Static Inner Class<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Non-Static Inner Class \u0435 \u0432\u043b\u043e\u0436\u0435\u043d \u043a\u043b\u0430\u0441, \u043a\u043e\u0439\u0442\u043e \u043d\u0435 \u0435 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430\u043d \u0441\u044a\u0441 <code>static<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u0435\u0440\u0435\u043a\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440\u0456:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0418\u0437\u0438\u0441\u043a\u0432\u0430 \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430 Outer Class, \u0437\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u043d.<\/li>\n\n\n\n<li>\u0418\u043c\u0430 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0432\u0441\u0438\u0447\u043a\u0438 \u0447\u043b\u0435\u043d\u043e\u0432\u0435 \u043d\u0430 Outer Class, \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u043d\u043e <code>private<\/code> \u0436\u04d9\u043d\u0435 <code>static<\/code>.<\/li>\n\n\n\n<li>\u041c\u043e\u0436\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u043d\u0435\u0441\u0442\u0430\u0442\u0438\u0447\u043d\u0438\u0442\u0435 \u043f\u043e\u043b\u0435\u0442\u0430 \u0438 \u043c\u0435\u0442\u043e\u0434\u0438 \u043d\u0430 Outer Class.<\/li>\n\n\n\n<li>\u0412\u0441\u0435\u043a\u0438 \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430 Inner Class \u0435 \u0441\u0432\u044a\u0440\u0437\u0430\u043d \u0441 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u0435\u043d \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430 Outer Class.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class OuterClass {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    private String message = &quot;Hello from Outer Class&quot;;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    class InnerClass {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        public void display() {<\/div><div class=\"cm-line\">            System.out.println(message);<\/div><div class=\"cm-line\">        }<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        OuterClass outer = new OuterClass();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        OuterClass.InnerClass inner =<\/div><div class=\"cm-line\">                outer.new InnerClass();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        inner.display();<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Hello from Outer Class<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0431\u044a\u0440\u043d\u0438 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043d\u0430\u0447\u0438\u043d\u0430 \u043d\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">OuterClass outer = new OuterClass();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">OuterClass.InnerClass inner = outer.new InnerClass();<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041f\u044a\u0440\u0432\u043e \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043c\u0435 \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430 Outer Class, \u0441\u043b\u0435\u0434 \u043a\u043e\u0435\u0442\u043e \u0447\u0440\u0435\u0437 \u043d\u0435\u0433\u043e \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043c\u0435 Inner Class.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Local Inner Class<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Local Inner Class \u0435 \u043a\u043b\u0430\u0441, \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430\u043d \u0432\u044a\u0442\u0440\u0435 \u0432 \u043c\u0435\u0442\u043e\u0434, \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u0438\u043b\u0438 \u0434\u0440\u0443\u0433 \u0431\u043b\u043e\u043a \u043a\u043e\u0434.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u0435\u0440\u0435\u043a\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440\u0456:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0414\u043e\u0441\u0442\u044a\u043f\u0435\u043d \u0435 \u0441\u0430\u043c\u043e \u0432 \u0431\u043b\u043e\u043a\u0430, \u0432 \u043a\u043e\u0439\u0442\u043e \u0435 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430\u043d.<\/li>\n\n\n\n<li>\u041c\u043e\u0436\u0435 \u0434\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u0432\u0430 \u0447\u043b\u0435\u043d\u043e\u0432\u0435\u0442\u0435 \u043d\u0430 Outer Class.<\/li>\n\n\n\n<li>\u041c\u043e\u0436\u0435 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u043b\u043e\u043a\u0430\u043b\u043d\u0438 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0438 \u043e\u0442 \u043c\u0435\u0442\u043e\u0434\u0430, \u0430\u043a\u043e \u0442\u0435 \u0441\u0430 <code>final<\/code> \u0438\u043b\u0438 effectively final.<\/li>\n\n\n\n<li>\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430\u043d \u0441 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 <code>public<\/code>, <code>protected<\/code>, <code>private<\/code> \u0438\u043b\u0438 <code>static<\/code> \u0432 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d \u043c\u0435\u0442\u043e\u0434.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u044b\u0441\u0430\u043b\u044b:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class OuterClass {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public void display() {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        String message = &quot;Hello from Local Class&quot;;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        class LocalClass {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">            public void printMessage() {<\/div><div class=\"cm-line\">                System.out.println(message);<\/div><div class=\"cm-line\">            }<\/div><div class=\"cm-line\">        }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        LocalClass local = new LocalClass();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        local.printMessage();<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        OuterClass outer = new OuterClass();<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        outer.display();<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Hello from Local Class<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0430\u0436\u043d\u043e: \u041f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430\u0442\u0430 <code>message<\/code> \u043d\u0435 \u0435 \u0438\u0437\u0440\u0438\u0447\u043d\u043e \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430\u043d\u0430 \u043a\u0430\u0442\u043e <code>final<\/code>, \u043d\u043e \u0435 effectively final, \u0437\u0430\u0449\u043e\u0442\u043e \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0442\u0430 \u045d \u043d\u0435 \u0441\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u044f \u0441\u043b\u0435\u0434 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. Anonymous Inner Class<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Anonymous Inner Class \u0435 \u0432\u043b\u043e\u0436\u0435\u043d \u043a\u043b\u0430\u0441 \u0431\u0435\u0437 \u0438\u043c\u0435, \u043a\u043e\u0439\u0442\u043e \u0441\u0435 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430 \u0438 \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0437\u0430 \u0435\u0434\u043d\u043e\u043a\u0440\u0430\u0442\u043d\u0430 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043d\u0430 Interface \u0438\u043b\u0438 \u0437\u0430 \u0440\u0430\u0437\u0448\u0438\u0440\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 Class, \u043a\u043e\u0433\u0430\u0442\u043e \u043d\u0435 \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043c\u0435 \u043e\u0442\u0434\u0435\u043b\u0435\u043d \u0438\u043c\u0435\u043d\u0443\u0432\u0430\u043d \u043a\u043b\u0430\u0441.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u0435\u0440\u0435\u043a\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440\u0456:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041d\u044f\u043c\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043e \u0438\u043c\u0435.<\/li>\n\n\n\n<li>\u0414\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430 \u0441\u0435 \u0438 \u0441\u0435 \u0438\u043d\u0441\u0442\u0430\u043d\u0446\u0438\u0440\u0430 \u0441 \u0435\u0434\u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f.<\/li>\n\n\n\n<li>\u041c\u043e\u0436\u0435 \u0434\u0430 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430 Interface \u0438\u043b\u0438 \u0434\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430 Class.<\/li>\n\n\n\n<li>\u0427\u0435\u0441\u0442\u043e \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u043f\u0440\u0438 Event Handling \u0438 Callback \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0438.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u041f\u0440\u0438\u043c\u0435\u0440 1: Anonymous Inner Class \u0441 Interface<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u0430 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0435 \u0438\u043c\u0430\u043c\u0435 Interface <code>Greeting<\/code> \u0441 \u043c\u0435\u0442\u043e\u0434 <code>sayHello()<\/code>.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">interface Greeting {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    void sayHello();<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 Anonymous Inner Class:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class AnonymousInnerClassExample {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        Greeting greeting = new Greeting() {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">            @Override<\/div><div class=\"cm-line\">            public void sayHello() {<\/div><div class=\"cm-line\">                System.out.println(<\/div><div class=\"cm-line\">                    &quot;Hello from an Anonymous Inner Class!&quot;<\/div><div class=\"cm-line\">                );<\/div><div class=\"cm-line\">            }<\/div><div class=\"cm-line\">        };<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        greeting.sayHello();<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Hello from an Anonymous Inner Class!<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0412 \u0442\u043e\u0437\u0438 \u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043c\u0435 \u043e\u0431\u0435\u043a\u0442, \u0447\u0438\u0439\u0442\u043e \u043a\u043b\u0430\u0441 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430 <code>Greeting<\/code>, \u0431\u0435\u0437 \u0434\u0430 \u0434\u0435\u0444\u0438\u043d\u0438\u0440\u0430\u043c\u0435 \u043e\u0442\u0434\u0435\u043b\u0435\u043d \u0438\u043c\u0435\u043d\u0443\u0432\u0430\u043d \u043a\u043b\u0430\u0441.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u041f\u0440\u0438\u043c\u0435\u0440 2: Anonymous Inner Class \u0441 Abstract Class<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Anonymous Inner Class \u043c\u043e\u0436\u0435 \u0434\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430 Abstract Class \u0438 \u0434\u0430 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430 \u043d\u0435\u0433\u043e\u0432\u0438\u0442\u0435 Abstract Methods.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">abstract class Shape {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    abstract void draw();<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">public class AnonymousInnerClassExample {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        Shape shape = new Shape() {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">            @Override<\/div><div class=\"cm-line\">            void draw() {<\/div><div class=\"cm-line\">                System.out.println(&quot;Drawing a shape!&quot;);<\/div><div class=\"cm-line\">            }<\/div><div class=\"cm-line\">        };<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        shape.draw();<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">Drawing a shape!<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">\u041f\u0440\u0438\u043c\u0435\u0440 3: Anonymous Inner Class \u043f\u0440\u0438 Event Handling<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0427\u0435\u0441\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 Anonymous Inner Classes \u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u0442\u0430 \u043d\u0430 \u0441\u044a\u0431\u0438\u0442\u0438\u044f (Event Handling), \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u0438 Java Swing GUI \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">import javax.swing.*;<\/div><div class=\"cm-line\">import java.awt.event.ActionEvent;<\/div><div class=\"cm-line\">import java.awt.event.ActionListener;<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">public class ButtonExample {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">    public static void main(String[] args) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        JFrame frame =<\/div><div class=\"cm-line\">                new JFrame(&quot;Anonymous Inner Class Example&quot;);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        JButton button = new JButton(&quot;Click Me!&quot;);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        button.addActionListener(<\/div><div class=\"cm-line\">            new ActionListener() {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">                @Override<\/div><div class=\"cm-line\">                public void actionPerformed(ActionEvent e) {<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">                    System.out.println(&quot;Button clicked!&quot;);<\/div><div class=\"cm-line\">                }<\/div><div class=\"cm-line\">            }<\/div><div class=\"cm-line\">        );<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        frame.add(button);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        frame.setSize(200, 200);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        frame.setDefaultCloseOperation(<\/div><div class=\"cm-line\">                JFrame.EXIT_ON_CLOSE);<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">        frame.setVisible(true);<\/div><div class=\"cm-line\">    }<\/div><div class=\"cm-line\">}<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u044a\u0442?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0421\u044a\u0437\u0434\u0430\u0432\u0430\u043c\u0435 <code>JButton<\/code>.<\/li>\n\n\n\n<li>\u0427\u0440\u0435\u0437 <code>addActionListener()<\/code> \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0430\u043c\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043d\u0430 \u0441\u044a\u0431\u0438\u0442\u0438\u044f.<\/li>\n\n\n\n<li>Anonymous Inner Class \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430 <code>ActionListener<\/code>.<\/li>\n\n\n\n<li>\u04d8\u0434\u0456\u0441 <code>actionPerformed()<\/code> \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 \u043f\u0440\u0438 \u043d\u0430\u0442\u0438\u0441\u043a\u0430\u043d\u0435 \u043d\u0430 \u0431\u0443\u0442\u043e\u043d\u0430.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 \u0442\u043e\u0437\u0438 \u0441\u043b\u0443\u0447\u0430\u0439 \u043d\u0435 \u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043c\u0435 \u043e\u0442\u0434\u0435\u043b\u0435\u043d \u043a\u043b\u0430\u0441 \u0437\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u0441\u044a\u0431\u0438\u0442\u0438\u0435\u0442\u043e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u0431\u0435\u043b\u0435\u0436\u043a\u0430: \u041f\u043e\u043d\u0435\u0436\u0435 <code>ActionListener<\/code> \u0438\u043c\u0430 \u0441\u0430\u043c\u043e \u0435\u0434\u0438\u043d Abstract Method, \u0432 \u0441\u044a\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u0442\u0430 Java \u043c\u043e\u0436\u0435\u043c \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043c\u0435 \u0438 Lambda Expression:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code><div class=\"cm-line\">button.addActionListener(<\/div><div class=\"cm-line\">    e -&gt; System.out.println(&quot;Button clicked!&quot;)<\/div><div class=\"cm-line\">);<\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0422\u043e\u0432\u0430 \u0435 \u043f\u043e-\u043a\u0440\u0430\u0442\u044a\u043a \u0438 \u0447\u0435\u0441\u0442\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u043d \u043f\u043e\u0434\u0445\u043e\u0434.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u0447\u0435\u0442\u0438\u0440\u0438\u0442\u0435 \u0432\u0438\u0434\u0430 Nested Classes<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>\u0412\u0438\u0434<\/th><th>\u041a\u044a\u0434\u0435 \u0441\u0435 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430?<\/th><th>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u043b\u0438 \u0435 Outer Class \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440?<\/th><\/tr><tr><td>Static Nested Class<\/td><td>\u0412\u044a\u0442\u0440\u0435 \u0432 \u043a\u043b\u0430\u0441<\/td><td>\u0416\u043e\u049b<\/td><\/tr><tr><td>Non-Static Inner Class<\/td><td>\u0412\u044a\u0442\u0440\u0435 \u0432 \u043a\u043b\u0430\u0441<\/td><td>\u0418\u04d9<\/td><\/tr><tr><td>Local Inner Class<\/td><td>\u0412 \u043c\u0435\u0442\u043e\u0434 \u0438\u043b\u0438 \u0431\u043b\u043e\u043a<\/td><td>\u0414\u0430, \u043a\u043e\u0433\u0430\u0442\u043e \u0434\u043e\u0441\u0442\u044a\u043f\u0432\u0430 \u043d\u0435\u0441\u0442\u0430\u0442\u0438\u0447\u043d\u0438 \u0447\u043b\u0435\u043d\u043e\u0432\u0435 \u043d\u0430 Outer Class<\/td><\/tr><tr><td>Anonymous Inner Class<\/td><td>\u0412 \u0438\u0437\u0440\u0430\u0437 \u0438\u043b\u0438 \u0431\u043b\u043e\u043a<\/td><td>\u0417\u0430\u0432\u0438\u0441\u0438 \u043e\u0442 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u0438 \u0431\u0430\u0437\u043e\u0432\u0438\u044f \u043a\u043b\u0430\u0441<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0430\u0436\u043d\u043e \u0437\u0430 Java Developer Interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">1. \u041a\u043e\u043b\u043a\u043e \u0432\u0438\u0434\u0430 Nested Classes \u0438\u043c\u0430 \u0432 Java?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0427\u0435\u0442\u0438\u0440\u0438: Static Nested Class, Non-Static Inner Class, Local Inner Class \u0438 Anonymous Inner Class.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. \u041a\u0430\u043a\u0432\u0430 \u0435 \u0440\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 Static Nested Class \u0438 Inner Class?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Static Nested Class \u043d\u0435 \u0438\u0437\u0438\u0441\u043a\u0432\u0430 \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430 Outer Class \u0438 \u043d\u044f\u043c\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u0435\u043d \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u043d\u0435\u0433\u043e\u0432\u0438\u0442\u0435 \u043d\u0435\u0441\u0442\u0430\u0442\u0438\u0447\u043d\u0438 \u0447\u043b\u0435\u043d\u043e\u0432\u0435. Inner Class \u0435 \u0441\u0432\u044a\u0440\u0437\u0430\u043d \u0441 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u0435\u043d \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430 Outer Class.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3. \u041c\u043e\u0436\u0435 \u043b\u0438 Inner Class \u0434\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u0432\u0430 private \u0447\u043b\u0435\u043d\u043e\u0432\u0435 \u043d\u0430 Outer Class?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u0430. Java \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043d\u0430 \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u0442\u0435 \u043a\u043b\u0430\u0441\u043e\u0432\u0435 \u0434\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u0432\u0430\u0442 \u0432\u0441\u0438\u0447\u043a\u0438 \u0447\u043b\u0435\u043d\u043e\u0432\u0435 \u043d\u0430 Outer Class, \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u043d\u043e <code>private<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4. \u041a\u0430\u043a\u0432\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0432\u0430 effectively final variable?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041b\u043e\u043a\u0430\u043b\u043d\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430, \u043a\u043e\u044f\u0442\u043e \u043d\u0435 \u0435 \u0438\u0437\u0440\u0438\u0447\u043d\u043e \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430\u043d\u0430 \u043a\u0430\u0442\u043e <code>final<\/code>, \u043d\u043e \u0441\u043b\u0435\u0434 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0442\u0430 \u045d \u043d\u0435 \u0441\u0435 \u043f\u0440\u043e\u043c\u0435\u043d\u044f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5. \u041a\u0430\u043a\u0432\u0430 \u0435 \u0440\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 Local Inner Class \u0438 Anonymous Inner Class?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Local Inner Class \u0438\u043c\u0430 \u0438\u043c\u0435 \u0438 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d \u043c\u043d\u043e\u0433\u043e\u043a\u0440\u0430\u0442\u043d\u043e \u0432 \u0440\u0430\u043c\u043a\u0438\u0442\u0435 \u043d\u0430 \u0441\u0432\u043e\u044f\u0442\u0430 \u043e\u0431\u043b\u0430\u0441\u0442 \u043d\u0430 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442.<\/li>\n\n\n\n<li>Anonymous Inner Class \u043d\u044f\u043c\u0430 \u0438\u043c\u0435 \u0438 \u0441\u0435 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0430 \u0438 \u0438\u043d\u0441\u0442\u0430\u043d\u0446\u0438\u0440\u0430 \u0435\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">6. \u041c\u043e\u0436\u0435 \u043b\u0438 Anonymous Inner Class \u0434\u0430 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430 Interface?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u0430. \u041c\u043e\u0436\u0435 \u0434\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043d\u0430 Interface \u0438\u043b\u0438 \u0434\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u0435\u043d \u0438\u043b\u0438 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u0435\u043d \u043a\u043b\u0430\u0441.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">7. \u041a\u0430\u043a\u0432\u0430 \u0435 \u0440\u0430\u0437\u043b\u0438\u043a\u0430\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 Anonymous Inner Class \u0438 Lambda Expression?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lambda Expression \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0437\u0430 Functional Interfaces, \u0434\u043e\u043a\u0430\u0442\u043e Anonymous Inner Class \u043c\u043e\u0436\u0435 \u0434\u0430 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0430 Interface \u0441 \u043f\u043e\u0432\u0435\u0447\u0435 \u043e\u0442 \u0435\u0434\u0438\u043d Abstract Method \u0438\u043b\u0438 \u0434\u0430 \u043d\u0430\u0441\u043b\u0435\u0434\u044f\u0432\u0430 Class.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u041e\u0441\u043d\u043e\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0434<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nested Classes \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430\u0442 \u043f\u043e-\u0434\u043e\u0431\u0440\u0430 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u043a\u0430\u043f\u0441\u0443\u043b\u0430\u0446\u0438\u044f \u043d\u0430 \u043a\u043e\u0434\u0430 \u0432 Java. \u0422\u0435 \u0441\u0430 \u043e\u0441\u043e\u0431\u0435\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u0438, \u043a\u043e\u0433\u0430\u0442\u043e \u0434\u0430\u0434\u0435\u043d \u043a\u043b\u0430\u0441 \u0438\u043c\u0430 \u0441\u043c\u0438\u0441\u044a\u043b \u0441\u0430\u043c\u043e \u043a\u0430\u0442\u043e \u0447\u0430\u0441\u0442 \u043e\u0442 \u0434\u0440\u0443\u0433 \u043a\u043b\u0430\u0441.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430 Java Developer \u0435 \u0432\u0430\u0436\u043d\u043e \u0434\u0430 \u0440\u0430\u0437\u0431\u0438\u0440\u0430 \u0440\u0430\u0437\u043b\u0438\u043a\u0438\u0442\u0435 \u043c\u0435\u0436\u0434\u0443 \u0447\u0435\u0442\u0438\u0440\u0438\u0442\u0435 \u0432\u0438\u0434\u0430, \u043d\u0430\u0447\u0438\u043d\u0430 \u043d\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 Inner Class \u0438 \u0434\u043e\u0441\u0442\u044a\u043f\u0430 \u0438\u043c \u0434\u043e \u0447\u043b\u0435\u043d\u043e\u0432\u0435\u0442\u0435 \u043d\u0430 Outer Class.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u0421\u04b1\u0445\u0431\u0430\u0442\u0442\u0430\u0440\u0434\u044b\u04a3 \u0436\u0430\u0443\u0430\u043f\u0442\u0430\u0440\u044b \u0431\u0430\u0440 \u043a\u0435\u0439\u0431\u0456\u0440 \u043d\u0430\u049b\u0442\u044b \u043c\u044b\u0441\u0430\u043b\u0434\u0430\u0440<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u041f\u043e\u043b\u0438\u043c\u043e\u0440\u0444\u0438\u0437\u043c, \u0441\u0442\u0430\u0442\u0438\u043a\u0430\u043b\u044b\u049b \u04d9\u0434\u0456\u0441\u0442\u0435\u0440 \u0436\u04d9\u043d\u0435 String pool \u0441\u0438\u044f\u049b\u0442\u044b \u043d\u0435\u0433\u0456\u0437\u0434\u0435\u0440\u0434\u0456 \u0442\u04af\u0441\u0456\u043d\u0435\u0434\u0456<\/li>\n\n\n\n<li>\u0422\u043e\u043f\u0442\u0430\u043c\u0430\u043b\u0430\u0440\u043c\u0435\u043d (\u043c\u044b\u0441\u0430\u043b\u044b, HashSet, TreeSet) \u0436\u04d9\u043d\u0435 \u043e\u043b\u0430\u0440\u0434\u044b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443 \u0436\u0430\u0493\u0434\u0430\u0439\u043b\u0430\u0440\u044b\u043c\u0435\u043d \u0442\u0430\u043d\u044b\u0441.<\/li>\n\n\n\n<li>\u0411\u04b1\u0440\u0448\u0430\u049b \u0430\u0443\u049b\u044b\u043c\u044b\u043d \u0434\u04b1\u0440\u044b\u0441 \u0430\u043d\u044b\u049b\u0442\u0430\u0443 (\u0441\u0438\u043d\u0433\u043b\u0442\u043e\u043d, \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f)<\/li>\n\n\n\n<li>\u0422\u04d9\u0443\u0435\u043b\u0434\u0456\u043b\u0456\u043a \u0438\u043d\u044a\u0435\u043a\u0446\u0438\u044f\u0441\u044b\u043d\u044b\u04a3 \u043d\u0435 \u0435\u043a\u0435\u043d\u0456\u043d \u0436\u04d9\u043d\u0435 \u043e\u043d\u044b\u04a3 \u043c\u0430\u049b\u0441\u0430\u0442\u044b\u043d \u0442\u04af\u0441\u0456\u043d\u0435\u0434\u0456.<\/li>\n\n\n\n<li>\u00ab\u041a\u04e9\u043f\u0442\u0435\u043d \u043a\u04e9\u043f\u043a\u0435\u00bb \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u044b\u043d \u0431\u0456\u0440\u0456\u043a\u0442\u0456\u0440\u0443 \u043a\u0435\u0441\u0442\u0435\u043b\u0435\u0440\u0456 \u0430\u0440\u049b\u044b\u043b\u044b \u0436\u04af\u0437\u0435\u0433\u0435 \u0430\u0441\u044b\u0440\u0443 \u0436\u043e\u043b\u044b\u043d \u0431\u0456\u043b\u0435\u0434\u0456.<\/li>\n\n\n\n<li>\u0418\u043d\u0434\u0435\u043a\u0441\u0442\u0435\u0440\u0434\u0456\u04a3 \u043c\u0430\u049b\u0441\u0430\u0442\u044b\u043d \u0442\u04af\u0441\u0456\u043d\u0435\u0434\u0456 (\u04af\u0441\u0442\u0456 \u0431\u043e\u043b\u0441\u0430 \u0434\u0430)<\/li>\n\n\n\n<li>\u041c\u043e\u043d\u043e\u043b\u0438\u0442\u0442\u0456 \u0436\u04d9\u043d\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430\u0441\u044b\u043d \u0430\u0436\u044b\u0440\u0430\u0442\u0430 \u0430\u043b\u0430\u0434\u044b<\/li>\n\n\n\n<li>\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u0430\u0439\u044b\u0440\u0431\u0430\u0441\u0442\u0430\u0440\u0434\u044b \u0442\u04af\u0441\u0456\u043d\u0435\u0434\u0456 (\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0442\u044b\u043b\u044b\u049b, \u0442\u0435\u0445\u043d\u0438\u043a\u0430\u043b\u044b\u049b \u049b\u044b\u0437\u043c\u0435\u0442 \u043a\u04e9\u0440\u0441\u0435\u0442\u0443)<\/li>\n\n\n\n<li>\u041b\u0438\u0441\u043a\u043e\u0432 \u0430\u043b\u043c\u0430\u0441\u0442\u044b\u0440\u0443 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0456 \u043c\u0435\u043d \u0442\u04d9\u0443\u0435\u043b\u0434\u0456\u043b\u0456\u043a \u0438\u043d\u0432\u0435\u0440\u0441\u0438\u044f\u0441\u044b\u043d \u0434\u04b1\u0440\u044b\u0441 \u0442\u04af\u0441\u0456\u043d\u0431\u0435\u0439\u0434\u0456<\/li>\n\n\n\n<li>\u0410\u0448\u044b\u049b\/\u0436\u0430\u0431\u044b\u049b \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043a\u0435 \u043d\u0430\u049b\u0442\u044b \u043c\u044b\u0441\u0430\u043b\u0434\u0430\u0440 \u043a\u0435\u043b\u0442\u0456\u0440\u0443 \u049b\u0438\u044b\u043d.<\/li>\n\n\n\n<li>\u0411\u04b1\u0440\u0448\u0430\u049b\u0442\u0430\u0440\u0434\u044b\u04a3 \u04e9\u043c\u0456\u0440\u043b\u0456\u043a \u0446\u0438\u043a\u043b\u0456\u043d \u0431\u0430\u0441\u049b\u0430\u0440\u0443 \u0442\u0443\u0440\u0430\u043b\u044b \u0442\u0435\u0440\u0435\u04a3 \u0431\u0456\u043b\u0456\u043c \u0436\u043e\u049b.<\/li>\n\n\n\n<li>\u041e\u043b \u043a\u0435\u04a3\u0435\u0439\u0442\u0456\u043b\u0433\u0435\u043d \u0442\u04d9\u0443\u0435\u043b\u0434\u0456\u043b\u0456\u043a \u0438\u043d\u044a\u0435\u043a\u0446\u0438\u044f\u0441\u044b\u043d \u0442\u04af\u0441\u0456\u043d\u0431\u0435\u0439\u0434\u0456.<\/li>\n\n\n\n<li>\u0418\u043d\u0434\u0435\u043a\u0441\u0442\u0435\u0440\u0434\u0456 \u04af\u0441\u0442\u0456\u0440\u0442 \u0442\u04af\u0441\u0456\u043d\u0435\u0434\u0456 (\u049b\u04b1\u0440\u0430\u043c\u0430 \u0438\u043d\u0434\u0435\u043a\u0441\u0442\u0435\u0440, \u0441\u04b1\u0440\u0430\u043d\u044b\u0441\u0442\u0430\u0440\u0434\u044b \u043e\u04a3\u0442\u0430\u0439\u043b\u0430\u043d\u0434\u044b\u0440\u0443).<\/li>\n\n\n\n<li>\u041e\u049b\u0448\u0430\u0443\u043b\u0430\u0443 \u0434\u0435\u04a3\u0433\u0435\u0439\u043b\u0435\u0440\u0456 \u043c\u0435\u043d \u043e\u043f\u0442\u0438\u043c\u0438\u0441\u0442\u0456\u043a\/\u043f\u0435\u0441\u0441\u0438\u043c\u0438\u0441\u0442\u0456\u043a \u049b\u04b1\u043b\u044b\u043f\u0442\u0430\u0443\u043c\u0435\u043d \u0442\u0430\u043d\u044b\u0441 \u0435\u043c\u0435\u0441.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0410\u0440\u0442\u044b\u049b\u0448\u044b\u043b\u044b\u049b\u0442\u0430\u0440\u044b:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u04ae\u043b\u043a\u0435\u043d \u0436\u04d9\u043d\u0435 \u043a\u04af\u0440\u0434\u0435\u043b\u0456 \u0436\u04af\u0439\u0435\u0434\u0435 \u0431\u04b1\u0440\u044b\u043d\u0493\u044b \u043a\u043e\u0434\u043f\u0435\u043d \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0434\u0456.<\/li>\n\n\n\n<li>\u041e\u043b SOLID-\u043f\u0435\u043d \u0442\u0430\u043d\u044b\u0441.<\/li>\n\n\n\n<li>\u0410\u0493\u044b\u043d\u0434\u0430\u0440 \u0442\u0443\u0440\u0430\u043b\u044b \u0431\u0456\u043b\u0456\u043c\u0456 \u0431\u0430\u0440.<\/li>\n\n\n\n<li>\u041a\u04e9\u0440\u0441\u0435\u0442\u043a\u0456\u0448\u0442\u0435\u0440 \u043c\u0435\u043d ACID \u0442\u04af\u0441\u0456\u043d\u0434\u0456\u0440\u0456\u04a3\u0456\u0437.<\/li>\n\n\n\n<li>\u0410\u0493\u044b\u043b\u0448\u044b\u043d \u0442\u0456\u043b\u0456\u043d \u0436\u0430\u049b\u0441\u044b \u0434\u0435\u04a3\u0433\u0435\u0439\u0434\u0435<br>\u041a\u0435\u043c\u0448\u0456\u043b\u0456\u043a\u0442\u0435\u0440\u0456:<\/li>\n\n\n\n<li>\u041e\u0440\u043d\u0430\u043b\u0430\u0441\u0442\u044b\u0440\u0443 \u043d\u0435\u043c\u0435\u0441\u0435 \u0438\u043d\u0444\u0440\u0430\u049b\u04b1\u0440\u044b\u043b\u044b\u043c, \u0441\u04d9\u0443\u043b\u0435\u0442 \u0434\u0438\u0437\u0430\u0439\u043d\u044b\u043d\u0430 \u049b\u0430\u0442\u044b\u0441\u0443 \u04af\u0448\u0456\u043d \u0436\u0430\u0443\u0430\u043f\u043a\u0435\u0440\u0448\u0456\u043b\u0456\u043a \u0436\u043e\u049b.<\/li>\n\n\n\n<li>OOP \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0442\u0435\u0440\u0456 \u0442\u0443\u0440\u0430\u043b\u044b \u0431\u0456\u0440\u0430\u0437 \u0431\u0456\u043b\u0456\u043c\u0456 \u0431\u0430\u0440, \u0431\u0456\u0440\u0430\u049b \u043e\u043b\u0430\u0440\u0434\u044b \u0442\u04af\u0441\u0456\u043d\u0434\u0456\u0440\u0443\u0434\u0435 \u0430\u0439\u0442\u0430\u0440\u043b\u044b\u049b\u0442\u0430\u0439 \u049b\u0438\u044b\u043d\u0434\u044b\u049b\u0442\u0430\u0440\u0493\u0430 \u0442\u0430\u043f \u0431\u043e\u043b\u0434\u044b \u0436\u04d9\u043d\u0435 \u043a\u0435\u0439\u0431\u0456\u0440 \u04b1\u0493\u044b\u043c\u0434\u0430\u0440\u0434\u044b \u0448\u0430\u0442\u0430\u0441\u0442\u044b\u0440\u0434\u044b.<\/li>\n\n\n\n<li>\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043b\u0430\u0440 \u0442\u0443\u0440\u0430\u043b\u044b \u0436\u0430\u043b\u043f\u044b \u0431\u0456\u043b\u0456\u043c, \u0431\u0456\u0440\u0430\u049b \u043e\u043b\u049b\u044b\u043b\u044b\u049b\u0442\u0430\u0440 \u0436\u04d9\u043d\u0435 \u04e9\u0442\u0435 \u0431\u0435\u043b\u0433\u0456\u0441\u0456\u0437.<\/li>\n\n\n\n<li>\u041f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u0434\u0456\u043a \u043f\u0435\u043d \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c\u043d\u0456\u04a3 \u0430\u0439\u044b\u0440\u043c\u0430\u0448\u044b\u043b\u044b\u0493\u044b\u043d \u0442\u04af\u0441\u0456\u043d\u0431\u0435\u0439\u0434\u0456, \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u0434\u0456\u043b\u0456\u043a \u0442\u0443\u0440\u0430\u043b\u044b \u04d9\u0441\u0456\u0440\u0435\u0441\u0435 \u043a\u04af\u0448\u0442\u0456 \u0431\u0456\u043b\u0456\u043c\u0456 \u0436\u043e\u049b.<\/li>\n\n\n\n<li>\u041e\u043b \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430\u0441\u044b\u043d \u0435\u0433\u0436\u0435\u0439-\u0442\u0435\u0433\u0436\u0435\u0439\u043b\u0456 \u049b\u0430\u0440\u0430\u0441\u0442\u044b\u0440\u0493\u0430\u043d \u0436\u043e\u049b.<\/li>\n\n\n\n<li>\u041a\u0435\u0439\u0431\u0456\u0440 \u0434\u0435\u0440\u0435\u043a\u049b\u043e\u0440 \u0442\u04b1\u0436\u044b\u0440\u044b\u043c\u0434\u0430\u043c\u0430\u043b\u0430\u0440\u044b\u043d\u0434\u0430\u0493\u044b \u0435\u043a\u0456\u04b1\u0448\u0442\u044b\u043b\u044b\u049b (\u0438\u043d\u0434\u0435\u043a\u0441\u0442\u0435\u0440 \u0442\u0443\u0440\u0430\u043b\u044b \u0442\u0430\u043b\u049b\u044b\u043b\u0430\u0443 \u04af\u0441\u0442\u0456\u0440\u0442 \u0431\u043e\u043b\u0434\u044b).<\/li>\n\n\n\n<li>Livelock \u0442\u04af\u0441\u0456\u043d\u0434\u0456\u0440\u0435 \u0430\u043b\u043c\u0430\u0434\u044b.<\/li>\n\n\n\n<li>Finally \u0431\u043b\u043e\u043a\u0442\u044b \u0442\u04af\u0441\u0456\u043d\u0443\u0434\u0435 \u043e\u043b\u049b\u044b\u043b\u044b\u049b\u0442\u0430\u0440 \u0431\u0430\u0440.<\/li>\n\n\n\n<li>\u0415\u0440\u0435\u043a\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440\u0434\u0456 \u04e9\u04a3\u0434\u0435\u0443 \u0435\u0440\u0435\u043a\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440\u0456 \u0442\u0443\u0440\u0430\u043b\u044b \u0448\u0435\u043a\u0442\u0435\u0443\u043b\u0456 \u0431\u0456\u043b\u0456\u043c.<\/li>\n\n\n\n<li>\u041a\u0456\u0440\u0443 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043b\u0430\u0440\u044b\u043c\u0435\u043d \u0448\u0430\u0442\u0430\u0441\u0442\u044b\u0440\u044b\u043b\u0434\u044b (\u049b\u043e\u0440\u0493\u0430\u043b\u0493\u0430\u043d \u0436\u04d9\u043d\u0435 \u0436\u0435\u043a\u0435 \u043f\u0430\u043a\u0435\u0442)<br>\u0416\u0430\u043b\u043f\u044b \u043f\u0456\u043a\u0456\u0440 \u0441\u043e\u043b\u0430\u0439<br>\u0442\u0435\u0445\u043d\u0438\u043a\u0430\u043b\u044b\u049b \u0431\u0456\u043b\u0456\u043c\u0456\u043d\u0434\u0435\u0433\u0456 \u043e\u043b\u049b\u044b\u043b\u044b\u049b\u0442\u0430\u0440\u0493\u0430 \u0431\u0430\u0439\u043b\u0430\u043d\u044b\u0441\u0442\u044b Mid-Java \u04d9\u0437\u0456\u0440\u043b\u0435\u0443\u0448\u0456\u0441\u0456 \u043b\u0430\u0443\u0430\u0437\u044b\u043c\u044b\u043d\u0430 \u0441\u04d9\u0439\u043a\u0435\u0441 \u043a\u0435\u043b\u043c\u0435\u0439\u0434\u0456.<\/li>\n\n\n\n<li>\u0416\u0430\u049b\u0441\u044b \u0442\u04af\u0441\u0456\u043d\u0434\u0456\u0440\u0434\u0456 SOLID.<\/li>\n\n\n\n<li>OOP \u0436\u0430\u049b\u0441\u044b \u0442\u04af\u0441\u0456\u043d\u0434\u0456\u0440\u0456\u043b\u0434\u0456.<\/li>\n\n\n\n<li>\u0422\u04af\u0441\u0456\u043d\u0434\u0456\u0440\u043c\u0435 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f (\u0431\u0456\u0440\u0430\u049b \u0431\u0430\u0441\u044b\u043d\u0434\u0430 \u0431\u0456\u0440\u0430\u0437 \u049b\u0438\u044b\u043d \u0431\u043e\u043b\u0434\u044b).<\/li>\n\n\n\n<li>\u0416\u0438\u043d\u0430\u049b\u0442\u0430\u0440\u0434\u044b \u0442\u0430\u043c\u0430\u0448\u0430 \u0442\u04af\u0441\u0456\u043d\u0443.<\/li>\n\n\n\n<li>\u0422\u0456\u0437\u0456\u043c\u0434\u0435\u0440 \u043c\u0435\u043d \u0436\u0438\u044b\u043d\u0434\u0430\u0440\u0434\u044b\u04a3 \u0430\u0439\u044b\u0440\u043c\u0430\u0448\u044b\u043b\u044b\u0493\u044b\u043d \u0442\u04af\u0441\u0456\u043d\u0434\u0456\u0440\u0456\u04a3\u0456\u0437.<\/li>\n\n\n\n<li>HashSet \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u0441\u044b\u043d \u0442\u0430\u043b\u049b\u044b\u043b\u0430\u04a3\u044b\u0437.<\/li>\n\n\n\n<li>HashMap \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u0441\u044b\u043d \u0442\u0430\u043b\u049b\u044b\u043b\u0430\u04a3\u044b\u0437.<\/li>\n\n\n\n<li>ConcurrentHashMap \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u0441\u044b\u043d \u0442\u0430\u043b\u049b\u044b\u043b\u0430\u04a3\u044b\u0437.<\/li>\n\n\n\n<li>\u0414\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u049b\u04b1\u0440\u044b\u043b\u044b\u043c\u0434\u0430\u0440\u044b\u043d \u0436\u0430\u049b\u0441\u044b \u0442\u04af\u0441\u0456\u043d\u0443 \u2013 \u0441\u0442\u0435\u043a\u0442\u0435\u0440\u0434\u0456, \u043a\u0435\u0437\u0435\u043a\u0442\u0435\u0440\u0434\u0456, \u0430\u0493\u0430\u0448\u0442\u0430\u0440\u0434\u044b.<\/li>\n\n\n\n<li>JVM \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430\u0441\u044b\u043d \u0436\u0430\u049b\u0441\u044b \u0431\u0456\u043b\u0443.<\/li>\n\n\n\n<li>\u041f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u0434\u0456\u043b\u0456\u043a \u043f\u0435\u043d \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c\u0434\u0456 \u0436\u0430\u049b\u0441\u044b \u0442\u04af\u0441\u0456\u043d\u0434\u0456\u0440\u0434\u0456, \u043a\u04e9\u043f \u0430\u0493\u044b\u043d\u0434\u044b \u049b\u043e\u0441\u044b\u043c\u0448\u0430\u043b\u0430\u0440\u0434\u044b \u0436\u0430\u049b\u0441\u044b \u0431\u0456\u043b\u0435\u0442\u0456\u043d\u0456\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0442\u0456.<\/li>\n\n\n\n<li>REST \u0442\u0443\u0440\u0430\u043b\u044b \u0436\u0430\u049b\u0441\u044b \u0442\u04af\u0441\u0456\u043d\u0456\u043a.<\/li>\n\n\n\n<li>db \u0438\u043d\u0434\u0435\u043a\u0441\u0442\u0435\u0440\u0456\u043d \u0436\u0430\u049b\u0441\u044b \u0442\u04af\u0441\u0456\u043d\u0434\u0456\u0440\u0434\u0456.<\/li>\n\n\n\n<li>\u0411\u0456\u0440\u0456\u043a\u0442\u0456\u0440\u0443\u0434\u0456\u04a3 \u04d9\u0440\u0442\u04af\u0440\u043b\u0456 \u0442\u04af\u0440\u043b\u0435\u0440\u0456\u043d \u0442\u04af\u0441\u0456\u043d\u0434\u0456\u0440\u0456\u04a3\u0456\u0437.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Java \u04d9\u0437\u0456\u0440\u043b\u0435\u0443\u0448\u0456\u0441\u0456\u043c\u0435\u043d \u0441\u04b1\u0445\u0431\u0430\u0442\u049b\u0430 \u0434\u0430\u0439\u044b\u043d\u0434\u044b\u049b \u0441\u04b1\u0440\u0430\u049b\u0442\u0430\u0440\u044b \u043c\u0435\u043d \u0430\u049b\u043f\u0430\u0440\u0430\u0442\u044b SOLID \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0442\u0435\u0440\u0456 \u049b\u0430\u043d\u0434\u0430\u0439? \u0411\u0456\u0440\u044b\u04a3\u0493\u0430\u0439 \u0436\u0430\u0443\u0430\u043f\u043a\u0435\u0440\u0448\u0456\u043b\u0456\u043a \u049b\u0430\u0493\u0438\u0434\u0430\u0441\u044b (SRP) \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435 \u0421\u044b\u043d\u044b\u043f\u0442\u0430 \u0431\u0456\u0440 \u0493\u0430\u043d\u0430 \u0436\u0430\u0443\u0430\u043f\u043a\u0435\u0440\u0448\u0456\u043b\u0456\u043a \u0436\u04d9\u043d\u0435 \u04e9\u0437\u0433\u0435\u0440\u0442\u0443\u0433\u0435 \u0431\u0456\u0440 \u0493\u0430\u043d\u0430 \u0441\u0435\u0431\u0435\u043f \u0431\u043e\u043b\u0443\u044b \u043a\u0435\u0440\u0435\u043a.\u0410\u0440\u0442\u044b\u049b\u0448\u044b\u043b\u044b\u049b\u0442\u0430\u0440\u044b \u043e\u04a3\u0430\u0439 \u0442\u0435\u0441\u0442\u0456\u043b\u0435\u0443\u0434\u0456, \u0442\u04e9\u043c\u0435\u043d\u0433\u0456 \u0431\u0430\u0439\u043b\u0430\u043d\u044b\u0441\u0442\u044b\u0440\u0443\u0434\u044b \u0436\u04d9\u043d\u0435 \u0436\u0430\u049b\u0441\u044b \u04b1\u0439\u044b\u043c\u0434\u0430\u0441\u0442\u044b\u0440\u0443\u0434\u044b \u049b\u0430\u043c\u0442\u0438\u0434\u044b.\u041c\u044b\u0441\u0430\u043b\u044b: \u0410\u0448\u044b\u049b-\u0436\u0430\u0431\u044b\u049b \u043f\u0440\u0438\u043d\u0446\u0438\u043f (OCP) \u0434\u0435\u0433\u0435\u043d\u0456\u043c\u0456\u0437 \u043d\u0435 \u0411\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u043b\u044b\u049b \u049b\u0430\u043c\u0442\u0430\u043c\u0430\u0441\u044b\u0437 \u0435\u0442\u0443 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0442\u0435\u0440\u0456 (\u0441\u044b\u043d\u044b\u043f\u0442\u0430\u0440, \u043c\u043e\u0434\u0443\u043b\u044c\u0434\u0435\u0440, \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043b\u0430\u0440) \u043a\u0435\u04a3\u0435\u0439\u0442\u0443 \u04af\u0448\u0456\u043d \u0430\u0448\u044b\u049b, \u0431\u0456\u0440\u0430\u049b \u04e9\u0437\u0433\u0435\u0440\u0442\u0443 \u04af\u0448\u0456\u043d \u0436\u0430\u0431\u044b\u049b \u0431\u043e\u043b\u0443\u044b [&hellip;]<\/p>\n","protected":false},"author":65283547,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1017],"tags":[11788,789678139,2549795,196,789678143],"class_list":["post-2308","post","type-post","status-publish","format-standard","hentry","category-java","tag-11788","tag-java-","tag-java","tag-196"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4CoHV-Be","jetpack-related-posts":[{"id":2266,"url":"https:\/\/vkrastev1blog.com\/2025\/11\/19\/%d0%ba%d0%b0%d0%ba-%d0%b4%d0%b0-%d1%87%d0%b5%d1%82%d0%b5%d0%bc-%d0%b1%d0%b8%d0%b1%d0%bb%d0%b8%d1%8f%d1%82%d0%b0-%d0%bf%d1%8a%d0%bb%d0%bd%d0%be%d1%86%d0%b5%d0%bd%d0%bd%d0%be-%d0%b3%d0%be%d1%80%d0%b4\/","url_meta":{"origin":2308,"position":0},"title":"\u041a\u0438\u0435\u043b\u0456 \u043a\u0456\u0442\u0430\u043f\u0442\u044b \u049b\u0430\u043b\u0430\u0439 \u0442\u043e\u043b\u044b\u049b \u043e\u049b\u0443\u0493\u0430 \u0431\u043e\u043b\u0430\u0434\u044b &#8211; \u0413\u043e\u0440\u0434\u043e\u043d \u0424\u0435\u0439","author":"vkrastev2014","date":"19.11.2025","format":false,"excerpt":"\u041a\u0410\u041a \u0414\u0410 \u0427\u0415\u0422\u0415\u041c \u0411\u0418\u0411\u041b\u0418\u042f\u0422\u0410 \u041f\u042a\u041b\u041d\u041e\u0426\u0415\u041d\u041d\u041e \u2013 \u0413\u041e\u0420\u0414\u042a\u041d \u0424\u0418\u0419 \u0412\u044a\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u2013 \u0411\u0438\u0431\u043b\u0438\u044f\u0442\u0430 \u043d\u0435 \u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043d\u0438\u0433\u0430, \u043a\u043e\u044f\u0442\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043f\u0440\u043e\u0447\u0435\u0442\u0435\u043c, \u0430 \u0411\u043e\u0436\u0438\u0435 \u0421\u043b\u043e\u0432\u043e, \u043a\u043e\u0435\u0442\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c !!! \u0422\u0430\u0437\u0438 \u0441\u0442\u0430\u0442\u0438\u044f \u0435 \u0441\u0432\u043e\u0435\u043e\u0431\u0440\u0430\u0437\u043d\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e \u0440\u044a\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0437\u0430 \u0432\u0441\u0435\u043a\u0438 \u0445\u0440\u0438\u0441\u0442\u0438\u044f\u043d\u0438\u043d, \u043a\u043e\u0439\u0442\u043e \u0438\u0441\u043a\u0430 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0430 \u0447\u0435\u0442\u0435 \u0411\u0438\u0431\u043b\u0438\u044f\u0442\u0430, \u0430 \u0434\u0430 \u0440\u0430\u0437\u0431\u0438\u0440\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u043d\u043e \u0411\u043e\u0436\u0438\u0435\u0442\u043e \u0421\u043b\u043e\u0432\u043e, \u0434\u0430\u2026","rel":"","context":"In &quot;\u041a\u0438\u0435\u043b\u0456 \u043a\u0456\u0442\u0430\u043f\u049b\u0430 \u0436\u04d9\u043d\u0435 \u0440\u0443\u0445 \u043f\u0435\u043d \u0434\u0435\u043d\u0435\u0433\u0435 \u0430\u0440\u043d\u0430\u043b\u0493\u0430\u043d \u043c\u0430\u049b\u0430\u043b\u0430\u043b\u0430\u0440&quot;","block_context":{"text":"\u041a\u0438\u0435\u043b\u0456 \u043a\u0456\u0442\u0430\u043f\u049b\u0430 \u0436\u04d9\u043d\u0435 \u0440\u0443\u0445 \u043f\u0435\u043d \u0434\u0435\u043d\u0435\u0433\u0435 \u0430\u0440\u043d\u0430\u043b\u0493\u0430\u043d \u043c\u0430\u049b\u0430\u043b\u0430\u043b\u0430\u0440","link":"https:\/\/vkrastev1blog.com\/category\/%d1%81%d1%82%d0%b0%d1%82%d0%b8%d0%b8-%d0%bf%d0%be%d1%81%d0%b2%d0%b5%d1%82%d0%b5%d0%bd%d0%b8-%d0%bd%d0%b0-%d0%b1%d0%b8%d0%b1%d0%bb%d0%b8%d1%8f%d1%82%d0%b0-%d0%b8-%d0%b7%d0%b0-%d0%b4%d1%83%d1%85%d0%b0\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2025\/11\/%D0%9A%D0%B0%D0%BA-%D0%B4%D0%B0-%D1%87%D0%B5%D1%82%D0%B5%D0%BC-%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D1%8F%D1%82%D0%B0-%D0%BF%D1%8A%D0%BB%D0%BD%D0%BE%D1%86%D0%B5%D0%BD%D0%BD%D0%BE.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2025\/11\/%D0%9A%D0%B0%D0%BA-%D0%B4%D0%B0-%D1%87%D0%B5%D1%82%D0%B5%D0%BC-%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D1%8F%D1%82%D0%B0-%D0%BF%D1%8A%D0%BB%D0%BD%D0%BE%D1%86%D0%B5%D0%BD%D0%BD%D0%BE.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2025\/11\/%D0%9A%D0%B0%D0%BA-%D0%B4%D0%B0-%D1%87%D0%B5%D1%82%D0%B5%D0%BC-%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D1%8F%D1%82%D0%B0-%D0%BF%D1%8A%D0%BB%D0%BD%D0%BE%D1%86%D0%B5%D0%BD%D0%BD%D0%BE.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2025\/11\/%D0%9A%D0%B0%D0%BA-%D0%B4%D0%B0-%D1%87%D0%B5%D1%82%D0%B5%D0%BC-%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D1%8F%D1%82%D0%B0-%D0%BF%D1%8A%D0%BB%D0%BD%D0%BE%D1%86%D0%B5%D0%BD%D0%BD%D0%BE.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2025\/11\/%D0%9A%D0%B0%D0%BA-%D0%B4%D0%B0-%D1%87%D0%B5%D1%82%D0%B5%D0%BC-%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D1%8F%D1%82%D0%B0-%D0%BF%D1%8A%D0%BB%D0%BD%D0%BE%D1%86%D0%B5%D0%BD%D0%BD%D0%BE.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2025\/11\/%D0%9A%D0%B0%D0%BA-%D0%B4%D0%B0-%D1%87%D0%B5%D1%82%D0%B5%D0%BC-%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D1%8F%D1%82%D0%B0-%D0%BF%D1%8A%D0%BB%D0%BD%D0%BE%D1%86%D0%B5%D0%BD%D0%BD%D0%BE.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":1785,"url":"https:\/\/vkrastev1blog.com\/2025\/02\/03\/%d0%bc%d0%be%d1%8f-%d0%bf%d0%be%d0%b3%d0%bb%d0%b5%d0%b4-%d0%b7%d0%b0-%d0%b0%d0%bc%d1%83%d0%b5%d0%b9-%d0%b1%d0%b8%d0%b7%d0%bd%d0%b5%d1%81%d0%b0\/","url_meta":{"origin":2308,"position":1},"title":"Amway Business \u0442\u0443\u0440\u0430\u043b\u044b \u043c\u0435\u043d\u0456\u04a3 \u043a\u04e9\u0437\u049b\u0430\u0440\u0430\u0441\u044b\u043c \u043c\u0435\u043d \u043f\u0456\u043a\u0456\u0440\u0456\u043c","author":"vkrastev2014","date":"03.02.2025","format":false,"excerpt":"\u041c\u043e\u044f\u0442 \u043f\u043e\u0433\u043b\u0435\u0434 \u0438 \u043c\u043d\u0435\u043d\u0438\u0435 \u0437\u0430 \u0410\u043c\u0443\u0435\u0439 \u0411\u0438\u0437\u043d\u0435\u0441\u0430 \u0411\u0438\u0437\u043d\u0435\u0441, \u043e\u0441\u043d\u043e\u0432\u0430\u043d \u043d\u0430 \u0441\u0432\u043e\u0431\u043e\u0434\u0430\u0442\u0430, \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u0435\u043c\u0430\u0447\u0435\u0441\u0442\u0432\u043e\u0442\u043e, \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u043e\u0442\u043e \u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f\u0442\u0430 \u043c\u0435\u0436\u0434\u0443 \u0445\u043e\u0440\u0430\u0442\u0430 \u201e\u0412\u0438\u0437\u0438\u044f\u0442\u0430 \u043d\u0430 Amway \u0435 \u0434\u0430 \u043f\u043e\u043c\u0430\u0433\u0430 \u043d\u0430 \u0445\u043e\u0440\u0430\u0442\u0430 \u0434\u0430 \u0436\u0438\u0432\u0435\u044f\u0442 \u043f\u043e-\u0434\u043e\u0431\u044a\u0440 \u0436\u0438\u0432\u043e\u0442. \u041d\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043c \u0442\u0430\u0437\u0438 \u0432\u0438\u0437\u0438\u044f \u0440\u0435\u0430\u043b\u043d\u0430, \u043a\u0430\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u043c\u0435 \u043d\u0430 \u0445\u043e\u0440\u0430\u0442\u0430 \u0431\u0438\u0437\u043d\u0435\u0441 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442, \u043a\u043e\u044f\u0442\u043e \u0438\u043c \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u0434\u0430 \u043f\u043e\u0441\u0442\u0438\u0433\u043d\u0430\u0442 \u0443\u0441\u043f\u0435\u0445 \u0447\u0440\u0435\u0437 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u0430\u0442\u0430 \u0441\u0438 \u0443\u043f\u043e\u0440\u0438\u0442\u0430\u2026","rel":"","context":"In &quot;Amway \u0431\u0438\u0437\u043d\u0435\u0441\u0456 - Amway \u0431\u0438\u0437\u043d\u0435\u0441\u0456&quot;","block_context":{"text":"Amway \u0431\u0438\u0437\u043d\u0435\u0441\u0456 - Amway \u0431\u0438\u0437\u043d\u0435\u0441\u0456","link":"https:\/\/vkrastev1blog.com\/category\/amway-%d0%b1%d0%b8%d0%b7%d0%bd%d0%b5%d1%81%d1%96-amway\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2025\/02\/logo_amway_abo_black_horizontal.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2025\/02\/logo_amway_abo_black_horizontal.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2025\/02\/logo_amway_abo_black_horizontal.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2025\/02\/logo_amway_abo_black_horizontal.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2025\/02\/logo_amway_abo_black_horizontal.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2025\/02\/logo_amway_abo_black_horizontal.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":2693,"url":"https:\/\/vkrastev1blog.com\/2026\/10\/14\/%d1%82%d1%8a%d0%bc%d0%bd%d0%b0%d1%82%d0%b0-%d0%b5%d0%bd%d0%b5%d1%80%d0%b3%d0%b8%d1%8f-%d0%b2%d1%8a%d0%b2-%d0%b2%d1%81%d0%b5%d0%bb%d0%b5%d0%bd%d0%b0%d1%82%d0%b0-%d0%b8%d0%bb%d0%b8-%d0%bf%d1%80%d0%be\/","url_meta":{"origin":2308,"position":2},"title":"\u0492\u0430\u043b\u0430\u043c\u0434\u0430\u0493\u044b \u049b\u0430\u0440\u0430\u04a3\u0493\u044b \u044d\u043d\u0435\u0440\u0433\u0438\u044f \u043c\u0435\u043d \u043c\u0430\u0442\u0435\u0440\u0438\u044f \u043d\u0435\u043c\u0435\u0441\u0435 \u0416\u0430\u0440\u0430\u0442\u049b\u0430\u043d \u0418\u0435\u043d\u0456\u04a3 \u049b\u04b1\u0434\u0456\u0440\u0435\u0442\u0456\u043d\u0456\u04a3 \u043a\u04e9\u0440\u0456\u043d\u0456\u0441\u0456","author":"vkrastev2014","date":"14.10.2026","format":false,"excerpt":"\u0422\u044a\u043c\u043d\u0430\u0442\u0430 \u0435\u043d\u0435\u0440\u0433\u0438\u044f \u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u044f \u0432\u044a\u0432 \u0412\u0441\u0435\u043b\u0435\u043d\u0430\u0442\u0430 \u0438\u043b\u0438 \u043f\u0440\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u0438\u043b\u0430\u0442\u0430 \u043d\u0430 \u0413\u043e\u0441\u043f\u043e\u0434 \u0411\u043e\u0433? \u041d\u0430\u0443\u0447\u043d\u043e-\u0444\u0438\u043b\u043e\u0441\u043e\u0444\u0441\u043a\u0430 \u0441\u0442\u0430\u0442\u0438\u044f \u0441 \u0445\u0440\u0438\u0441\u0442\u0438\u044f\u043d\u0441\u043a\u0430 \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0430 \u0420\u0435\u0437\u044e\u043c\u0435 \u0421\u044a\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u0442\u0430 \u043a\u043e\u0441\u043c\u043e\u043b\u043e\u0433\u0438\u044f \u043f\u043e\u0441\u0442\u0430\u0432\u044f \u0447\u043e\u0432\u0435\u0447\u0435\u0441\u0442\u0432\u043e\u0442\u043e \u043f\u0440\u0435\u0434 \u0435\u0434\u0438\u043d \u043e\u0442 \u043d\u0430\u0439-\u0434\u044a\u043b\u0431\u043e\u043a\u0438\u0442\u0435 \u0432\u044a\u043f\u0440\u043e\u0441\u0438 \u0437\u0430 \u043f\u0440\u0438\u0440\u043e\u0434\u0430\u0442\u0430 \u043d\u0430 \u0412\u0441\u0435\u043b\u0435\u043d\u0430\u0442\u0430: \u043a\u0430\u043a\u0432\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0432\u0430 \u0442\u044a\u043c\u043d\u0430\u0442\u0430 \u0435\u043d\u0435\u0440\u0433\u0438\u044f \u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u044f \u0438 \u043a\u0430\u043a\u0432\u0430 \u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u0442\u0430 \u0437\u0430 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u043e\u0442\u043e \u0440\u0430\u0437\u0448\u0438\u0440\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u043a\u043e\u0441\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e? \u0421\u043f\u043e\u0440\u0435\u0434 \u0441\u044a\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0438\u0442\u0435\u2026","rel":"","context":"In &quot;\u041a\u0438\u0435\u043b\u0456 \u043a\u0456\u0442\u0430\u043f\u049b\u0430 \u0436\u04d9\u043d\u0435 \u0440\u0443\u0445 \u043f\u0435\u043d \u0434\u0435\u043d\u0435\u0433\u0435 \u0430\u0440\u043d\u0430\u043b\u0493\u0430\u043d \u043c\u0430\u049b\u0430\u043b\u0430\u043b\u0430\u0440&quot;","block_context":{"text":"\u041a\u0438\u0435\u043b\u0456 \u043a\u0456\u0442\u0430\u043f\u049b\u0430 \u0436\u04d9\u043d\u0435 \u0440\u0443\u0445 \u043f\u0435\u043d \u0434\u0435\u043d\u0435\u0433\u0435 \u0430\u0440\u043d\u0430\u043b\u0493\u0430\u043d \u043c\u0430\u049b\u0430\u043b\u0430\u043b\u0430\u0440","link":"https:\/\/vkrastev1blog.com\/category\/%d1%81%d1%82%d0%b0%d1%82%d0%b8%d0%b8-%d0%bf%d0%be%d1%81%d0%b2%d0%b5%d1%82%d0%b5%d0%bd%d0%b8-%d0%bd%d0%b0-%d0%b1%d0%b8%d0%b1%d0%bb%d0%b8%d1%8f%d1%82%d0%b0-%d0%b8-%d0%b7%d0%b0-%d0%b4%d1%83%d1%85%d0%b0\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/mjnsliwiuvsco9jrugwtbn46avgfj8tnyxicpukntkiv9qn6pr5dmh2nwbxkwuy-dnce6rvtd3bnrqccjjuaw1ugw7nme6lwxgaz1dif8umy2yon1syu-glivtullo5ugpk-rx6a85lxzwqv2qdq5fo-yzbd2yb399zuwlup1z4.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/mjnsliwiuvsco9jrugwtbn46avgfj8tnyxicpukntkiv9qn6pr5dmh2nwbxkwuy-dnce6rvtd3bnrqccjjuaw1ugw7nme6lwxgaz1dif8umy2yon1syu-glivtullo5ugpk-rx6a85lxzwqv2qdq5fo-yzbd2yb399zuwlup1z4.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/mjnsliwiuvsco9jrugwtbn46avgfj8tnyxicpukntkiv9qn6pr5dmh2nwbxkwuy-dnce6rvtd3bnrqccjjuaw1ugw7nme6lwxgaz1dif8umy2yon1syu-glivtullo5ugpk-rx6a85lxzwqv2qdq5fo-yzbd2yb399zuwlup1z4.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/mjnsliwiuvsco9jrugwtbn46avgfj8tnyxicpukntkiv9qn6pr5dmh2nwbxkwuy-dnce6rvtd3bnrqccjjuaw1ugw7nme6lwxgaz1dif8umy2yon1syu-glivtullo5ugpk-rx6a85lxzwqv2qdq5fo-yzbd2yb399zuwlup1z4.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/mjnsliwiuvsco9jrugwtbn46avgfj8tnyxicpukntkiv9qn6pr5dmh2nwbxkwuy-dnce6rvtd3bnrqccjjuaw1ugw7nme6lwxgaz1dif8umy2yon1syu-glivtullo5ugpk-rx6a85lxzwqv2qdq5fo-yzbd2yb399zuwlup1z4.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/mjnsliwiuvsco9jrugwtbn46avgfj8tnyxicpukntkiv9qn6pr5dmh2nwbxkwuy-dnce6rvtd3bnrqccjjuaw1ugw7nme6lwxgaz1dif8umy2yon1syu-glivtullo5ugpk-rx6a85lxzwqv2qdq5fo-yzbd2yb399zuwlup1z4.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":2459,"url":"https:\/\/vkrastev1blog.com\/2026\/09\/23\/%d0%b7%d1%8a%d0%b1%d0%bd%d0%b8%d1%82%d0%b5-%d0%b8%d0%bc%d0%bf%d0%bb%d0%b0%d0%bd%d1%82%d0%b8-%d0%b4%d0%be%d0%ba%d1%8a%d0%b4%d0%b5-%d0%b5-%d0%b4%d0%be%d1%81%d1%82%d0%b8%d0%b3%d0%bd%d0%b0%d0%bb\/","url_meta":{"origin":2308,"position":3},"title":"\u0422\u0456\u0441 \u0438\u043c\u043f\u043b\u0430\u043d\u0442\u0430\u0442\u044b \u2013 \u0493\u044b\u043b\u044b\u043c 2026 \u0436\u044b\u043b\u044b \u049b\u0430\u043d\u0448\u0430\u043b\u044b\u049b\u0442\u044b \u0434\u04d9\u0440\u0435\u0436\u0435\u0433\u0435 \u0436\u0435\u0442\u0442\u0456","author":"vkrastev2014","date":"23.09.2026","format":false,"excerpt":"\u0417\u044a\u0431\u043d\u0438\u0442\u0435 \u0438\u043c\u043f\u043b\u0430\u043d\u0442\u0438 \u2013 \u0434\u043e\u043a\u044a\u0434\u0435 \u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0430\u043b\u0430 \u043d\u0430\u0443\u043a\u0430\u0442\u0430 \u043f\u0440\u0435\u0437 2026 \u0433\u043e\u0434\u0438\u043d\u0430 \u041e\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u0447\u0435\u043d \u0437\u0430\u043c\u0435\u0441\u0442\u0438\u0442\u0435\u043b \u043a\u044a\u043c \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d \u0437\u044a\u0431 \u0417\u0430\u0433\u0443\u0431\u0430\u0442\u0430 \u043d\u0430 \u0437\u044a\u0431 \u0434\u043d\u0435\u0441 \u0432\u0435\u0447\u0435 \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0432\u0430 \u043d\u0435\u043f\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u043f\u043e\u0434\u0432\u0438\u0436\u043d\u0430 \u043f\u0440\u043e\u0442\u0435\u0437\u0430 \u0438\u043b\u0438 \u0438\u0437\u043f\u0438\u043b\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u044a\u0441\u0435\u0434\u043d\u0438 \u0437\u044a\u0431\u0438. \u0421\u044a\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u0442\u0430 \u0438\u043c\u043f\u043b\u0430\u043d\u0442\u043e\u043b\u043e\u0433\u0438\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430 \u043b\u0438\u043f\u0441\u0432\u0430\u0449\u0438\u044f\u0442 \u0437\u044a\u0431 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0437\u0430\u043c\u0435\u043d\u0435\u043d \u0441 \u0438\u0437\u043a\u0443\u0441\u0442\u0432\u0435\u043d \u043a\u043e\u0440\u0435\u043d, \u043a\u043e\u0439\u0442\u043e \u0441\u0435 \u0441\u0432\u044a\u0440\u0437\u0432\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e\u2026","rel":"","context":"In &quot;\u0416\u0430\u0441\u0430\u043d\u0434\u044b \u043e\u0440\u0433\u0430\u043d\u0434\u0430\u0440 - \u0493\u044b\u043b\u044b\u043c 2026 \u0436\u044b\u043b\u044b \u049b\u0430\u043d\u0448\u0430\u043b\u044b\u049b\u0442\u044b \u0430\u043b\u0493\u0430 \u0436\u044b\u043b\u0436\u044b\u0434\u044b&quot;","block_context":{"text":"\u0416\u0430\u0441\u0430\u043d\u0434\u044b \u043e\u0440\u0433\u0430\u043d\u0434\u0430\u0440 - \u0493\u044b\u043b\u044b\u043c 2026 \u0436\u044b\u043b\u044b \u049b\u0430\u043d\u0448\u0430\u043b\u044b\u049b\u0442\u044b \u0430\u043b\u0493\u0430 \u0436\u044b\u043b\u0436\u044b\u0434\u044b","link":"https:\/\/vkrastev1blog.com\/category\/%d0%b6%d0%b0%d1%81%d0%b0%d0%bd%d0%b4%d1%8b\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/09\/d0b8d0bcd0bfd0bbd0b0d0bdd182d0b8.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/09\/d0b8d0bcd0bfd0bbd0b0d0bdd182d0b8.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/09\/d0b8d0bcd0bfd0bbd0b0d0bdd182d0b8.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/09\/d0b8d0bcd0bfd0bbd0b0d0bdd182d0b8.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":1820,"url":"https:\/\/vkrastev1blog.com\/2025\/02\/05\/%d0%b1%d0%be%d0%b1-%d0%b5%d0%bd%d0%b4%d1%80%d1%8e%d1%81-%d0%b7%d0%b0-%d0%b1%d0%b8%d0%b7%d0%bd%d0%b5%d1%81%d0%b0-amway\/","url_meta":{"origin":2308,"position":4},"title":"\u0411\u043e\u0431 \u042d\u043d\u0434\u0440\u044e\u0441\u0442\u0456\u04a3 \u0442\u0430\u0440\u0438\u0445\u044b \u0436\u04d9\u043d\u0435 \u043e\u043d\u044b\u04a3 Amway \u0431\u0438\u0437\u043d\u0435\u0441\u0456 \u0442\u0443\u0440\u0430\u043b\u044b \u0442\u04af\u0441\u0456\u043d\u0456\u0433\u0456","author":"vkrastev2014","date":"05.02.2025","format":false,"excerpt":"\u0418\u0441\u0442\u043e\u0440\u0438\u044f\u0442\u0430 \u043d\u0430 \u0411\u043e\u0431 \u0415\u043d\u0434\u0440\u044e\u0441 \u0438 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435\u0442\u043e \u043c\u0443 \u0437\u0430 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 Amway \u041d\u0430 \u0441\u043d\u0438\u043c\u043a\u0430\u0442\u0430 \u0411\u043e\u0431 \u0415\u043d\u0434\u0440\u044e\u0441 \u2013 \u043f\u043e\u0432\u0435\u0447\u0435 \u043e\u0442 50 \u0433\u043e\u0434\u0438\u043d\u0438 \u043e\u043f\u0438\u0442 \u0432 Amway, \u0437\u0430\u0435\u0434\u043d\u043e \u0441\u044a\u0441 \u0441\u044a\u043f\u0440\u0443\u0433\u0430\u0442\u0430 \u0441\u0438 \u0422\u0435\u0440\u0438 \u0415\u043d\u0434\u0440\u044e\u0441 \u0418\u0441\u0442\u043e\u0440\u0438\u044f\u0442\u0430 \u043d\u0430 \u0435\u0434\u0438\u043d \u0441\u0435\u043c\u0435\u0435\u043d \u0431\u0438\u0437\u043d\u0435\u0441, \u0438\u0437\u0433\u0440\u0430\u0434\u0435\u043d \u0441 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u0441\u0442\u0432\u043e, \u0432\u044f\u0440\u0430 \u0438 \u0434\u044a\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u0430 \u0432\u0438\u0437\u0438\u044f \u041a\u043e\u0433\u0430\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u043c \u0437\u0430 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 Amway \u0438 \u0437\u0430 \u0445\u043e\u0440\u0430\u0442\u0430, \u043a\u043e\u0438\u0442\u043e \u0441\u0430\u2026","rel":"","context":"In &quot;Amway \u0431\u0438\u0437\u043d\u0435\u0441\u0456 - Amway \u0431\u0438\u0437\u043d\u0435\u0441\u0456&quot;","block_context":{"text":"Amway \u0431\u0438\u0437\u043d\u0435\u0441\u0456 - Amway \u0431\u0438\u0437\u043d\u0435\u0441\u0456","link":"https:\/\/vkrastev1blog.com\/category\/amway-%d0%b1%d0%b8%d0%b7%d0%bd%d0%b5%d1%81%d1%96-amway\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/velislav-krastev-blog-6ae4bdb1e7dd1.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/velislav-krastev-blog-6ae4bdb1e7dd1.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/velislav-krastev-blog-6ae4bdb1e7dd1.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/10\/velislav-krastev-blog-6ae4bdb1e7dd1.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":2470,"url":"https:\/\/vkrastev1blog.com\/2026\/09\/23\/%d0%b8%d0%b7%d0%ba%d1%83%d1%81%d1%82%d0%b2%d0%b5%d0%bd%d0%b0%d1%82%d0%b0-%d0%ba%d1%80%d1%8a%d0%b2-%d0%b4%d0%be%d0%ba%d1%8a%d0%b4%d0%b5-%d0%b5-%d0%b4%d0%be%d1%81%d1%82%d0%b8%d0%b3%d0%bd%d0%b0\/","url_meta":{"origin":2308,"position":5},"title":"\u0416\u0430\u0441\u0430\u043d\u0434\u044b \u049b\u0430\u043d \u2013 2026 \u0436\u044b\u043b\u044b \u0493\u044b\u043b\u044b\u043c \u049b\u0430\u043d\u0448\u0430\u043b\u044b\u049b\u0442\u044b \u0434\u04d9\u0440\u0435\u0436\u0435\u0433\u0435 \u0436\u0435\u0442\u0442\u0456","author":"vkrastev2014","date":"23.09.2026","format":false,"excerpt":"\u0418\u0437\u043a\u0443\u0441\u0442\u0432\u0435\u043d\u0430\u0442\u0430 \u043a\u0440\u044a\u0432 \u2013 \u0434\u043e\u043a\u044a\u0434\u0435 \u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0430\u043b\u0430 \u043d\u0430\u0443\u043a\u0430\u0442\u0430 \u043f\u0440\u0435\u0437 2026 \u0433\u043e\u0434\u0438\u043d\u0430 \u0411\u0438\u043e\u0440\u0435\u0430\u043a\u0442\u043e\u0440 \u0437\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043d\u0430 \u043b\u0430\u0431\u043e\u0440\u0430\u0442\u043e\u0440\u043d\u043e \u043e\u0442\u0433\u043b\u0435\u0434\u0430\u043d\u0438 \u0447\u043e\u0432\u0435\u0448\u043a\u0438 \u0435\u0440\u0438\u0442\u0440\u043e\u0446\u0438\u0442\u0438. \u0412 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0430\u043d\u0430 \u0441\u0440\u0435\u0434\u0430 \u0441\u0442\u0432\u043e\u043b\u043e\u0432\u0438 \u043a\u043b\u0435\u0442\u043a\u0438 \u0441\u0435 \u0440\u0430\u0437\u043c\u043d\u043e\u0436\u0430\u0432\u0430\u0442 \u0438 \u0434\u0438\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0440\u0430\u0442 \u0434\u043e \u0447\u0435\u0440\u0432\u0435\u043d\u0438 \u043a\u0440\u044a\u0432\u043d\u0438 \u043a\u043b\u0435\u0442\u043a\u0438. \u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u0442\u0430 \u0432\u0441\u0435 \u043e\u0449\u0435 \u0435 \u0432 \u043a\u043b\u0438\u043d\u0438\u0447\u043d\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438 \u043d\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0432\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043d\u0430 \u0446\u044f\u043b\u0430 \u0438\u0437\u043a\u0443\u0441\u0442\u0432\u0435\u043d\u0430 \u043a\u0440\u044a\u0432. \u041c\u043e\u0436\u0435 \u043b\u0438 \u0435\u0434\u0438\u043d \u0434\u0435\u043d\u2026","rel":"","context":"In &quot;\u0416\u0430\u0441\u0430\u043d\u0434\u044b \u043e\u0440\u0433\u0430\u043d\u0434\u0430\u0440 - \u0493\u044b\u043b\u044b\u043c 2026 \u0436\u044b\u043b\u044b \u049b\u0430\u043d\u0448\u0430\u043b\u044b\u049b\u0442\u044b \u0430\u043b\u0493\u0430 \u0436\u044b\u043b\u0436\u044b\u0434\u044b&quot;","block_context":{"text":"\u0416\u0430\u0441\u0430\u043d\u0434\u044b \u043e\u0440\u0433\u0430\u043d\u0434\u0430\u0440 - \u0493\u044b\u043b\u044b\u043c 2026 \u0436\u044b\u043b\u044b \u049b\u0430\u043d\u0448\u0430\u043b\u044b\u049b\u0442\u044b \u0430\u043b\u0493\u0430 \u0436\u044b\u043b\u0436\u044b\u0434\u044b","link":"https:\/\/vkrastev1blog.com\/category\/%d0%b6%d0%b0%d1%81%d0%b0%d0%bd%d0%b4%d1%8b\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/09\/d0bad180d18ad0b2.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/09\/d0bad180d18ad0b2.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/09\/d0bad180d18ad0b2.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/09\/d0bad180d18ad0b2.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/vkrastev1blog.com\/wp-content\/uploads\/2026\/09\/d0bad180d18ad0b2.jpg?resize=1050%2C600&ssl=1 3x"},"classes":[]}],"jetpack_likes_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/posts\/2308","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/users\/65283547"}],"replies":[{"embeddable":true,"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/comments?post=2308"}],"version-history":[{"count":99,"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/posts\/2308\/revisions"}],"predecessor-version":[{"id":3351,"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/posts\/2308\/revisions\/3351"}],"wp:attachment":[{"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/media?parent=2308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/categories?post=2308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vkrastev1blog.com\/wp-json\/wp\/v2\/tags?post=2308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}