摘要:在Java中,同步(Synchronous)和异步(Asynchronous)是用来描述程序执行模式的概念。 1. 同步:同步指的是按照程序的顺序依次执行代码,每个操作都会等待前一个操作完成后再执行。同步执行的特点是阻塞,即某个操作的完成会导致后续操作的等待。在多线程编程中,同步可以通过使用锁(如`
阅读全文
摘要:在Java中,序列化(Serialization)是指将对象的状态转换为字节流的过程,以便将其保存到文件、在网络中传输或持久化到数据库中。而反序列化(Deserialization)则是将字节流转换回对象的过程,恢复对象的状态。 序列化和反序列化主要用于以下场景: 1. 对象持久化:通过序列化,可以
阅读全文
摘要:在Java中,可以使用以下方法中断线程: 1. 使用`interrupt()`方法:每个线程对象都有一个`interrupt()`方法,用于中断该线程。当调用线程的`interrupt()`方法时,它会设置线程的中断状态为"中断",但并不会立即停止线程的执行。线程在执行过程中可以通过检查中断状态来决
阅读全文
摘要:HashMap是Java中常用的数据结构之一,它提供了高效的键值对存储和检索功能。下面是HashMap底层的详细原理介绍: 1. 数据结构:HashMap底层使用数组和链表(或红黑树)的组合实现。它通过哈希算法将键转换为数组索引,并将值存储在对应索引位置上。 2. 哈希算法:当我们向HashMap中
阅读全文
摘要:Java的Object类是所有类的根类,它提供了一些通用的方法。下面是一些常用的Object类方法: 1. equals(Object obj):判断当前对象是否与给定对象相等。默认情况下,equals方法比较的是对象的引用,但可以通过在具体类中重写equals方法来改变其比较行为。 2. hash
阅读全文
摘要:Lombok是一个Java库,通过使用注解简化Java类的开发,减少冗余的样板代码。以下是一些常用的Lombok注解及其作用: 1. `@Data`:生成所有属性的getter、setter、`toString()`、`equals()`和`hashCode()`方法。2. `@Getter`:生成
阅读全文
摘要:Spring框架提供了众多注解,以下是Spring中常用的注解及其解释: 1. `@Component`:用于标识一个类为Spring的组件,可以被自动扫描并注册为Bean。 2. `@Repository`:用于标识一个类为数据访问层(DAO)组件。 3. `@Service`:用于标识一个类为服
阅读全文
摘要:构造函数是一个特殊的方法,它用于创建对象时初始化对象的实例变量。每个类都至少有一个构造函数,如果没有定义,则会有一个默认的无参构造函数。构造函数与类名相同,没有返回类型。构造函数可以用于为对象分配内存,初始化对象的状态,执行其他初始化任务等。
阅读全文
摘要:JVM(Java虚拟机)是Java程序的运行环境,它可以通过一些系统参数进行配置和优化。以下是一些常用的JVM系统参数: 1. -Xmx: 用于设置JVM堆的最大内存大小。例如,-Xmx1g表示将堆的最大大小设置为1GB。 2. -Xms: 用于设置JVM堆的初始内存大小。例如,-Xms512m表示
阅读全文
摘要:今天发现一个域名或ip居然在ping不通的情况下能curl通,以前的思维定式直接给整破防了啊!!! 涨见识了,具体原因和原理后续补充~
阅读全文
摘要:Spring Boot 配置文件加载是通过 Spring Boot 的自动配置机制实现的,它可以根据不同的环境加载不同的配置文件,包括 application.properties、application.yml、application-{profile}.properties 和 applicat
阅读全文
摘要:JDK动态代理和CGLIB代理都是实现Spring框架中AOP的代理方式,它们的实现原理和应用场景有所不同, 具体区别如下: 1. 实现原理: JDK动态代理是基于Java反射机制实现的,它要求目标类必须实现一个或多个接口,代理对象在运行时动态创建,通过实现目标类接口的方式来代理目标类。 CGLIB
阅读全文
摘要:在 MySQL 中,常见的锁类型有以下几种: 1. 共享锁(Shared Lock,简称 S 锁): 也称为读锁,多个事务可以同时持有共享锁,用于读取数据,不会阻止其他事务获取共享锁,但会阻止其他事务获取排他锁。 2. 排他锁(Exclusive Lock,简称 X 锁): 也称为写锁,只有一个事务
阅读全文
摘要:`synchronized` 是 Java 中用来实现线程同步的关键字,它的主要作用是对代码块或方法进行加锁,保证在同一时刻只有一个线程能够执行被加锁的代码块或方法,从而避免多个线程同时访问共享资源导致的数据不一致问题。 `synchronized` 的实现原理是基于 Java 对象头中的 moni
阅读全文
摘要:com.google.gson.JsonArray用里面元素的id为key元素JsonObject为value且要记下每个元素本来的位置,用java集合实现: 可以使用LinkedHashMap来实现这个需求。 LinkedHashMap是基于哈希表实现的Map,但是同时维护一个插入顺序链表,可以保
阅读全文