标签

Java

Java内存结构笔记

JVM内存结构


零拷贝技术

零拷贝技术以及Java中的实践


JVM中的Safe Point是什么

Safe Point的定义和实现机制


JDK9中String为何改为byte数组存储

JDK9中String改为byte数组存储有何优点


JDK21中的虚拟线程

虚拟线程的概念、使用、注意事项、源码概览


Spring状态机

状态机的定义、选型和quick start


JDK8升级到JDK17记录

JDK升级的需求背景,以及升级过程中遇到的问题


Java中的SPI与双亲委派模型

什么是SPI,如何实现SPI,SPI是否是对双亲委派模型的破坏


Jedis的主要设计与实现

Jedis的架构设计、链接管理、集群模式支持


JDK从8升级到11时Netty报错

升级JDK,netty版本不兼容问题排查


Java8中的并行流ParallelStream

ParallelStream概要、工作原理及其使用时需要注意的问题


ORM框架对比

Java中常见的ORM框架的基本使用和特点对比


由MateSpace空间不足引发的FullGC

线上MateSpace引发的FullGC问题排查记录


Dubbo中的知识点总结

Dubbo的基础知识:线程模型、协议、序列化方式、负载均衡策略、集群容错模式等等


JDBC字符集乱码问题

线上JDBC字符集乱码问题排查记录


SpringMVC中的异常处理流程

SpringMVC中几种常见的异常处理方式及异常处理流程分析


Spring容器中的构造和销毁Bean的方法

init和destroy方法、@PostConstruct和@PreDestroy注解、InitializingBean/DisposableBean接口


SpringMVC和Servlet

SpringMVC和Servlet的关系,ServletContext,Spring容器,SpringMVC容器的区别


Java中的NIO

Java中的常见IO模型、NIO的使用


Java中的死锁检查

死锁检查:jstack、arthas


JVM常见的几种GC算法

常见的GC算法及其实现算法


Java中的invokedynamic和lambda表达式

lambda表达式和invokedynamic字节码方法的关系


时间轮定时器

时间轮定时器算法及其实现


Java中Thread相关的一些小知识

Java中Thread相关的一些小知识


Dubbo源码笔记(二)

Dubbo源码学习笔记


Dubbo源码笔记(一)

Dubbo源码学习笔记


Dubbo反序列化抛出的空指针异常问题

Dubbo线上踩坑问题排查记录


CountDownLatch、CyclicBarrier与Semaphore

Java中的信号量及其源码解析


Java线程池ThreadPoolExecutor详解

线程池ThreadPoolExecutor设计架构&源码分析


ConcurrentHashMap的高并发和线程安全

ConcurrentHashMap的数据结构和线程安全实现


HashMap中的Hash冲突解决和扩容机制

解决Hash冲突的常见实现方法,HashMap的解决冲突和扩容机制


TreeSet、HashSet、LinkedHashSet的区别

三个Set的区别和代码实现


Sharding-JDBC Lexer源码分析

Lexer的源码分析,Lexer时怎么做词法分析的


Java中几种属性copy工具比较

常见的属性copy工具及其性能对比


AQS中的独占模式

AQS的毒战模式,以及公平锁和非公平锁


AQS的基本数据结构

AQS的数据结构以及acquire和release的实现


基于自旋的CLH锁

CLH锁的Java实现


基于SnowFlake的分布式主键生成器

SnowFlake的算法分析和实现


Java中三元运算符的装箱拆箱

Java中三元运算符的装箱拆箱遇到的问题及其原因分析


Java集成Kafka简单步骤

Kafka的配置与启动,Java接入Kafka的简单demo


关于#与$的区别


类加载过程

Java类加载过程以及双亲委派模型


Spring IOC 循环依赖

什么是循环依赖以及Spring如何检测循环依赖的


String类型与运行时常量池

String类型以及运行时常量池的变迁


2019

MySQL中的EXPLAIN

EXPLAIN命令作用及其参数解释


给GitHub Pages配置域名和https

GitHub Pages配置https,以及自定义域名配置


MySQL与B-Tree和B+Tree

二叉树和平衡二叉树,B-Tree和B+Tree


个人常用的效率软件及说明

个人常用的效率软件及说明


Surge3配置vmess协议

Surge3 For Mac(v3.3.1)配置vmess协议


JDBC字符集乱码问题

线上JDBC字符集乱码问题排查记录


SpringMVC中的异常处理流程

SpringMVC中几种常见的异常处理方式及异常处理流程分析


Spring容器中的构造和销毁Bean的方法

init和destroy方法、@PostConstruct和@PreDestroy注解、InitializingBean/DisposableBean接口


SpringMVC和Servlet

SpringMVC和Servlet的关系,ServletContext,Spring容器,SpringMVC容器的区别


HTTP协议入门

HTTP协议的发展历史、各个版本的特性


Java中的NIO

Java中的常见IO模型、NIO的使用


Java中的死锁检查

死锁检查:jstack、arthas


JVM常见的几种GC算法

常见的GC算法及其实现算法


Java中的invokedynamic和lambda表达式

lambda表达式和invokedynamic字节码方法的关系


时间轮定时器

时间轮定时器算法及其实现


Java中Thread相关的一些小知识

Java中Thread相关的一些小知识


Scala入门学习笔记(二)

Scala入门学习笔记


Scala入门学习笔记(一)

Scala入门学习笔记


PySpark中遇到过的问题合集

PySpark中遇到过的问题合集


Dubbo源码笔记(二)

Dubbo源码学习笔记


Dubbo源码笔记(一)

Dubbo源码学习笔记


Dubbo反序列化抛出的空指针异常问题

Dubbo线上踩坑问题排查记录


Kafka的三种消息投递语义

Kafka的三种消息投递语义以及如何保证幂等


Kafka+Flume+HDFS的实时采集

Kafka+Flume+HDFS的实时采集,组件配置


CountDownLatch、CyclicBarrier与Semaphore

Java中的信号量及其源码解析


Java线程池ThreadPoolExecutor详解

线程池ThreadPoolExecutor设计架构&源码分析


ConcurrentHashMap的高并发和线程安全

ConcurrentHashMap的数据结构和线程安全实现


HashMap中的Hash冲突解决和扩容机制

解决Hash冲突的常见实现方法,HashMap的解决冲突和扩容机制


TreeSet、HashSet、LinkedHashSet的区别

三个Set的区别和代码实现


Hive中遇到过的问题

Hive中遇到过的问题


数据仓库中的数据分层

为什么要分层以及如何分层


Hive-QL的查询调优

HQL的EXPAIN


Hive-QL中的查询

Hive-QL中的JOIN查询、子查询以及order by、sort by、distirbute by、cluster by等


Elasticsearch中遇到的问题汇总

Elasticsearch中遇到的问题汇总


Elasticsearch中的并发控制

常见的并发控制方法:乐观/悲观并发控制,Elasticsearch中的乐观并发控制


Elasticsearch中的document

document的读写策略


Elasticsearch的基本概念和安装

Elasticsearch的特点、集群和安装


Elasticsearch中常用的API

Elasticsearch中常用的API


Flink的编程模型

Flink的编程模型和基本术语含义


构建第一个Flink应用

编写Flink程序


Hive的安装和使用

Hive的安装和使用步骤,以及Hive中的分区和桶


Hive的基本概念

Hive的基本架构、体系结构,以及和传统数据库的对比