🐾 CatOPDS Browser
Cover
Effective Java πŸ‘€ Π‘Π»ΠΎΡ… Π”ΠΆΠΎΡˆΡƒΠ°
Если Π±Ρ‹ сослуТивСц сказал Π²Π°ΠΌ: Β«Π‘ΡƒΠΏΡ€ΡƒΠ³Π° моя этим Π²Π΅Ρ‡Π΅Ρ€ΠΎΠΌ сСгодня ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Π² Π΄ΠΎΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΎΠ±Π΅Π΄. Π’Ρ‹ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡˆΡŒ?Β», Ρ‚ΠΎ Π²Π°ΠΌ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ, вСроятно, ΠΏΡ€ΠΈΡˆΠ»ΠΈ Π±Ρ‹ сразу Ρ‚Ρ€ΠΈ мысли: Π²-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, Ρ‡Ρ‚ΠΎ вас пригласили Π½Π° ΠΎΠ±Π΅Π΄; Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ваш сослуТивСц явно иностранСц; Π½Ρƒ ΠΈ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΎΠ·Π°Π΄Π°Ρ‡Π΅Π½Ρ‹. Если Π²Ρ‹ сами ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈΠ·ΡƒΡ‡Π°Π»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ язык, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Ρ‚ΠΎ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ: ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ структурирован ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌΡ‹ΠΉ язык (Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ°), ΠΊΠ°ΠΊ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π²Π΅Ρ‰ΠΈ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ (ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ), Π° Ρ‚Π°ΠΊΠΆΠ΅ общСпринятыС ΠΈ эффСктивныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π° ΠΎ повсСднСвных Π²Π΅Ρ‰Π°Ρ… (лСксичСскиС ΠΎΠ±ΠΎΡ€ΠΎΡ‚Ρ‹). Π’ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΠΈ слишком часто ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ лишь ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… ΠΈΠ· этих Π²Π΅Ρ‰Π΅ΠΉ, ΠΈ Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ носитСли языка постоянно давятся ΠΎΡ‚ смСха, Π²Ρ‹ΡΠ»ΡƒΡˆΠΈΠ²Π°Ρ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вас поняли. Π‘ языком программирования Π΄Π΅Π»ΠΎ обстоит практичСски Ρ‚Π°ΠΊ ΠΆΠ΅. Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡΡƒΡ‚ΡŒ языка: являСтся ΠΎΠ½ алгоритмичСским, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ языка: ΠΊΠ°ΠΊΠΈΠ΅ структуры Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ возмоТности ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ стандартныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с общСпринятыми ΠΈ эффСктивными способами структурирования вашСго ΠΊΠΎΠ΄Π°. Π’ ΠΊΠ½ΠΈΠ³Π°Ρ…, посвящённых языкам программирования, часто ΠΎΡΠ²Π΅Ρ‰Π°ΡŽΡ‚ΡΡ лишь ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° вопроса, ΠΏΡ€ΠΈΡ‘ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с языком Ссли ΠΈ ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ, Ρ‚ΠΎ лишь ΠΊΡ€Π°Ρ‚ΠΊΠΎ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это происходит ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… Π²Π΅Ρ‰Π°Ρ… ΠΏΠΈΡΠ°Ρ‚ΡŒ нСсколько ΠΏΡ€ΠΎΡ‰Π΅. Π“Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ β€” это свойства самого языка, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ способ Π΅Π³ΠΎ использования Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΠ΅Ρ‚ Π³Ρ€ΡƒΠΏΠΏΡƒ людСй, которая этим языком ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. НапримСр, язык программирования Java β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык с Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΌ наслСдованиСм, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ (ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° дСйствия) ΡΡ‚ΠΈΠ»ΡŒ программирования. Π•Π³ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ графичСских дисплССв, Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΡΠ΅Ρ‚ΡŒΡŽ, распрСдСлённыС вычислСния ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ. Однако ΠΊΠ°ΠΊ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот язык Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅? Π•ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ аспСкт. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ произнСсённых Ρ„Ρ€Π°Π·, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΊΠ½ΠΈΠ³ ΠΈ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ нСдостаточно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ эффСктивно Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ понят Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ людьми. НуТно Π΅Ρ‰Ρ‘ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ А ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ дСсяток Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Из этих дСсяти сСмь окаТутся Π½Π΅ΡƒΠΊΠ»ΡŽΠΆΠΈΠΌΠΈ, нСэффСктивными ΠΈΠ»ΠΈ Π·Π°ΠΏΡƒΡ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ читатСля. Какой ΠΆΠ΅ ΠΈΠ· ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ Ρ‚Ρ€Ρ‘Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² вСроятнСС всСго Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ потрСбуСтся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π³ΠΎΠ΄Ρƒ для Π½ΠΎΠ²ΠΎΠΉ вСрсии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡Ρƒ А? Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ½ΠΈΠ³, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ языка программирования Java, Π² Ρ‚ΠΎΠΌ числС ΠΊΠ½ΠΈΠ³ΠΈ Β«The Javaβ„’ Programming LanguageΒ» Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² Arnold, Gosling ΠΈ Holmes [Arnold05] ΠΈΠ»ΠΈ Β«The Javaβ„’ Language Specif i cationΒ» Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² Gosling, Joy, Bracha ΠΈ вашСго ΠΏΠΎΠΊΠΎΡ€Π½ΠΎΠ³ΠΎ слуги [JLS]. Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ Π΅ΡΡ‚ΡŒ мноТСство ΠΊΠ½ΠΈΠ³, посвящённых Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹ΠΌ интСрфСйсам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ связаны с языком Java. Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° посвящСна Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ Ρ‚Π΅ΠΌΠ΅: общСпринятым ΠΈ эффСктивным ΠΏΡ€ΠΈΡ‘ΠΌΠ°ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с языком Java. Π”ΠΆΠΎΡˆΡƒΠ° Π‘Π»ΠΎΡ… (Joshua Bloch) ΠΏΡ€ΠΎΠ²Ρ‘Π» нСсколько Π»Π΅Ρ‚ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Sun Microsystems, работая с языком программирования Java, занимаясь Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡ‡Ρ‘Π» большоС количСство ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, написанного ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ людьми, Π² Ρ‚ΠΎΠΌ числС ΠΈ ΠΌΠ½ΠΎΠΉ. Π—Π΄Π΅ΡΡŒ ΠΆΠ΅, привСдя Π² Π½Π΅ΠΊΡƒΡŽ систСму, ΠΎΠ½ Π΄Π°Ρ‘Ρ‚ Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ совСты ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π» Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ смогли ΠΏΠΎΠ½ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ люди, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡ доставляли мСньшС Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ Π±ΠΎΠ»ΠΈ ΠΈ Π΄Π°ΠΆΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваши ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Ρ‹Π»ΠΈ приятными, элСгантными ΠΈ красивыми.Π“ΠΎΠ΄ издания: 2017Π€ΠΎΡ€ΠΌΠ°Ρ‚: pdfΠ―Π·Ρ‹ΠΊ: ruΠ Π°Π·ΠΌΠ΅Ρ€: 1599 KbΠ‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π½ΠΈΠΉ: 1537
PDF ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ / Π‘Π΅Ρ€ΠΈΠΈ