Информация о книге

978-5-496-01127-3,978-5-4461-1107-7

Главная  » Научно-техническая литература » Информационные технологии. Компьютеры » Программирование » Java » Философия Java

Эккель Б., Философия Java


серия: Классика computer science
Питер, 2020 г., 978-5-496-01127-3,978-5-4461-1107-7


Наличие в интернет-магазинах

Магазинов: 3, Цена: от 2019 руб. посмотреть все

Описание книги

Полная новая версия книги об основных проблемах программирования: почему они возникают, и какой подход использует Java в их разрешении.

Купить эту книгу можно в интернет-магазинах

  Буквоед - 2019 руб.   Читай-Город - 2019 руб.
  Страница товара выбранного интернет-магазина откроется в новом табе

Ключевые слова


  Java 


Поделиться ссылкой на книгу



Дополнительно о книге

Параллельное выполнение
До настоящего момента мы занимались последовательным программированием, при котором все действия в программе выполняются одно за другим. Последовательное программирование способно решить многие задачи. Однако в некоторых областях бывает удобно (и даже необходимо) выполнять несколько частей программы параллельно, чтобы создать иллюзию их параллельного выполнения — или, если компьютер оснащен несколькими процессорами, действительно выполнять их одновременно. Параллельное программирование способно серьезно улучшить скорость выполнения и/или предоставить упрощенную модель проектирования для некоторых видов программ. Тем не менее освоение теории и основных приемов параллельного программирования выходит за рамки всего, что вы узнали в этой книге; эта тема лежит где-то между промежуточным и высоким уровнем. Данная глава содержит вводный материал, и вы не можете считать себя хорошим специалистом по параллельному программированию, даже если полностью поймете весь материал. Как вы вскоре увидите, настоящие проблемы с параллельным выполнением начинаются тогда, когда одновременно выполняемые задачи начинают вмешиваться в дела друг друга. Такое вмешательство бывает настолько тонким и неочевидным, что параллельное выполнение можно с вескими основаниями считать условно-недетерминированным. Другими словами, теоретически возможно написать параллельные программы, которые благодаря внимательности программиста и анализу кода всегда работают корректно. Однако на практике гораздо проще писать параллельные программы, которые на первый взгляд работают корректно, но при некоторых условиях порождают ошибки. Возможно, эти условия никогда не возникнут или же будут возникать так редко, что никогда не встретятся при тестировании. Более того, нет гарантий, что вы сможете написать тестовый код, порождающий сбои в вашей параллельной программе. Ошибки будут происходить в очень редких случаях и в результате обернутся жалобами пользователей. Это одна из самых веских причин для изучения параллельного программирования: если вы не будете уделять ему внимания, то, скорее всего, сами же от этого и пострадаете. Итак, параллельное программирование сопряжено с неизбежным риском. Если вас это немного пугает, пожалуй, это даже хорошо. Хотя в Java SE5 в области параллельности были достигнуты значительные усовершенствования, до сих пор не существует никакой «страховки» вроде проверки во время компиляции или контролируемых исключений, сообщающих о допущенных ошибках. В области параллельного программирования вы сами отвечаете за все, и только повышенная подозрительность в сочетании с настойчивостью позволит вам писать надежный многопоточный код на Java. Некоторые люди считают, что параллельное программирование — слишком сложная тема для включения в книгу, которая только знакомит читателя с языком. Они полагают, что эта тема должна излагаться отдельно, а для тех редких случаев, когда она проявляется в повседневном программировании (например, построении графических интерфейсов), можно подобрать специальные идиомы. Зачем излагать такую сложную тему, если ее можно обойти? Если бы так… К сожалению, вы не властны над тем, где и как в ваших программах Java проявятся программные потоки. Даже если вы никогда не запускаете поток самостоятельно, это не значит, что вам удастся избежать написания многопоточного кода. Например, веб-системы — одна из самых распространенных областей для применения Java, а базовый класс сервлета изначально является многопоточным — и это неизбежно, потому что веб-серверы часто оснащаются несколькими процессорами, а параллельность является идеальным способом эффективного использования дополнительных процессоров. Каким бы простым ни казался сервлет, для правильного использования сервлетов необходимо понимать проблемы параллельного программирования. Это относится и к программированию графического интерфейса, как вы увидите в главе 22. Хотя в библиотеках Swing и SWT предусмотрены механизмы потоковой безопасности, вряд ли кто-то сможет правильно пользоваться ими без понимания параллельности. Java является многопоточным языком, и проблемы параллельного программирования присутствуют независимо от того, знаете вы о них или нет. В результате сейчас используется много Java-приложений, которые либо работают по случайности, либо работают большую часть времени, а иногда непостижимым образом «ломаются» от скрытых дефектов, связанных с параллельным выполнением. Иногда такие поломки приводят к потере ценных данных, и если вы не будете хотя бы в общих чертах представлять проблемы параллельности, то можете прийти к ошибочному выводу, что проблема кроется не в вашей программе, а где-то еще. Такие проблемы также могут выявляться или усиливаться при перемещении программы в многопроцессорную систему. По сути, разбираясь в параллелизме, вы будете знать, что даже правильная на первый взгляд программа может проявлять неправильное поведение. Параллельное программирование напоминает изучение нового языка — или по крайней мере новых языковых концепций. Понять логику параллельного программирования так же сложно, как понять логику объектно-ориентированного программирования. С некоторыми усилиями можно понять базовый механизм, но для подлинного понимания вопроса требуется углубленное изучение. Эта глава закладывает прочный фундамент в области основ, чтобы вы понимали концепции и могли писать несложные многопоточные программы. Тем не менее для написания любой сколько-нибудь нетривиальной программы вам придется изучать специализированную литературу по теме.

Содержание книги

Предисловие
Введение
Глава 1. Введение в объекты
Глава 2. Все является объектом
Глава 3. Операторы
Глава 4. Управляющие конструкции
Глава 5. Инициализация и завершение
Глава 6. Управление доступом ...
Глава 7. Повторное использование классов
Глава 8. Полиморфизм
Глава 9. Интерфейсы
Глава 10. Внутренние классы
Глава 11. Коллекции объектов
Глава 12. Обработка ошибок и исключения
Глава 13. Строки
Глава 14. Информация о типах
Глава 15. Обобщенные типы
Глава 16. Массивы
Глава 17. Подробнее о контейнерах
Глава 18. Система ввода-вывода Java
Глава 19. Перечислимые типы
Глава 20. Аннотации
Глава 21. Параллельное выполнение
Глава 22. Графический интерфейс
Приложение А
Приложение Б. Ресурсы


Об авторе


Отзывы

пельмегов степан  [ 5 May 2016]
Книгу доставили сегодня, исправлены все недочеты по переводу. Никаких джаваскриптов больше нет. Напечатано в 2016 году. Кто сомневался, можете смело покупать, оно стоит своих денег.
Максим  [17 April 2016]
Перевод настолько ужасен, что некоторые главы приходится параллельно читать в оригинале, на английском языке. Местами перевод переворачивает идею автора с ног наголову.<br/>Более того, в русской версии книги коды некоторых программ напечатаны с ошибками: то переменная не та, то в названии класса отсутствует буква. А это конкретно затрудняет изучение материала.<br/><br/>Лично для себя решил читать английскую версию.<br/>
Философия JAVA. Брюс Эккель. Издательство \"ПИТЕР\"  [24 February 2016]
Соглашусь с другими авторами комментариев по поводу перевода. Есть реальные огрехи и ляпы... Типичный пример - задание на стр. 483, где автор фразу \"strip off\" (сдирать) перевел как выделять. В общем, из-за неоднозначного перевода сижу с английским вариантом и сравниваю перевод условий задач
Ужасный перевод  [ 6 February 2016]
Качество перевода оставляет желать лучшего. Такое ощущение, что издательство просто использовало Google Translate.
Оличная книга  [ 1 November 2015]
Отличная книга , созвонился с Издательством Питер , решили мою проблему - молодцы.
Отличная книга.  [ 1 October 2015]
Советую всем новичкам изучающим java.
Отвратительная локализация.  [21 July 2015]
1) Издательство Питер - сильно сэкономило на чернилах - печатные буквы размытыми и еле пропечатаны , могу предположить что и остальная продукция компании точно такая же. Буквы мелкие и ощущение такое , как будто они двоятся в глазах.

2) Перевод как будто был сделан на заказ Школьниками - автор перевода не понимает о чём речь в книге. тот же пример в начале с JAVAScript заместо Java . 1440 р + доставка 550. в общем выбросил , перевожу оригинал сам.
это НЕ классика Computer Science!  [21 July 2015]
- в Computer Science не принято привязывать описание языка программирования к версии его реализации (в книге - Java SE5/6)

- "на дворе" Java SE 8, лямбда-вычисления и многое другое, чего НЕТ в книге (((

- кому книжка может пригодиться? - тем, кто использует Java SE5/6 ... а много ли таких осталось?
Хорошие примеры программ  [21 March 2015]
Введение и глава 1 показались мне ужасными. В начале автор пытается рассказать что-же такое объекты и ООП. Мне введение показалось слишком затянутым и с кучей ненужной информации.
Следующие главы гораздо интереснее. Главное в этой книге - доходчивые примеры. Уже из примеров можно понять как и что работает в Java.
Перевод не путает понятия и не мешает освоению материала.
Старье  [10 March 2015]
Издать в 2014 году книгу по Java SE5/6. Вы о чем???
Ужасный перевод  [ 4 March 2015]
О чем можно говорить? Издательство известное, на русский язык переводит книгу давно. Много изданий и переизданий этого труда было.
Открываем первые страницы после оглавления. В оригинале автор говорит о силе языка Java. Собственно и книга о Java. В русском переводе Java заменили на Javascript! И эту ошибку переносят уже какие годы! Нет, ну серьезно - не просто какие-то там ошибки в художественном произведении. А просто подмена понятий! Рекомендую учить основы английского и читать подобное в оригинале, на русском языке редко найдешь подобную литературу в адекватном переводе.
Перевод остался прежний  [ 8 February 2015]
Купил и решил сразу проверить качество перевода, сравнив с «неполным» изданием.
Как выяснилось - по ошибкам и огрехам перевода - это банальный «копи-паст» всего материала из неполного издания в полное с добавлением новых глав.

Печально, издательство не провело работу по вычитке прежнего перевода, а просто перевело и добавило новые главы - ставлю тройку только за то, что теперь это действительно полное издание великолепной книги.

Последние поступления в рубрике "Java"



Java. Задачи по основам программирования. Более 600 задач, около 150 задач с решениями Java. Задачи по основам программирования. Более 600 задач, около 150 задач с решениями Канель Е.

Предлагаемый задачник адресуется тем, кто решил освоить основы программирования на языке Java — как в рамках коллективных занятий (на уроках, факультативах или кружках), так и при самостоятельном индивидуальном обучении. Задачник содержит более 600......

Head First. Паттерны проектирования. Обновленное юбилейное издание Head First. Паттерны проектирования. Обновленное юбилейное издание Фримен Э.

Больше 12 лет прошло с момента выхода первого издания книги, но она продолжает оставаться актуальной. Основные идеи не изменились, но изменился язык Java, например, появились лямбда-выражения. Поэтому авторы приняли решение обновить легендарную книгу......

Java Concurrency на практике Java Concurrency на практике Гетц Б.

Потоки являются фундаментальной частью платформы Java. Многоядерные процессоры — это обыденная реальность, а эффективное использование параллелизма стало необходимым для создания любого высокопроизводительного приложения. Улучшенная виртуальная машина......

Если Вы задавались вопросами "где найти книгу в интернете?", "где купить книгу?" и "в каком книжном интернет-магазине нужная книга стоит дешевле?", то наш сайт именно для Вас. На сайте книжной поисковой системы Книгопоиск Вы можете узнать наличие книги Эккель Б., Философия Java в интернет-магазинах. Также Вы можете перейти на страницу понравившегося интернет-магазина и купить книгу на сайте магазина. Учтите, что стоимость товара и его наличие в нашей поисковой системе и на сайте интернет-магазина книг может отличаться, в виду задержки обновления информации.