основная версия | Время обновления | Примечание |
---|---|---|
v3.0 | 2020-03-31 | Система знаний идеальна, на базе v2.0 добавлено около 20% новых очков знаний. Отрегулируйте порядок и структуру некоторых знаний, чтобы облегчить чтение и понимание Создан через страницу GitHub для удобного чтения |
v2.0 | 2019-02-19 | Структурная перестройка, более подходящая от входа до мастера; дальнейшее совершенствование системы знаний; добавление новых технологий; |
v1.1 | 2018-03-12 | Расширьте знания о новых технологиях и улучшите систему знаний |
v1.0 | 2015-08-01 | Начальная версия |
Адрес проекта на GitHub:Входить
Страницы GitHub читать полностью:Входить
Gitee Pages Читать полностью:Входить(Внутренняя скорость доступа выше)
Основы
объектно-ориентированный
Что такое объектная ориентация
Объектно-ориентированный и процессно-ориентированный
Три основные характеристики объектно-ориентированного
Пять основных принципов объектной ориентации
инкапсуляция, наследование, полиморфизм
Что такое полиморфизм
Переопределение и перегрузка методов
Наследование и реализация в Java
Наследование и композиция в Java
Конструктор против конструктора по умолчанию
Переменные класса, переменные-члены и локальные переменные
переменная-член и область действия метода
Независимость от платформы
Как Java реализует независимость от платформы
Какие еще языки поддерживает JVM
передать по значению
передача по значению, передача по ссылке
Почему Java работает только по значению
Основы Java
базовый тип данных
8 основных типов данных
Диапазон значений byte, short, int и long в целочисленном типе
Что такое тип с плавающей запятой?
Что такое одинарная и двойная точность?
Почему сумма не может быть представлена числом с плавающей запятой?
Автоматическая распаковка
Автоматическая распаковка
Целочисленный механизм кэширования
Как правильно определить тип возвращаемого значения (логический/логический) и имя (успех/успех) интерфейса
String
неизменность строк
Ограничение длины строки
Принцип и отличие подстроки в JDK 6 и JDK 7
Разница между replaceFirst, replaceAll и replace
Различия и связи между String, StringBuilder и StingBuffer
Перегрузка строки для "+"
Несколько способов и отличия конкатенации строк
Разница между String.valueOf и Integer.toString
переключить поддержку String
Струнный пул
Постоянный пул (постоянный пул времени выполнения, постоянный пул класса)
intern
Различные ключевые слова в Java
transient
instanceof
volatile
synchronized
final
static
const
Класс коллекции
Разница между коллекцией и коллекциями
Использование общих классов коллекций
Разница между набором и списком
Разница между ArrayList, LinkedList и Vector
Разница между SynchronizedList и Vector
Как Set гарантирует, что элементы не повторяются
Различия между HashMap, HashTable, ConcurrentHashMap
Справочная информация, принцип и т. Д. Красно-черных деревьев, связанных с картой, в Java 8.
Емкость HashMap, расширение, хэш и другие принципы
Использование потоков в Java 8
Использование класса инструментов обработки коллекций Apache
Отличия и причины реализации HashMap в разных версиях JDK
На что следует обратить внимание при использовании списка, полученного с помощью Arrays.asList
Как повторяется коллекция
Разница между перечислением и итератором
Как удалить элементы в ArrayList при обходе
отказоустойчивый и отказоустойчивый
CopyOnWriteArrayList
ConcurrentSkipListMap
перечислить
использование перечисления
Реализация перечисления
Перечисления против синглтонов
Класс перечисления
Сравнение перечислений Java
переключить поддержку перечислений
Как реализовать сериализацию перечисления
Проблемы безопасности потоков с перечислениями
IO
поток символов, поток байтов
входной поток, выходной поток
Преобразование между потоком байтов и потоком символов
Синхронный Асинхронный
блокирующий, неблокирующий
5 моделей ввода-вывода Linux
Разница между BIO, NIO и AIO
Использование и принцип трех IO
netty
отражение
что такое отражение
Что делает отражение
Класс
java.lang.reflect.*
Динамический прокси
статический прокси
Динамический прокси
Связь между динамическим прокси и отражением
Несколько реализаций динамических прокси
AOP
Сериализация
Что такое сериализация и десериализация
Как Java реализует сериализацию и десериализацию
В чем разница между Serializable и Externalizable
Зачем нужна сериализация
serialVersionUID
Почему нельзя случайно изменить serialVersionUID?
transient
Основной принцип сериализации
Как сериализация разрушает одноэлементный шаблон
protobuf
Почему сериализация небезопасна
аннотация
метааннотация
пользовательская аннотация
Часто используемые аннотации в Java
Сочетание аннотации и отражения
Как настроить аннотацию?
Весенние общие аннотации
Дженерики
что такое дженерики
стирание типа
Проблемы с дженериками
K T V E в дженериках? Значение объекта и т. д.
Различные варианты использования дженериков
Квалифицированные подстановочные знаки и неквалифицированные подстановочные знаки
Квалификаторы верхней и нижней границы расширяются и супер
Разница между списком и списком примитивных типов?
В чем разница между List> и List?
модульный тест
junit
Сочетание юнита и весны
mock
mockito
База данных в памяти (h2)
регулярное выражение
java.lang.util.regex.*
Часто используемая библиотека инструментов Java
apache-commons
google-guava
netty
API&SPI
API
Связь и разница между API и SPI
Как определить СПИ
Принцип реализации SPI
аномальный
Ошибка и исключение
тип исключения
Ключевые слова, связанные с исключениями
Правильно обрабатывать исключения
пользовательское исключение
цепочка исключений
try-with-resources
Порядок выполнения наконец и возврата
обработка времени
Часовой пояс
зимнее время и летнее время
отметка времени
API времени в Java (Java 8)
Время по Гринвичу
Значение и взаимосвязь нескольких общих времен CET, UTC, GMT и CST.
Проблемы безопасности потоков с SimpleDateFormat
Обработка времени в Java 8
Как получить американское время на компьютере в Восточном восьмом округе
В чем разница между гггг и ГГГГ?
Кодирование
Что такое ASCII?
Unicode
Зачем нам UTF-8 с Unicode?
Различия между UTF8, UTF16 и UTF32
Зачем вам GBK с UTF8?
Отличие ГБК, ГБ2312, ГБ18030
Кодирование и декодирование URL
Big Endian и Little Endian
Как исправить искаженные символы
синтаксический сахар
Принцип синтаксического сахара в Java, решение синтаксического сахара
Общие принципы синтаксического сахара: переключатель поддерживает String и перечисление, дженерики, автоматическую упаковку и распаковку, параметры переменной длины метода, перечисление, внутренние классы, условную компиляцию, утверждения, числовые литералы, for-each, try-with-resource, лямбда-выражение, вывод типа локальной переменной, запись
JMS
Что такое служба сообщений Java
Модель обмена сообщениями JMS
JMX
java.lang.management.*
javax.management.*
Java 8
лямбда-выражение
Stream API
API времени
прочитать исходный код
String
Integer
Long
Enum
BigDecimal
ThreadLocal
ClassLoader & URLClassLoader
ArrayList & LinkedList
HashMap & LinkedHashMap & TreeMap & CouncurrentHashMap
HashSet & LinkedHashSet & TreeSet
Параллельное программирование на Java
Параллелизм и параллелизм
что такое параллелизм
что такое параллелизм
Разница между параллелизмом и параллелизмом
нить
разница между потоком и процессом
реализация потока
состояние потока
приоритет потока
планирование потоков
Как отлаживать многопоточность
Нить демона
Несколько способов создания потоков
Наследование класса Thread для создания потока
Реализуйте интерфейс Runnable для создания потока
Создание потоков через Callable и FutureTask
Создать поток из пула потоков
Пул потоков
Создайте собственный пул потоков
отправить() и выполнить()
Принцип пула потоков
Почему нельзя создавать пулы потоков с Executors
потокобезопасность
что такое безопасность потоков
Проблемы с многоуровневым кэшированием и когерентностью
Срезы процессорного времени и проблемы атомарности
Перестановка инструкций и вопросы заказа
Связь между потокобезопасностью и моделью памяти
happens-before
as-if-serial
Замок
повторная блокировка
блокирующий замок
Оптимистическая блокировка и пессимистическая блокировка
Механизм блокировки, связанный с базой данных
Распределенная блокировка
нет замка
CAS
Вопросы ABA для CAS
оптимизация блокировки
Блокировка смещения
Легкий замок
тяжелый замок
снятие блокировки
блокировка огрубления
блокировка спина
тупик
что такое тупик
Причина взаимоблокировки
Как избежать тупика
Написать заблокированную программу
Как устранить проблемы взаимоблокировки
synchronized
Как реализована синхронизация?
Связь между синхронизацией и блокировкой
Как реализовать потокобезопасный синглтон без использования синхронизированного
синхронизация и атомарность
синхронизация и видимость
синхронизировано и заказано
volatile
Изменение порядка инструкций компилятора и изменение порядка инструкций ЦП
Принцип реализации изменчивого
барьер памяти
изменчивость и атомарность
изменчивость и видимость
изменчивый и упорядоченный
Зачем вам volatile с symchronized?
методы, связанные с потоком
start & run
sleep & wait
notify & notifyAll
ThreadLocal
Принцип ThreadLocal
Базовая структура данных ThreadLocal
Напишите код для решения проблемы производитель-потребитель
параллельный пакет
Синхронные контейнеры и параллельные контейнеры
Thread
Runnable
Callable
ReentrantLock
ReentrantReadWriteLock
Atomic*
Semaphore
CountDownLatch
ConcurrentHashMap
Executors
Нижний слой
JVM
Структура памяти JVM
область данных времени выполнения
Какие области данных времени выполнения являются исключительными для потоков?
разница между кучей и стеком
Расположение области метода в разных версиях JDK
память вне кучи
TLAB
Обязательно ли объекты в Java размещаются в куче?
вывоз мусора
Алгоритм GC: удаление меток, подсчет ссылок, репликация, сжатие меток, сбор по поколениям, инкрементный сбор
параметры ГХ
Определение выживания объекта
Сборщики мусора (CMS, G1, ZGC, Epsilon)
Параметры и настройка JVM
-Xmx
-Xmn
-Xms
Xss
-XX:SurvivorRatio
-XX:PermSize
-XX:MaxPermSize
-XX:MaxTenuringThreshold
Объектная модель Java
oop-klass
заголовок объекта
HotSpot
Своевременный компилятор
Оптимизация компиляции
Модель памяти Java
модель памяти компьютера
когерентность кэша
протокол МЭСИ
видимость
атомарность
последовательный
happens-before
as-if-serial
барьер памяти
synchronized
volatile
final
Замок
Средства мониторинга производительности виртуальных машин и устранения неполадок
jps
jstack
jmap
jstat
jconsole
jinfo
jhat
javap
btrace
TProfiler
Arthas
механизм загрузки классов
classLoader
Безопасен ли поток процесса загрузки класса?
процесс загрузки класса
Родительское делегирование (уничтожение родительского делегирования)
Модульность (модули jboss, osgi, jigsaw)
упаковочный инструмент
банка, jlink, jpackage
Компиляция и декомпиляция
что такое компиляция
что такое декомпиляция
Компилятор: javac
Инструменты декомпиляции: javap, jad, CRF
JIT
JIT-оптимизация (экранирующий анализ, выделение стека, скалярная замена, оптимизация блокировок)
Передовой
Базовые знания Java
байт-код
формат файла класса
CAFEBABE
битовая операция
Сложение, вычитание, умножение, деление и получение остатка с помощью побитовых операций
Шаблоны проектирования
Шесть принципов шаблонов проектирования
принцип открыто-закрыто
Принцип замены Лисков
Принцип инверсии зависимости
Принцип разделения интерфейса
Закон Деметры (принцип наименьшего знания)
Принцип синтетического повторного использования
Создание шаблонов проектирования
одноэлементный шаблон
Абстрактный заводской узор
режим строителя
заводской узор
режим прототипа
Шаблоны структурного проектирования
режим адаптера
режим моста
орнамент
Комбинированный режим
Внешний вид Режим
наилегчайший образец
прокси-режим
Шаблоны поведенческого проектирования
Шаблон метода шаблона
командный режим
шаблон итератора
Шаблон наблюдателя
модель посредника
режим заметки
Режим переводчика
режим состояния
режим стратегии
Модель цепочки ответственности
шаблон посетителя
Семь способов написать синглтон
Ленивый - поток небезопасен
Ленивый человек — безопасность потоков
голодный человек
Голодный человек - Вариант
статический внутренний класс
перечислить
замок с двойной проверкой
Почему рекомендуется реализовывать синглтоны с перечислениями?
Отличие и связь трех заводских режимов
Простая фабрика, Фабричный метод, Фабрика шаблонов
Используйте общие шаблоны проектирования
режим адаптера
режим стратегии
Шаблон метода шаблона
Шаблон наблюдателя
Внешний вид Режим
прокси-режим
Реализовать поточно-ориентированный одноэлементный шаблон без синхронизации и блокировки
нио и схемы проектирования реакторов
Какие шаблоны проектирования используются в Spring
Знание сетевого программирования
Общий протокол
TCP, UDP, HTTP, HTTPS
Реализация протоколов FTP и SMTP с помощью Java
Семиуровневая модель OSI
Основные протоколы на каждом уровне
TCP/UDP
Три рукопожатия и четыре закрытия
Управление потоком и контроль перегрузки
tcp залипание и распаковка
TCP/IP
IPV4
IPV6
HTTP
Разница между http/1.0 http/1.1 http/2
Разница между http и https
Разница между get и post в http
Коды состояния, возвращаемые обычными веб-запросами
Что означают 404, 302, 301 и 500?
Напишите простой HTTP-сервер для статических файлов на Java.
http/2
Java RMI, сокет, HttpClient
куки и сеансы
cookie отключен, как реализовать сеанс
Понять характеристики серверов nginx и apache и построить соответствующий сервер
способ связи между процессами
Что такое CDN? Если реализовано?
DNS
Что такое DNS
Тип записи: запись A, запись CNAME, запись AAAA и т. д.
DNS
корневой сервер имен
Загрязнение DNS
Перехват DNS
Общедоступный DNS: 114 DNS, Google DNS, OpenDNS
играет роль
обратный прокси
прямой прокси
обратный прокси-сервер
Базовые знания
Servlet
жизненный цикл
вопросы безопасности потоков
фильтр и слушатель
Общие конфигурации и функции в web.xml
Hibernate
Что такое OR Mapping
Механизм кэширования Hibernate
Спящий режим с ленивой загрузкой
Разница между Hibernate/Ibatis/MyBatis
MyBatis
Механизм кэширования Mybatis
#{}
и${}
разница
Передать несколько параметров в маппер
Mybatis динамический sql
Ленивая загрузка в Mybatis
Spring
Инициализация бина
Принцип АОП
Реализация Spring IOC
Четыре типа внедрения зависимостей в spring
Spring MVC
Что такое МВК
Разница между Spring mvc и Struts mvc
Spring Boot
Spring Boot 2.0
Зависит от запуска
Автоматическая конфигурация
Стартовый принцип Spring Boot
Реализовать стартер самостоятельно
Почему Spring Boot может запускать веб-проект через main
Spring Security
Spring Cloud
Открытие и регистрация сервисов: Eureka, Zookeeper, Consul
Балансировка нагрузки: Feign, Spring Cloud Loadbalance
Конфигурация службы: Spring Cloud Config
Ограничение рабочего тока и автоматический выключатель: Hystrix
Отслеживание служебных ссылок: Dapper
Сервисный шлюз, безопасность, обмен сообщениями
Знание сервера приложений
JBoss
tomcat
jetty
Weblogic
инструмент
git & svn
maven & gradle
трюки
слияние ветвей
Решение конфликта
совершить откат
знатоки трюки
дерево зависимостей
полагаться на арбитраж
Intellij IDEA
Общие плагины: Maven Helper, FindBugs-IDEA, определение спецификации кода Alibaba, GsonFormat, плагин Lombok, .ignore, плагин Mybatis
Передовой
новая технология
Java 9
Jigsaw
Jshell
Reactive Streams
Java 10
вывод типа локальной переменной
Параллельный полный сборщик мусора для G1
Механизм рукопожатия ThreadLocal
Java 11
ZGC
Epsilon
улучшить переменную
Java 12
Переключить выражение
Java 13
Text Blocks
Dynamic CDS Archives
Java 14
Инструмент упаковки Java
Более ценное исключение NullPointerException
тип записи
Spring 5
реактивное программирование
Spring Boot 2.0
http/2
http/3
оптимизация производительности
использовать синглтон
Использовать режим будущего
Использовать пул потоков
выберите готовый
уменьшить переключение контекста
Уменьшить детализацию блокировки
Сжатие данных
кэш результатов
Параллельный поток
Настройка GC
Настройка распределения памяти JVM
Настройка SQL
онлайн анализ проблем
dump
Дамп потока
дамп памяти
ситуация с gc
Инструменты сбора и анализа дампа
jstack
jstat
jmap
jhat
Arthas
тупик анализа дампа
утечка памяти при анализе дампа
Пишите различные программы outofmemory, stackoverflow самостоятельно
HeapOutOfMemory
Young OutOfMemory
MethodArea OutOfMemory
ConstantPool OutOfMemory
DirectMemory OutOfMemory
Stack OutOfMemory Stack OverFlow
Arthas
связанные с JVM
связанный с классом/загрузчиком классов
связанные с мониторингом/наблюдением/отслеживанием
options
трубопровод
Фоновые асинхронные задачи
Общие идеи решения проблем
переполнение памяти
тупик потока
конфликт загрузки классов
парящий груз
Загрузка процессора растет
медленный SQL
Используйте инструменты, чтобы попытаться решить следующие проблемы и написать резюме
Как найти проблемы, когда программа Java медленно отвечает
Как решить проблему, когда Java-программа часто вызывает FullGC
Как просмотреть журналы сборки мусора
Как решить, когда OutOfMemory возникает в приложении Java
Как определить, возникает ли взаимоблокировка
Как узнать, есть ли утечка памяти
Используйте Arthas для быстрого устранения проблем с приложением Spring Boot 404/401
Используйте Arthas для устранения проблем с полным журналом онлайн-приложений
Использование Arthas для устранения неполадок приложения Spring Boot NoSuchMethodError
Знание принципа компиляции
Компиляция и декомпиляция
Компиляция и декомпиляция кода Java
декомпилятор Java
javap
jad
CRF
Своевременный компилятор
оптимизация компилятора
Знание операционной системы
Общие команды в Linux
find, grep, ps, cp, move, tar, head, tail, netstat, lsof, tree, wget, curl, ping, ssh, echo, free, top
межпроцессного взаимодействия
Показатели производительности сервера
load
Загрузка процессора
использование памяти
qps
rt
Синхронизация процессов
проблема производителя-потребителя
Обеденная проблема философа
проблема с читателем и писателем
переполнение буфера
Сегментация и пагинация
виртуальная память против основной памяти
управление виртуальной памятью
алгоритм подачи страницы
Знание баз данных
Исполняющий движок MySql
План выполнения MySQL
Как посмотреть план выполнения
Как оптимизировать SQL на основе плана выполнения
показатель
Хэш-индекс и индекс B-дерева
Нормальный индекс и уникальный индекс
Кластеризованные и некластеризованные индексы
индекс покрытия
крайний левый префикс
выталкивание индекса
аннулирование индекса
форма возврата
SQL-оптимизация
Транзакции базы данных и уровни изоляции
ACID транзакции
Уровень изоляции транзакции и феномен чтения
Может ли транзакция реализовать функцию блокировки?
Кодирование
utf8
utf8mb4
почему бы не использовать кодировку utf8 в базе данных
количество строк
Разница между count(1), count(*) и count(field)
Почему рекомендуется использовать count(*)
блокировка базы данных
общая блокировка, эксклюзивная блокировка
блокировка строки, блокировка таблицы
оптимистический замок, пессимистический замок
Оптимистическая блокировка с использованием блокировок базы данных
Gap Lock, блокировка следующей клавиши
соединять
внутреннее соединение
левое соединение
правильное соединение
Построение активной и резервной базы данных
log
binlog
redolog
База данных памяти
h2
Подбиблиотека и подтаблица
разделение чтения-записи
Часто используемая база данных nosql
redis
memcached
Используйте блокировки базы данных и NoSql для реализации распределенных блокировок соответственно.
настройка производительности
пул соединений с базой данных
Знание структур данных и алгоритмов
простая структура данных
куча
очередь
связанный список
множество
хеш-таблица
Сходства и различия между стеками и очередями
Две структуры хранения, обычно используемые стеками
Два стека реализуют очереди, а две очереди реализуют стеки.
Дерево
бинарное дерево
словарное дерево
Сбалансированное дерево
дерево сортировки
B-дерево
В+ дерево
R-дерево
многоходовое дерево
красно-черное дерево
куча
большая куча корней
небольшая корневая куча
рисунок
ориентированный граф
Неориентированный граф
топология
Стабильный алгоритм сортировки
Пузырьковая сортировка
Сортировка вставками
Сортировка коктейлей
сортировка ведра
сортировка по подсчету
Сортировка слиянием
Сортировка слиянием на месте
Двоичная сортировка Сортировка по дереву
сортировка по полочкам
сортировка по основанию
Гном сорт
библиотечная сортировка
порядок блоков
нестабильный алгоритм сортировки
сортировка выбором
Сортировка холмов
Алгоритм сортировки клевера
гребенчатая сортировка
сортировка кучей
гладкая сортировка
быстрая сортировка
вид самоанализа
Сортировать по терпению
Сложность времени и сложность пространства
Как рассчитать временную сложность и пространственную сложность
Временная сложность распространенных алгоритмов сортировки
Поиск в глубину и в ширину
полный массив
как дела
Алгоритм КМП
хеш-алгоритм
Массовая обработка данных
разделяй и властвуй
хеш-карта
сортировка кучей
Двуствольный дивизион
Bloom Filter
bitmap
индекс базы данных
мэпредьюс и т.д.
Знание больших данных
поиск
Solr
Lucene
ElasticSearch
Потоковые вычисления
Storm
Spark
Flink
Hadoop, автономные вычисления
HDFS
MapReduce
Распределенный сбор журналов
flume
kafka
logstash
сбор данных
mahout
Знание сетевой безопасности
XSS
Защита от XSS
CSRF
инъекционная атака
SQL-инъекция
XML-инъекция
инъекция CRLF
Уязвимость при загрузке файлов
шифрование и дешифрование
Симметричное шифрование
Асимметричное шифрование
хеш-алгоритм
Алгоритм соленого хэша
Алгоритм шифрования
MD5
SHA1
DES
AES
RSA
DSA
радужный стол
DDOS-атака
DOS атаки
DDOS-атака
Почему memcached может привести к DDos-атакам
Что такое рефлективный DDoS
Как провести DOS-атаку через коллизию хэшей
SSL, TLS, HTTPS
Удаление библиотеки, промывка библиотеки, наполнение библиотеки
Архитектура
Принципы проектирования архитектуры
Принцип единой ответственности
открытый закрытый принцип
Принцип замены Рихтера
Принцип инверсии зависимости
Принцип разделения интерфейсов
распределенный
Распределенные и кластеризованные
согласованность данных
Служба управления
понижение уровня обслуживания
распределенная теория
2PC
3PC
CAP
BASE
Распределенная координация Zookeeper
Базовые концепты
Обычное использование
ZAB-алгоритм
расколотый мозг
Распределенная транзакция
Локальные транзакции и распределенные транзакции
Надежная консистентность сообщений
уведомление о лучших усилиях
TCC
Dubbo
регистрация службы
обнаружение службы
Служба управления
Распределенная база данных
Как создать распределенную базу данных
Когда вам нужна распределенная база данных
mycat
otter
HBase
Распределенная файловая система
mfs
fastdfs
Распределенный кеш
когерентность кэша
частота попаданий в кэш
избыточность кэша
Понижение текущего лимита
Режим предохранителя
Hystrix
Sentinal
resilience4j
распределенный алгоритм
Византийские проблемы и алгоритмы
2PC
3PC
алгоритм консенсуса
Алгоритм Paxos и алгоритм Raft
ZAB-алгоритм
Дизайн, управляемый доменом
Сущность, объект значения
Агрегат, совокупный корень
ограниченный контекст
Как многоуровневый DDD
Модель гиперемии и модель анемии
Какое отношение DDD имеет к микросервисам
Микросервисы
SOA
Закон Конвея
ServiceMesh
sidecar
Docker & Kubernets
Spring Boot
Spring Cloud
Высокий параллелизм
Подбиблиотека и подтаблица
Горизонтальное разделение и горизонтальное разделение
Проблема распределенной транзакции после подбазы данных и подтаблицы
Технология CDN
очередь сообщений
RabbitMQ, RocketMQ, ActiveMQ, Кафка
Сравнение различных очередей сообщений
Высокая доступность
Двухмашинная архитектура
Активно-резервная репликация
репликация master-slave
мастер-мастер-репликация
Жить в разных местах
высокая производительность
высокопроизводительная база данных
разделение чтения-записи
Подбиблиотека и подтаблица
Кэш высокой производительности
проникновение в кеш
Кэш Лавина
точка доступа к кешу
балансировки нагрузки
КПП, ТПК
монитор
что контролировать
CPU
ОЗУ
Дисковый ввод-вывод
Сетевой ввод-вывод и т. д.
Средства мониторинга
Мониторинг процесса
Семантический мониторинг
Мониторинг ресурсов машины
колебания данных
Сбор данных мониторинга
бревно
Похороненный
Dapper
балансировки нагрузки
Классификация балансировки нагрузки
Балансировка нагрузки уровня 2
Балансировка нагрузки уровня 3
Балансировка нагрузки уровня 4
Балансировка нагрузки уровня 7
инструмент балансировки нагрузки
LVS
Nginx
HAProxy
алгоритм балансировки нагрузки
Статические алгоритмы балансировки нагрузки: Round Robin, Ratio, Priority
Алгоритм динамической балансировки нагрузки: минимальное количество подключений, максимальная скорость отклика, метод наблюдения, метод прогнозирования, динамическое распределение производительности, динамическое пополнение серверов, качество обслуживания, тип обслуживания, режим правила.
DNS
Принцип DNS
Дизайн DNS
CDN
согласованность данных
Расширение
облачные вычисления
IaaS
SaaS
PaaS
технология виртуализации
openstack
Serverlsess
поисковый движок
Solr
Lucene
Nutch
Elasticsearch
управление полномочиями
Shiro
блокчейн
хеш-алгоритм
Дерево Меркла
криптография с открытым ключом
алгоритм консенсуса
Протокол плота
Алгоритм Paxos и алгоритм Raft
Византийские проблемы и алгоритмы
Код аутентификации сообщения и цифровая подпись
биткойн
добыча полезных ископаемых
механизм консенсуса
Молниеносная сеть
боковая цепь
Горячие вопросы
вилка
Эфириум
Гиперледжер
искусственный интеллект
Математическая основа
машинное обучение
Искусственные нейронные сети
глубокое обучение
Сценарии применения
Общая структура
TensorFlow
DeepLearning4J
IoT
квантовые вычисления
AR & VR
Другие языки
Groovy
Kotlin
Python
Go
NodeJs
Swift
Rust