JD.com купить Dangdang купить
Все коды в колонке разработаны на базе Java 8 + Spring Boot 2.2.1.RELEASE + Spring Cloud Greenwich.SR4 + Spring Data Moore-SR4, а управление зависимостями основано на Maven.
Каждый случай представляет собой независимое приложение командной строки SpringBoot или Java, которое можно запускать независимо, чтобы избежать взаимного вмешательства, но они используют общий POM Maven.
После загрузки исходного кода сначала запустите команду docker-compose up в корневом каталоге, чтобы запустить связанные MySQL, Redis, ES, RabbitMQ и другие системы через Docker, а затем запустите приложение.
Большая часть содержимого столбца зависит только от одного компонента — MySQL. Если у вас возникли трудности с запуском docker-compose, вы можете сначала прокомментировать соответствующие компоненты в docker-compose.yml, например комментарии к ES и RabbitMQ, а затем запустить его, когда это произойдет. вам нужно будет использовать его позже в главе о проектировании, и одновременно вам необходимо удалить соответствующий модуль SpringBoot Starter в pom.xml.
В корневом каталоге исходного кода находится файл readme.md Markdown. В то же время под каждым пакетом исходного кода находится файл readme.md, в котором указан каждый из них. Article Имя пакета исходного кода каждого раздела этой статьи.
В большинстве случаев в исходном коде используются неправильные и правильные методы именования для обозначения неправильной и правильной реализации. Чтобы понять, можно сравнить реализацию с содержанием книги.
Некоторые случаи (например, индексная статья SQL) генерируют тестовые данные на основе текущего времени, поэтому не гарантируется, что результаты теста в статье могут быть воспроизведены локально, и вам придется корректировать тестовые примеры самостоятельно.
Нажмите на ссылку, чтобы войти в папку с кодом для каждого раздела.
В каждой папке также имеется файл readme.md, в котором перечислены папки с исходным кодом каждого раздела в каждом разделе.
[Мышление] представляет собой код, участвующий в мышлении и обсуждении.
[Расширенный] представляет код, участвующий в расширенном чтении.
[Дополнение] Представляет собой другие коды, которых нет в книге.
1.0: Java8
2.1 Использование библиотеки параллельных инструментов не означает отсутствия проблем с безопасностью потоков: concurrenttool
2.2 Кодовая блокировка. Не позволяйте «блокировке» стать проблемой: блокируйте
2.3 Пул потоков. Наиболее часто используемый и наиболее подверженный ошибкам компонент бизнес-кода: пул потоков.
2.4 Пул соединений: не позволяйте пулу соединений причинить вам вред: Connectionpool
2.5 HTTP-вызовы: учитывали ли вы таймауты, повторные попытки и параллелизм: httpinvoke
2.6 20% декларативных транзакций Spring в бизнес-коде могут обрабатываться неправильно: транзакция
2.7 Индекс базы данных: индекс не панацея: sqlindex
2.8 Вопрос равенства: Как определить, что ты в программе: равно
2.9 Численные расчеты: обратите внимание на точность, округление и проблемы переполнения: численные расчеты.
2.10 Класс коллекции: операция со списком, полная подводных камней: коллекция
2.11 Обработка нулевого значения: неясный нулевой и раздражающий нулевой указатель: нулевое значение
2.12 Обработка исключений: не позволяйте себе ослепнуть, если что-то пойдет не так: исключение
2.13 Ведение журнала. Ведение журнала не так просто, как вы думаете: ведение журнала
2.14 Ввод-вывод файла: нелегко добиться эффективного и правильного чтения и записи файлов: io
2.15 Сериализация: снова и снова вы все тот же человек: сериализация
2.16 Правильно используйте классы даты и времени Java 8 и избегайте некоторых «третьих старых» ошибок: datetime
2.17 Не думайте, что ООМ невозможен с «АКПП»: oom
2.18 Какие подводные камни могут возникнуть, когда рефлексия, аннотации и обобщения сталкиваются с ООП: расширенные функции
2.19 Spring Framework: IoC и AOP являются ядром расширения: Springpart1
2.20 Spring Framework: он проделал за нас большую работу, но также усложнил: Springpart2
3.1 Дублирование кода: три способа решения проблемы дублирования кода: избыточный код
3.2 Проектирование интерфейса: Язык диалога между системами должен быть единым: apidesign
3.3 Дизайн тайника: Кэширование может быть вишенкой на торте или добавлением оскорбления к травме: дизайн кэша
3.4 Когда бизнес-код написан, означает ли это, что он готов к производству: Productionready
3.5 Асинхронную обработку легко использовать, но очень легко использовать ее неправильно: asyncprocess
3.6 Хранение данных: Как NoSQL и СУБД дополняют друг друга и дополняют друг друга? :nosqluse
4.1 Источник данных: ничему на стороне клиента нельзя доверять: clientdata
4.2 Безопасность. Когда дело касается денег, вы должны учитывать защиту от мошенничества, ограниченную и надежную защиту: безопасностьпоследняя защита.
4.3 Данные и код: данные — это данные, код — это код: данные и код
4.4 Как правильно сохранять и передавать конфиденциальные данные: конфиденциальные данные
5.1 Процедуры устранения неполадок для обнаружения проблем с приложениями Java: н/д.
5.2 Для анализа и обнаружения проблем Java необходимо эффективно использовать следующие инструменты:
5.3 Некоторые подводные камни при переносе Java-программ с виртуальных машин на Kubernetes: н/д
Если вы считаете, что исходный код вам полезен, добро пожаловать в Star.