Skip to content

学习笔记

Java 基础

Java 注解

注解就是代码中的一种特殊标记,最开始是在 java doc 中使用,这些标记可以在编译,运行时被读取,并执行相应的处理。

spring 中的注解:@Controller、@Component、@Service、@Repository、@Configuration、@Bean

Java 中的注解:@Override 、@Deprecated、@FuncationalInterface

Java 中的元注解:@Retention(注解的生命周期)、@Target(注解的使用范围)、@Inherited、@Documented

自定义注解 + AOP 实现接口调用统计,如果接口带有自定义的注解,则记录相关调用情况

Java 泛型

Java 泛型是程序设计语言的一种风格或范式,允许程序员在编写代码时不指定具体的类型,而是在创建实例或者调用方法时才明确指定具体的类型。

使用泛型的好处是,让代码更简洁,不需要手动强制类型转换;让程序更加健壮,在编译期不会告警,减少出现 ClassCastException 异常。

Java NIO

与传统 io 的区别

传统 IO 是一次一个字节处理数据,NIO 是以块的形式处理数据

传统IO是阻塞的,NIO 是非阻塞的

NIO 有三个核心组成部分:Buffer 、Channel 、Selector

Java 反射

Java 反射可以让我们在运行时获取类的信息

Java 并发

多线程基础

进程是资源分配的基本单位,线程是资源调度的基本单位

使用多线程是为了提高资源的利用率,多核处理器

Tomcat 一个请求会从线程池中获取一个线程进行处理

数据库连接池也是使用多线程

CAS

compare and swap 比较并交换

三个操作数:当前值,内存值,新值

问题 ABA,AtomicStamppedReference 内存值 + 版本号

Synchronized