Рецензии на книги я вообще-то не хочу их писать, потому что у каждого своя мерка, и у каждого свое мнение в глазах.哈姆雷特, хорошо это или плохо все смешано. Если вы усвоили все знания, содержащиеся в книге, и хотите просто использовать их в качестве памяти для серии знаний, то вас может заинтересовать структура знаний и системный контекст всей книги, поэтому, если знания в книге Когерентность, способность сплести в уме план памяти, который вы хотите, то я считаю, что это не так уж хорошо для вас; если вы хотите использовать это как дверь в новый мир, вы хотите понять тайну параллельного программирования, Я считаю, что это также хорошая книга для вас, которая может расширить глубину ваших знаний; если вы читаете ее для интервью, это также хорошая книга, потому что большая часть знаний часто проверяется на собеседованиях.
Ниже я проведу вас по книге, исходя из приведенных выше нескольких предположений.
Предварительное знание
Прежде всего, давайте познакомимся с ней, я думаю, что все с ней знакомы, переходите к книге! ! !
Во-первых, эту книгу написали три человека, все из Али, и я использую картинку, чтобы проиллюстрировать то, что написали эти три человека.
Если это книга, написанная тремя людьми, если вы не можете контролировать общий контекст книги, вы попадете в ловушку.Глухие слышат, как немые говорят, что слепые видят привидениеТакая ситуация не является логически самосогласованной, но я вижу из книги, что издательство и Учитель Фан строго контролировали контекст общей системы знаний, но я думаю, что это все же близко.
Я постараюсь интерпретировать эту книгу с чрезвычайно объективной точки зрения..
Прежде всего, очень хорошей идеей является глава 1, посвященная задачам параллельного программирования.Сначала вводится основное содержание всей книги, чтобы читатели могли получить общее представление о проблемах, которые принесет параллельное программирование, а затем сокращены. в болевые точки параллельного программирования, то есть в параллельное программирование, узкое место в производительности.
Затем вторая глава переходит непосредственно к лежащей в основе реализации механизма параллелизма Java.Я думаю, что содержание и глубина этой главы остаются под вопросом, но если精读С точки зрения этого, в этом нет ничего плохого, и в то же время, это будет легко для студентов, которые «имеют определенную базу параллельного программирования на Java и хотят иметь более глубокое понимание лежащей в основе реализации Java». параллелизм». Но тех студентов, которые «не сталкивались с параллельным программированием и просто хотят узнать о параллельном программировании в Java», эта вторая глава прямо убеждает бросить. Честно говоря, когда я впервые столкнулся с этой книгой, я увидел вторая глава Глава I прямо на мониторе.
Итак, это вопрос выбора.Глубокая пытка этого вопроса заключается в следующем:Какое содержание вы хотите представить к какому читателям??
Затем мы предполагаем первую ситуацию, то есть одноклассников, которые «имеют определенные основы параллельного программирования Java и хотят иметь более глубокое понимание лежащей в основе реализации параллелизма Java». это.yydsЭто слово, потому что эта глава действительно потрясающая, возможность написать такой контент - это благодаря настойчивой настойчивости мистера Фанга и многолетнему накоплению знаний на передовой. Главы 1 и 2 связаны так, как будто вы только что узнали, что 1 + 1 = 1, а затем позвольте вам поспорить, почему 1 + 1 = 1?
Общество умирает? ? ? ? ? ? ?
Вторая глава ведет нас непосредственно к трудностям, от volatile к synchronized , от заголовка объекта к обновлению и понижению блокировки (аннулированию), от CAS к ABA, от атомарных операций к барьерам памяти, я называю это хорошим парнем! Очень потрясающе.
Тем не менее, полировка некоторых деталей в главе 2 все еще оставляет желать лучшего.Например, блок-схема апгрейда замка не так очевидна.В любом случае, я прочитал картинку и объединил много ссылок в Интернете.Знаю одну или две. Кроме того, Учитель Фан подошел, чтобы поговорить о применении и основных принципах напрямую, без прелюдии? ? ? Что такое volatile и как, я думаю, это следует сделать на простом небольшом примере.
Затем третья глава, поменяйтесь местами, подойдите и сразу переходите ко всему процессу Эта глава начинается с модели памяти и рассказывает о семантике памяти изменчивых, конечных и синхронизированных, как бы последовательных и предшествующих принципам. , что такое модель памяти Java?И какие изменения были внесены в модель памяти JSR-133, можно сказать, что все, что можно было внедрить, было введено.
Тем не менее, я должен повторить это еще раз, часть содержания этой главы должна быть переведена с веб-сайтов на иностранных языках, и многие места немного грубы, и это похоже на нагромождение, а не на лекцию. Я не думаю, что этот стиль объяснения столь же точен, как у мистера Фанга, и он может прямо указать на ключевые моменты. Эта глава была в начале нормально, но во второй половине этой главы я явно чувствовал себя истощенным. Я не знаю, моя ли это еда или что. Я явно засыпал, наблюдая, и я не знаю, что друзья впереди мобильного телефона/компьютера делаем.
После третьей главы, а затем прочитал четвертую главу, я чувствую себя немного虐小号Что это значит, почему основы параллельного программирования на Java описаны в главе 4? ? ? ? ? ? Почему фундамент должен стоять за базовой реализацией? ? ? ? ? ? Разве это не ставит телегу впереди лошади? Если сначала прочитать оглавление, то с четвертой главы оно выглядит хорошо.Если медленно читать четвертую главу с первой главы, то скорее всего засомневаетесь в жизни. Что это за дерьмо? Я действительно не понимаю, почему нужно закладывать основу в главе 4, прежде чем я начну говорить об этом. И большая часть контента в главе 4 просто проходит мимо, поэтому я подозреваю, что этому игроку не следовало писать много статей.Эти владельцы публичных аккаунтов вокруг меня, пока они преуспевают, есть некоторые оригинальные владельцы аккаунтов с Трафик.Нельзя так писать статью.Куча кода навалено,а объяснение просто мимолетно.Это действительно бесполезно.Очень рекомендую автору перечитать "Java Concurrent Programming Practice" еще раз.
Прочитав главу 5, я, наконец, понял, что если нет основы параллелизма в Java, то лучше не читать эту книгу, потому что легко запутаться.
Главы с 6 по 11 на самом деле слишком простые.Если эта книга предназначена для того, чтобы дать читателям глубокое понимание параллелизма, в ней не так много исходного кода, но для тех, кто «не сталкивался с параллельным программированием, «Для студентов, которые просто хотят узнать о параллелизме Java», это хороший справочник и справочник для понимания параллелизма Java.
В ходе интервью генерал四этап, чтобы спросить:
- ты знаешь ХХХ? Вы когда-нибудь использовали ххх? (Как только вы спросите, связались ли вы, как правило, вы не будете спрашивать это направление, если вы не связались)
- Как вы используете xxx в своей ежедневной разработке? (Судя еще раз, были ли вы в контакте, если вы можете ответить на сценарий заявки, вы будете продолжать спрашивать вниз, иначе интервьюер подумает, что вы спорите)
- Тогда вы знаете принцип ххх? (Принцип обращения к вам заключается в том, чтобы судить, изучали ли вы эту вещь в частном порядке, и вы можете ответить на рабочий механизм ххх. Например, принцип пула потоков, вы можете ответить на рабочий механизм пула потоков)
- Наконец, вам могут задать более подробные вопросы, например, что представляет собой процесс размещения HashMap? (Для этого требуется знакомство с исходным кодом)
Таким образом, очки знаний, которые эта книга приносит вам, ограничены первыми тремя пунктами.На самом деле, с точки зрения всей отрасли, я не видел ни одного автора, который написал бы исходный код в книгу, так что это также наша направление усилий программистов.
Здесь я рекомендую статьи, которые я написал о параллелизме, читателям и друзьям:
2 слова + 40 картинок для параллельного программирования!
Работаю три года, пора разбираться и параллелизм (галантерея)
Принципиальный анализ Atomic XXX
Узнайте об использовании и исходном коде CountDownLatch в одной статье!
Я действительно не хочу узнать, происходит - раньше больше!
Ксюан даже не знает этих 10 вопросов...
Много классных вещей от синхронизированных!
Закончив этот пул потоков, я кашлянул кровью
Есть пояснения, исходники и кейсы.Хотите выучить волну?
Почему вы говорите, что эта книга хороша?
Итак, чем хороша эта книга?
Поскольку эта книга соответствует тональности нашего китайского народа, в конце концов, она написана руками китайцев. Эта книга отличается от «Практики параллельного программирования на Java». Параллельный код из первых рук» и «Искусство параллельного программирования на Java» больше посвящены базовым знаниям Java, и их акценты разные. В конце концов, настоящее параллельное программирование написано иностранцами, оно потеряет часть очарования оригинальной книги в процессе перевода, поэтому каждый должен попытаться прочитать оригинальную книгу, и лучше ее не носить с собой.二手鞋.
К счастью, искусство параллельного программирования на Java больше соответствует сегодняшней атмосфере собеседований.Все мы знаем, что интервью — это все виды эссе.Мы все насмехаемся над этим методом собеседования по созданию ракет, но мы не в силах изменить этот статус-кво. , так что вы можете только адаптироваться, и эта книга — книга, которая позволяет вам лучше адаптироваться к интервью Багувен. Как я уже говорил выше, в этой книге есть несколько неплохих глав, и если вы понимаете эти главы, то в основном уверены в релевантных интервью. Тем не менее, в конце есть несколько глав, которые относительно просты, и вам нужно следить за блогом в Интернете, чтобы понять их подробно.
Чем эта книга плоха?
Чем эта книга плоха?
Я не согласен со стилем повествования и архитектурой этой книги, в ней легко дать людям劝退. Думаю, это повод задуматься.
А одноклассники Али — лучшие программисты в отрасли, особенно в стеке технологий Java.Если они не могут считать полноту своего технологического стека и системы знаний высшим стандартом, то кому мы, обычные программисты, можем доверять?
Эта книга подарила мне своего родаможно оставить, но нельзячувство. Когда я читаю «Глубокое понимание виртуальной машины Java», такого понятия нет.情愫. Потому что, прочитав глубокое понимание JVM г-на Чжоу, я даже думаю, что вы можете полностью отбросить «Спецификацию виртуальной машины Java».
Тем не менее, «Практическое параллельное программирование на Java» и «Искусство параллельного программирования на Java» на самом деле являются взаимодополняющими продуктами, и я чувствую, что знаний о том, в какой книге не хватаетчто-то меньше. Но просто прочитать книгу «Искусство параллельного программирования на Java» недостаточно, так что. . . . . . Почему бы не дать ему серьезную полировку?
Поэтому я надеюсь, что будет следующее издание «Искусство параллельного программирования на Java», давайте все с нетерпением его ждем.
В конце статьи я рекомендую вам гитхаб.GitHub.com/Next Day Picks/Не голоден…Этот гитхаб представляет собой сводку всех статей, над которыми я так усердно работал. Добро пожаловать в звезду.