Java Portal | ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΠΊΠ°Π½Π°Π»Ρ ΠΈ ΠΏΠΎΠ³ΡΡΠ·ΠΈΡΠ΅ΡΡ Π² ΠΌΠΈΡ Π΄Π»Ρ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π‘Π²ΡΠ·Ρ: @devmangx Π ΠΠ: https://clck.ru/3H4WUg
Show moreπ Analytical overview of Telegram channel Java Portal | ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Channel Java Portal | ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (@java_iibrary) in the Russian language segment is an active participant. Currently, the community unites 11 768 subscribers, ranking 10 256 in the Technologies & Applications category and 54 543 in the Russia region.
π Audience metrics and dynamics
Since its creation on Π½Π΅Π²ΡΠ΄ΠΎΠΌΠΎ, the project has demonstrated rapid growth, gathering an audience of 11 768 subscribers.
According to the latest data from 29 August, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -144 over the last 30 days and by -1 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 10.09%. Within the first 24 hours after publication, content typically collects 5.78% reactions from the total number of subscribers.
- Post reach: On average, each post receives 1 188 views. Within the first day, a publication typically gains 681 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 4.
- Thematic interests: Content is focused on key topics such as boot, string, void, Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, resttemplate.
π Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
βΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΠΊΠ°Π½Π°Π»Ρ ΠΈ ΠΏΠΎΠ³ΡΡΠ·ΠΈΡΠ΅ΡΡ Π² ΠΌΠΈΡ Π΄Π»Ρ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°
Π‘Π²ΡΠ·Ρ: @devmangx
Π ΠΠ: https://clck.ru/3H4WUgβ
Thanks to the high frequency of updates (latest data received on 30 August, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
tableswitch
> lookupswitch
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· Π½ΠΈΡ
, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ΅ΡΠ°Π΅Ρ, ΠΊΠ°ΠΊΡΡ Π²ΡΠ±ΡΠ°ΡΡ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ tableswitch:
public String tableSwitch() {
return switch (value) {
case 1 -> "one";
case 2 -> "two";
case 4 -> "four";
default -> "other";
};
}
Π Π²ΠΎΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ lookupswitch:
public String lookupSwitch() {
return switch (value) {
case 1 -> "one";
case 10 -> "ten";
case 100 -> "one hundred";
default -> "other";
};
}
ΠΠΈΠ΄ΠΈΡΡ ΡΠ°Π·Π½ΠΈΡΡ?
π β Π΄Π°. Π²ΠΈΠΆΡ
π₯ β Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ
π Java PortalFileSystems.newFileSystem(Path) ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π΅ΡΡ Π² JDK 13 (2019), Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΠΎ ΡΠΈΡ
ΠΏΠΎΡ ΠΎ Π½ΡΠΌ Π½Π΅ Π·Π½Π°ΡΡ
ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ ΡΠ°ΠΉΠ»Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ZIP-Π°ΡΡ
ΠΈΠ²Π°, ΠΊΠ°ΠΊ ΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΡΠΈΠΌΠ΅Ρ Java-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
void main() {
Path src = Path.of("/opt/jdk-24/lib/src.zip");
try (FileSystem fs = FileSystems.newFileSystem(src)) {
for (Path root : fs.getRootDirectories()) {
try (Stream<Path> walk = Files.walk(root, 1)) {
walk.sorted().forEach(IO::println);
}
}
}
}
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ:
/ /java.base /java.compiler /java.datatransfer /java.desktop /java.instrument /java.logging ... /jdk.unsupported /jdk.unsupported.desktop /jdk.xml.dom /jdk.zipfsΠΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΊΠΎΠ΄ Ρ URI ΠΈ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡ Π΅ΠΌΡ:
URI src = URI.create("jar:file:///opt/jdk-24/lib/src.zip");
try (FileSystem fs = FileSystems.newFileSystem(src, Map.of())) {
...
}
π Java PortalLinkedList (Π΄Π²ΡΡΠ²ΡΠ·Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ) Π² Java?
> Π‘ΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ·Π»ΠΎΠ², Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ·Π΅Π» ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΠ·Π»Ρ
> ΠΡΡΡΡΡΠ΅ Π²ΡΡΠ°Π²ΠΊΠΈ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ β O(1), Π΅ΡΠ»ΠΈ Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° Π½ΡΠΆΠ½ΡΠΉ ΡΠ·Π΅Π»
> ΠΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ β O(n), Ρ.ΠΊ. Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ
π§ ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
> Π§Π°ΡΡΡΠ΅ Π²ΡΡΠ°Π²ΠΊΠΈ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ β ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² Π½Π°ΡΠ°Π»Π΅ ΠΈΠ»ΠΈ Π² ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ ΡΠΏΠΈΡΠΊΠ°
> Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ ΠΈ Π΄Π΅ΠΊΠΎΠ² β ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΠΈ Π·Π°Π±ΠΈΡΠ°ΡΡ ΠΈΠ· Π½Π°ΡΠ°Π»Π°
> Π Π°Π±ΠΎΡΠ° Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΡΠΌΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
, Π³Π΄Π΅ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ (ΠΊΠ°ΠΊ Π² ArrayList) ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΡΠΎΠ³ΠΈΠΌ. LinkedList Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
> Undo/Redo-ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°Ρ
, Π³Π΄Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈΠ· ΠΈΡΡΠΎΡΠΈΠΈ
π Java Portal@RestController
> @RequestBody
> @PathVariable
> @ResponseStatus
Spring REST ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΎΡΡΠΎ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎ π§βπ»
π Java Portalπ± GitHub β t.me/github_ready π©βπ» Python β t.me/python_ready π©βπ» Java β t.me/java_ready π©βπ» ΠΡΡ IT β t.me/it_ready π©βπ» C/C++ β https://t.me/cpp_ready πΌοΈ DevOps β t.me/devops_ready π€ Π₯Π°ΠΊΠΈΠ½Π³ & ΠΠ β t.me/hacking_ready π©βπ» C# & Unity β t.me/csharp_ready π©βπ» Linux β t.me/linux_ready π©βπ» Bash & Shell β t.me/bash_ready π©βπ» ΠΠ΅ΠΉΡΠΎΡΠ΅ΡΠΈ β t.me/neuro_ready π± JavaScript β t.me/javascript_ready π©βπ» Frontend β t.me/frontend_ready π IT ΠΠ½ΠΈΠ³ΠΈ β t.me/books_ready π₯ ΠΠ°Π·Ρ ΠΠ°Π½Π½ΡΡ & SQL β t.me/sql_ready π©βπ» Backend β t.me/backend_ready π₯ Design β t.me/design_readyπ ΠΠ°ΠΉΠ΄Ρ, ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΠΈ, Π·Π°Π΄Π°ΡΠΈ, ΡΠ΅ΡΡΡΡΡ ΠΈ ΡΠΈΡΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ!
String question;
to: be: or: not: that: is: the: question = "What?";
out.println(question);
> ΠΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ
> ΠΠ΅ΡΠΊΠΈ (to:, be:, or: ΠΈ Ρ.Π΄.) ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² break ΠΈΠ»ΠΈ continue
ΠΡΠ²ΠΎΠ΄:
What?
ΠΠ½ΠΎΠ³Π΄Π° Java Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ Ρ Π½Π°ΠΌΠΈ ΡΡΠΈΡ
Π°ΠΌΠΈ π«’
π Java Portal== β Π‘ΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ Π°Π΄ΡΠ΅ΡΠ° Π² ΠΏΠ°ΠΌΡΡΠΈ
2. .equals() β Π‘ΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΡΠΎΠΊ
3. .compareTo() β ΠΠ΅ΠΊΡΠΈΠΊΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅
4. .equalsIgnoreCase() β Π‘ΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ Π±Π΅Π· ΡΡΡΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°
> ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΡΡ π
π Java Portaljava.text.ListFormat. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΅Π³ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠΎΠΊ Π² ΡΠ΄ΠΎΠ±ΠΎΡΠΈΡΠ°Π΅ΠΌΡΠΉ Π²ΠΈΠ΄. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΡ ΡΠ°ΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°:
final List<String> days = List.of("Mon", "Wed", "Fri");
void main() {
print(Type.STANDARD);
print(Type.OR);
print(Type.UNIT);
}
private void print(Type type) {
print(type, Style.FULL);
print(type, Style.SHORT);
print(type, Style.NARROW);
}
private void print(Type type, Style style) {
var format = ListFormat.getInstance(Locale.US, type, style);
var result = format.format(days);
System.out.printf("%-8s + %-7s: %s%n", type, style, result);
}
ΠΡΠ²ΠΎΠ΄:
STANDARD + FULL : Mon, Wed, and Fri
STANDARD + SHORT : Mon, Wed, & Fri
STANDARD + NARROW : Mon, Wed, Fri
OR + FULL : Mon, Wed, or Fri
OR + SHORT : Mon, Wed, or Fri
OR + NARROW : Mon, Wed, or Fri
UNIT + FULL : Mon, Wed, Fri
UNIT + SHORT : Mon, Wed, Fri
UNIT + NARROW : Mon Wed Fri
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ListFormat Π΄Π»Ρ ΡΠ°Π·Π±ΠΎΡΠ° ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠΏΠΈΡΠΎΠΊ
Π‘ΡΠ°Π²Ρ Π»Π°ΠΉΠΊ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ πͺ
π Java Portal1. ΠΠ°ΠΊΠΎΠ²Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²? ΠΡΠ²Π΅Ρ: > ΠΠ΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΠΌΠΈ > Π‘Π΅ΡΠ²ΠΈΡΡ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°ΡΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° > ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ (DDD) > ΠΡΠ³ΠΊΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, REST, gRPC) > ΠΠ·ΠΎΠ»ΡΡΠΈΡ ΡΠ±ΠΎΠ΅Π² > Π£Π΄ΠΎΠ±Π½Ρ Π΄Π»Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ 2. Π§Π΅ΠΌ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ? ΠΡΠ²Π΅Ρ: > ΠΠΎΠ½ΠΎΠ»ΠΈΡ: Π΅Π΄ΠΈΠ½Π°Ρ ΠΊΠΎΠ΄ΠΎΠ²Π°Ρ Π±Π°Π·Π°, ΠΆΡΡΡΠΊΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ. > ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ: ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΡΠ»Π°Π±ΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅, ΡΠ°Π·Π²ΡΡΡΡΠ²Π°ΡΡΡΡ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΡΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ. 3. ΠΠ°ΠΊΠΎΠ²Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²? ΠΡΠ²Π΅Ρ: > ΠΡΡΡΠ°Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ > ΠΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΠΎΠ΅ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Π½Π° ΡΡΠ½ΠΎΠΊ > ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ > ΠΡΡΡΠ°Ρ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ ΠΊ ΡΠ±ΠΎΡΠΌ > ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ 4. ΠΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ? ΠΡΠ²Π΅Ρ: > Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ > ΠΠ°Π΄Π΅ΡΠΆΠΊΠΈ Π² ΡΠ΅ΡΠΈ ΠΈ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ Π½Π° ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ > Π‘ΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ > ΠΡΠ»Π°Π΄ΠΊΠ° ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ > Π Π°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ 5. ΠΠ°ΠΊ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ? ΠΡΠ²Π΅Ρ: > Π‘ΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ: ΡΠ΅ΡΠ΅Π· REST, gRPC > ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ: ΡΠ΅ΡΠ΅Π· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ (RabbitMQ, Kafka) 6. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ service discovery Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°Ρ ? ΠΡΠ²Π΅Ρ: > ΠΡΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΡ Π½Π°Ρ ΠΎΠ΄ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π° Π² ΡΠ΅ΡΠΈ. > ΠΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅ Consul, Eureka, DNS Kubernetes. 7. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ API Gateway ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ Π½ΡΠΆΠ΅Π½? ΠΡΠ²Π΅Ρ: > API Gateway β ΡΡΠΎ Π΅Π΄ΠΈΠ½Π°Ρ ΡΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π° Π² ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ½ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΎΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ ΠΎΡΠ²Π΅ΡΠΎΠ² ΠΎΡ ΡΠ°Π·Π½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². > ΠΡΠΈΠΌΠ΅ΡΡ: Kong, Zuul, NGINX, Spring Cloud Gateway. 8. ΠΠ°ΠΊ Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ? ΠΡΠ²Π΅Ρ: > ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ²ΠΎΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ (ΠΏΠΎΠ΄Ρ ΠΎΠ΄ βΠΎΠ΄Π½Π° Π±Π°Π·Π° Π½Π° ΡΠ΅ΡΠ²ΠΈΡβ). > ΠΠ»Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠΎΠ±ΡΡΠΈΠΉΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈΠ»ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ½ ΡΠ°Π³ΠΈ. 9. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½ Saga? ΠΡΠ²Π΅Ρ: > Saga β ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. > ΠΡΠ»ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄Π»Ρ ΠΎΡΠΊΠ°ΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. 10. ΠΠ°ΠΊΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²? ΠΡΠ²Π΅Ρ: > Π―Π·ΡΠΊΠΈ: Java (Spring Boot), Node.js, Go, Python > Π‘Π±ΠΎΡΠΊΠ°: Maven, Gradle > ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·Π°ΡΠΈΡ: Docker > ΠΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ: Kubernetesπ Java Portal
void main() {
do onlyOnce: {
IO.println("ΠΠ΄ΠΈΠ½ ΡΠ°Π·?");
break onlyOnce;
} while (true);
}
ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ:
ΠΠ΄ΠΈΠ½ ΡΠ°Π·?
ΠΠ΄ΠΈΠ½ ΡΠ°Π·?
ΠΠ΄ΠΈΠ½ ΡΠ°Π·?
ΠΠ΄ΠΈΠ½ ΡΠ°Π·?
ΠΠ΄ΠΈΠ½ ΡΠ°Π·?
...
ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌΡ ΡΠΈΠΊΠ»Ρ π
π Java Portal