ISBN: 978-5-04-207668-8 · Код: ITD000000001405476 · Издательство: ООО "Издательство "Эксмо"








Надежный код на Java с помощью инструментов статического анализа. • Как писать лучшие программы на Java. • Как распознавать распространенные ошибки и избегать их. • Как экономить время на отладке и тестировании. • Как использовать статические анализаторы для улучшения кода. Даже небольшие ошибки при разработке могут стать серьезными проблемами в эксплуатации продукта. Лучше выявлять и исправлять их до того, как они приведут к серьезным последствиям! Прольем свет на самые частые баги и покажем, как их избежать, что надо сделать для распознавания ошибок и антипаттернов, как провести эффективную отладку и тестирование. «Разбор полетов» по каждой ошибке: • Иллюстративный пример кода. • Объяснение причин ошибки. • Раздел «Как этого избежать». Об авторе: Тагир ВАЛЕЕВ — технический руководитель компании JetBrains и чемпион Java (2020 г.). Его основной исследовательский интерес — статический анализ и рефакторинг кода. Разработал множество проверок кода для IntelliJ IDEA и FindBugs.
{"details": {"LINK": "https://cdn.eksmo.ru/v2/ITD000000001405476/PDF/ITD000000001405476.pdf", "MTIME": "2025-09-03 15:16:27"}, "variant": "PREVIEW"}{"details": {"LINK": "https://cdn.eksmo.ru/v2/ITD000000001405476/PDF/ITD000000001405476_TOC.pdf", "MTIME": "2025-09-03 18:15:44"}, "variant": "TOC"}AGE_GROUP: Взрослая группаAUTHOR[]: Валеев ТагирCLASSIFICATOR: 365CODE_TNVED: 4901990000DEPARTMENT: Группа ИТ-литературыDIVID: 120 - Редакция № 5DOP_REKVIZIT.PEREVODCHIKI[]: Краснянская Виктория ВикторовнаEKSMO_RDC: ЭксмоFOLDER: Книжная продукция (ЭКСМО)FORMAT: 70x100/16IZDAT_BRAND: БОМБОРАLAST_STANDART: 5MEDIA: НетНосителяNICHE: ИНФОРМАТИКА. КОМПЬЮТЕРНАЯ ЛИТЕРАТУРА. ЭЛЕКТРОНИКАNOMGROUP: КнижнаяПродукцияPAPER: Бумага офсетная 72/80PEREPLET_TYPE: 7БЦPEREPLET_TYPE_OLD: 7БЦPRIZNAK_ZV: НетPRODUCT_VID: КнигаPROIZ[]: 100 Java mistakes and how to avoid themPROIZ[]: 100 ошибок Java и как их избежатьPROIZ[]: 100 ошибок Java и как их избежатьPROIZ[]: 100 ошибок Java и как их избежатьPROIZ[]: 100 ошибок Java и как их избежатьPROIZ[]: 100 ошибок Java и как их избежатьPROIZ[]: 100 ошибок Java и как их избежатьPROIZ[]: 100 ошибок Java и как их избежатьPROIZ[]: 100 ошибок Java и как их избежатьPROIZ[]: 100 ошибок Java и как их избежатьPROIZ[]: 100 ошибок JavaPUBLISHER: ООО "Издательство "Эксмо"SERIE: Manning: профессиональные книги для ИТ-специалистовSGMNT: ПРОФЕССИОНАЛЬНАЯ И НАУЧНАЯ ЛИТЕРАТУРА. ДЕЛОВАЯ ЛИТЕРАТУРА (ПРЛ)SUBJECT: ПОПУЛЯРНАЯ КОМПЬЮТЕРНАЯ ЛИТЕРАТУРАTARGET: Производственно-практическое изданиеTIP_KORESHKA: ПолукруглыйVID_PROIZV: ВпервыеVID_SKREPLENIYA: ШитьеНиткойVOZRASTNOE_OGRANICHENIE: 12+| AGE_GROUP | {
"GUID": "08501aa5-3ee0-11e2-82d6-5ef3fc5021a7",
"NAME": "Взрослая группа"
} |
|---|---|
| ANNOTACIA | |
| AUTHOR | [
{
"CODE": "ITD063475",
"GUID": "f020b608-3935-11ef-80d8-0050569a365d",
"NAME": "Валеев Тагир",
"SURNAME": "Валеев",
"IS_GROUP": "false",
"PSEVDONIM": false,
"DATE_BIRTH": "0000-00-00 00:00:00",
"DATE_DEATH": "0000-00-00 00:00:00",
"FIRST_NAME": "Тагир",
"IS_PISATEL": "true",
"IS_HUDOJNIK": "false",
"SECOND_NAME": "",
"IS_PEREVODCHIK": "false"
}
] |
| AUTHOR_COVER | Тагир Валеев |
| AUTHOR_FOR_PRICE | Валеев Т. |
| BARCODE | [ "14600196695566", "9785042076688" ] |
| BARCODE_DETAIL | [
{
"BARCODE": "14600196695566",
"STANDART": 5,
"ITEM_TYPE": {
"GUID": "b3ca05e6-922f-11f0-80d9-0050569a365d",
"NAME": "пач"
},
"BARCODE_TYPE": {
"GUID": "dce9f404-0286-4da8-8b3d-7d91f6e2108f",
"NAME": "ITF14"
}
},
{
"BARCODE": "9785042076688",
"STANDART": 1,
"ITEM_TYPE": {
"GUID": "85e66116-5947-47ca-8e34-93559e8e00ac",
"NAME": "шт"
},
"BARCODE_TYPE": {
"GUID": "39fddca4-7cc4-49d4-a09d-9fe5517b4df6",
"NAME": "EAN13"
}
}
] |
| CERT | [] |
| CLASSIFICATOR | {
"CODE": "000000367",
"ID_EKN": "11341",
"CODE_EKN": "114.22.3.1"
} |
| CODE_OKPD2 | |
| CODE_TNVED | 4901990000 |
| COVERS | {
"cover1": {
"H": 2846,
"W": 1984,
"DPI": "300x300",
"LINK": "https://cdn.eksmo.ru/v2/ITD000000001405476/COVER/cover1.jpg",
"SIZE": "1424861",
"MTIME": "2025-09-02 14:35:07"
},
"cover4": {
"H": 2846,
"W": 1984,
"DPI": "300x300",
"LINK": "https://cdn.eksmo.ru/v2/ITD000000001405476/COVER/cover4.jpg",
"SIZE": "1496705",
"MTIME": "2025-09-02 14:35:10"
},
"siluet": {
"H": 3475,
"W": 2500,
"DPI": "96x96",
"LINK": "https://cdn.eksmo.ru/v2/ITD000000001405476/COVER/siluet.jpg",
"SIZE": "610007",
"MTIME": "2025-09-18 13:54:29"
},
"banner0": {
"H": 1200,
"W": 900,
"DPI": "72x72",
"LINK": "https://cdn.eksmo.ru/v2/ITD000000001405476/COVER/banner0.jpg",
"SIZE": "1175774",
"MTIME": "2025-10-13 15:25:48"
},
"banner1": {
"H": 1200,
"W": 900,
"DPI": "72x72",
"LINK": "https://cdn.eksmo.ru/v2/ITD000000001405476/COVER/banner1.jpg",
"SIZE": "1180905",
"MTIME": "2025-10-13 15:25:58"
},
"banner2": {
"H": 1200,
"W": 900,
"DPI": "72x72",
"LINK": "https://cdn.eksmo.ru/v2/ITD000000001405476/COVER/banner2.jpg",
"SIZE": "1226707",
"MTIME": "2025-10-13 15:26:07"
},
"cover3d": {
"H": 3204,
"W": 2137,
"DPI": "300x300",
"LINK": "https://cdn.eksmo.ru/v2/ITD000000001405476/COVER/cover3d.jpg",
"SIZE": "635760",
"MTIME": "2025-09-02 14:35:08"
},
"cover_audio": {
"H": 800,
"W": 800,
"DPI": "220x220",
"LINK": "https://cdn.eksmo.ru/v2/ITD000000001405476/COVER/cover_audio.jpg",
"SIZE": "127387",
"MTIME": "2025-09-02 14:35:11"
}
} |
| DEPARTMENT | {
"GUID": "e9c840eb-a9be-11eb-80c1-0050569a365d",
"NAME": "Группа ИТ-литературы"
} |
| DIVID | {
"GUID": "498ad3de-5910-11e0-9747-001a64231342",
"NAME": "120 - Редакция № 5"
} |
| DOP_REKVIZIT | {
"HUDOJNIKI": [],
"VOZRAST_TO": "",
"PEREVODCHIKI": [
{
"CODE": "ITD057522",
"GUID": "6ca57344-159a-11ee-80d1-0050569a365d",
"NAME": "Краснянская Виктория Викторовна",
"SURNAME": "Краснянская",
"PSEVDONIM": false,
"DATE_BIRTH": "0000-00-00 00:00:00",
"DATE_DEATH": "0000-00-00 00:00:00",
"FIRST_NAME": "Виктория",
"SECOND_NAME": "Викторовна",
"__SYS_DT_UPDATE__": "2026-09-21 13:18:25",
"__SYS_STAMP_UPDATE__": "1789985905"
}
],
"VOZRAST_FROM": ""
} |
| EDFUL | 2000 |
| EKSMO_RDC | Эксмо |
| FA_COMMENT | |
| FA_GROUP | |
| FA_MONTH | |
| FOLDER | {
"GUID": "6fabf075-b63a-4f6d-a879-9e40d163ec40",
"NAME": "Книжная продукция (ЭКСМО)"
} |
| FORMAT | {
"CODE": "102",
"GUID": "a791b9ce-4f06-11e0-a01d-001a64231342",
"NAME": "70x100/16"
} |
| GENRE | [] |
| GOD_PERVOGO_IZDANIYA | 2025 |
| GUID | 74487517-5eb8-4963-a059-2cf37175d0ce |
| GUID_NOM | ff310a9c-392e-11ef-80d8-0050569a365d |
| ISBN | 978-5-04-207668-8 |
| ISBN_DIG | 9785042076688 |
| IS_DEL | Нет |
| IS_ZAPRET_PREVIEW | Нет |
| IZDAT_BRAND | {
"GUID": "2111b00b-cf7b-11e7-9ec5-000af77e485f",
"NAME": "БОМБОРА"
} |
| LAST_STANDART | 5 |
| LDATE | 15.09.2025 |
| MEDIA | НетНосителя |
| NAME | 100 ошибок Java и как их избежать |
| NAME_FOR_PRICE | 100 ошибок Java и как их избежать |
| NICHE | {
"GUID": "e009c84e-4f03-11e0-a01d-001a64231342",
"NAME": "ИНФОРМАТИКА. КОМПЬЮТЕРНАЯ ЛИТЕРАТУРА. ЭЛЕКТРОНИКА",
"OWNER_GUID": "e009c820-4f03-11e0-a01d-001a64231342"
} |
| NOMCODE | ITD000000001405476 |
| NOMGROUP | КнижнаяПродукция |
| PAGES | 480 |
| PAPER | Бумага офсетная 72/80 |
{
"TOC": {
"LINK": "https://cdn.eksmo.ru/v2/ITD000000001405476/PDF/ITD000000001405476_TOC.pdf",
"MTIME": "2025-09-03 18:15:44"
},
"PREVIEW": {
"LINK": "https://cdn.eksmo.ru/v2/ITD000000001405476/PDF/ITD000000001405476.pdf",
"MTIME": "2025-09-03 15:16:27"
}
} | |
| PEREPLET_TYPE | {
"GUID": "a791ba90-4f06-11e0-a01d-001a64231342",
"NAME": "7БЦ"
} |
| PEREPLET_TYPE_OLD | {
"GUID": "bff8c2c1-656e-11de-84c5-000423b38f2a",
"NAME": "7БЦ"
} |
| POSLE_OBREZA | 162x235 |
| PREDZAKAZ_SOAP | N |
| PRIZNAK_ZV | Нет |
| PRODCODE | ITD000000001405476 |
| PRODUCT_VID | {
"GUID": "a791ba7e-4f06-11e0-a01d-001a64231342",
"NAME": "Книга"
} |
| PROD_TEXT | Надежный код на Java с помощью инструментов статического анализа. • Как писать лучшие программы на Java. • Как распознавать распространенные ошибки и избегать их. • Как экономить время на отладке и тестировании. • Как использовать статические анализаторы для улучшения кода. Даже небольшие ошибки при разработке могут стать серьезными проблемами в эксплуатации продукта. Лучше выявлять и исправлять их до того, как они приведут к серьезным последствиям! Прольем свет на самые частые баги и покажем, как их избежать, что надо сделать для распознавания ошибок и антипаттернов, как провести эффективную отладку и тестирование. «Разбор полетов» по каждой ошибке: • Иллюстративный пример кода. • Объяснение причин ошибки. • Раздел «Как этого избежать». Об авторе: Тагир ВАЛЕЕВ — технический руководитель компании JetBrains и чемпион Java (2020 г.). Его основной исследовательский интерес — статический анализ и рефакторинг кода. Разработал множество проверок кода для IntelliJ IDEA и FindBugs. |
| PROIZ | [
{
"VID": {
"GUID": "3f9f48d2-4f09-11e0-a01d-001a64231342",
"NAME": "Рукопись"
},
"GUID": "acff4833-0b8e-11ef-80e9-0050569aa681",
"NAME": "100 Java mistakes and how to avoid them",
"LANGUAGE": "Английский",
"AUTHOR_GUID": "f020b608-3935-11ef-80d8-0050569a365d",
"IS_TRANSLATE": "false"
},
{
"VID": {
"GUID": "3f9f48d2-4f09-11e0-a01d-001a64231342",
"NAME": "Рукопись"
},
"GUID": "c4b58861-392e-11ef-80d8-0050569a365d",
"NAME": "100 ошибок Java и как их избежать",
"LANGUAGE": "Русский",
"AUTHOR_GUID": "6ca57344-159a-11ee-80d1-0050569a365d",
"IS_TRANSLATE": "true",
"ORIGINAL_PROIZV": {
"GUID": "acff4833-0b8e-11ef-80e9-0050569aa681",
"NAME": "100 Java mistakes and how to avoid them",
"LANGUAGE": "Английский"
}
},
{
"VID": {
"GUID": "ecc37d51-daa7-11e0-8449-5ef3fc5021fb",
"NAME": "РИП"
},
"GUID": "d7bf63f1-69f4-11ef-80d9-0050569a365d",
"NAME": "100 ошибок Java и как их избежать",
"LANGUAGE": "",
"AUTHOR_GUID": "4a453bef-2fe4-11e7-aba6-000af77e485f",
"IS_TRANSLATE": "false"
},
{
"VID": {
"GUID": "ecc37d51-daa7-11e0-8449-5ef3fc5021fb",
"NAME": "РИП"
},
"GUID": "357671a6-9840-11ef-80d9-0050569a365d",
"NAME": "100 ошибок Java и как их избежать",
"LANGUAGE": "",
"AUTHOR_GUID": "046fa8a5-7e32-11ee-80d4-0050569a365d",
"IS_TRANSLATE": "false"
},
{
"VID": {
"GUID": "ecc37d51-daa7-11e0-8449-5ef3fc5021fb",
"NAME": "РИП"
},
"GUID": "bbd08bfa-a0d3-11ef-80d9-0050569a365d",
"NAME": "100 ошибок Java и как их избежать",
"LANGUAGE": "",
"AUTHOR_GUID": "60aa7bd5-48bb-11ef-80d8-0050569a365d",
"IS_TRANSLATE": "false"
},
{
"VID": {
"GUID": "ecc37d51-daa7-11e0-8449-5ef3fc5021fb",
"NAME": "РИП"
},
"GUID": "784fff93-ce6d-11ef-80d9-0050569a365d",
"NAME": "100 ошибок Java и как их избежать",
"LANGUAGE": "",
"AUTHOR_GUID": "0b90e6e8-980d-11ee-80d4-0050569a365d",
"IS_TRANSLATE": "false"
},
{
"VID": {
"GUID": "3f9f48d2-4f09-11e0-a01d-001a64231342",
"NAME": "Рукопись"
},
"GUID": "167b814f-ce6f-11ef-80d9-0050569a365d",
"NAME": "100 ошибок Java и как их избежать",
"LANGUAGE": "Русский",
"AUTHOR_GUID": "d724dd42-c987-11ee-80d6-0050569a365d",
"IS_TRANSLATE": "true",
"ORIGINAL_PROIZV": {
"GUID": "acff4833-0b8e-11ef-80e9-0050569aa681",
"NAME": "100 Java mistakes and how to avoid them",
"LANGUAGE": "Английский"
}
},
{
"VID": {
"GUID": "ecc37d51-daa7-11e0-8449-5ef3fc5021fb",
"NAME": "РИП"
},
"GUID": "434ea917-d754-11ef-80d9-0050569a365d",
"NAME": "100 ошибок Java и как их избежать",
"LANGUAGE": "",
"AUTHOR_GUID": "20e05baf-bb63-11ee-80d4-0050569a365d",
"IS_TRANSLATE": "false"
},
{
"VID": {
"GUID": "ecc37d51-daa7-11e0-8449-5ef3fc5021fb",
"NAME": "РИП"
},
"GUID": "9c278699-0403-11f0-80d9-0050569a365d",
"NAME": "100 ошибок Java и как их избежать",
"LANGUAGE": "",
"AUTHOR_GUID": "77c6cb71-71b0-11ef-80d9-0050569a365d",
"IS_TRANSLATE": "false"
},
{
"VID": {
"GUID": "ecc37d51-daa7-11e0-8449-5ef3fc5021fb",
"NAME": "РИП"
},
"GUID": "b2d28757-8260-11f0-80d9-0050569a365d",
"NAME": "100 ошибок Java и как их избежать",
"LANGUAGE": "",
"AUTHOR_GUID": "15cfad6a-4adb-11e8-9ec5-000af77e485f",
"IS_TRANSLATE": "false"
},
{
"VID": {
"GUID": "2821b0a0-ce10-11e0-9556-5ef3fc5021fb",
"NAME": "Оригинал-макет"
},
"GUID": "678a8944-87ee-11f0-80d9-0050569a365d",
"NAME": "100 ошибок Java",
"LANGUAGE": "",
"AUTHOR_GUID": "d750fbd3-64ee-11e9-a33d-000af77e485f",
"IS_TRANSLATE": "false"
}
] |
| PUBLISHER | {
"GUID": "2a734e3d-a107-11de-8bc8-00265518a912",
"NAME": "ООО \"Издательство \"Эксмо\""
} |
| P_BOX | false |
| QUOTES | [ "", "", "", "", "", "" ] |
| REMAINDER | {
"TOTAL": "есть"
} |
| RIN | |
| SCOVR | |
| SDATE | 15.09.2025 |
| SERIE | {
"GUID": "578d2b09-9db2-11ef-80d9-0050569a365d",
"NAME": "Manning: профессиональные книги для ИТ-специалистов"
} |
| SGMNT | {
"GUID": "e009c820-4f03-11e0-a01d-001a64231342",
"NAME": "ПРОФЕССИОНАЛЬНАЯ И НАУЧНАЯ ЛИТЕРАТУРА. ДЕЛОВАЯ ЛИТЕРАТУРА (ПРЛ)"
} |
| SIZES | {
"DEPTH": 30,
"WIDTH": 170,
"HEIGHT": 242,
"KARTON": {
"WIDTH": "160",
"HEIGHT": "241"
},
"WEIGHT": 884
} |
| SUBJECT | {
"GUID": "e640821a-4f03-11e0-a01d-001a64231342",
"NAME": "ПОПУЛЯРНАЯ КОМПЬЮТЕРНАЯ ЛИТЕРАТУРА",
"OWNER_GUID": "e009c84e-4f03-11e0-a01d-001a64231342"
} |
| SUPER | false |
| TARGET | {
"GUID": "667fc7fe-4fbf-11e0-9f50-001a64231342",
"NAME": "Производственно-практическое издание"
} |
| TIP_KORESHKA | Полукруглый |
| TIRAJ | [
{
"GUID": "48b5c3ed-3931-11ef-80d8-0050569a365d",
"XO_DATE": "04.09.2025",
"PLAN_DATE": "15.09.2025",
"TIRAJ_CODE": "ITD00617357",
"TIRAJ_TYPE": "О",
"FAKTICHESKAYA_DATA": "15.09.2025",
"TOLSHCINA_KORESHKA": "29",
"SOGLASOVANNAYA_DATA": "15.09.2025",
"PLAN_DATE_TREBUEMAYA": "15.09.2025",
"PLAN_VYPUSKA_OSN_TIR": "15.09.2025",
"TIRAJ_DT_RAZR_V_PECHAT": "01.01.0001 0:00:00"
}
] |
| TOM_NUM | 0 |
| TSELOFANIROVANIE | true |
| VID_PROIZV | Впервые |
| VID_SKREPLENIYA | ШитьеНиткой |
| VOZRASTNOE_OGRANICHENIE | 12+ |
| ZAPRET | Нет |
| ZAPRET_PO_KANALAM | [] |
| ZAPRET_PRODAJ_DATA_SNIATIYA | |
| ZVEZDNOST |
Атрибуты показаны в том виде, в котором их передал API поставщика.