10 2023 档案
摘要:synchronized锁升级的过程如下: 无锁状态:在对象头中的Mark Word的分布为,此时并没有线程来获取资源。 偏向锁状态:当线程A抢到了锁,锁偏向位改为1,锁标记为不变,指针指向线程A。线程A再次获取锁时,发现锁状态为偏向锁,并且指针指向自己,就可以继续获取锁。 轻量级锁状态:当线程B来
阅读全文
摘要:在Java中,子类在初始化时会自动调用父类的无参构造方法。如果父类没有无参构造方法,子类必须显式地调用父类的构造方法,或者提供一个包含调用父类构造方法的构造方法。 当子类的构造方法被调用时,JVM会在初始化子类的过程中自动调用父类的构造方法。这个过程是自动的,不需要显式地在子类构造方法中调用父类的构
阅读全文
摘要:进程和线程是操作系统中重要的概念,都是操作系统资源分配的基本单位,但它们有以下区别: 地址空间和资源拥有:同一进程的线程共享本进程的地址空间和资源,而进程之间则是独立的。 通信:同一进程内的线程之间可以直接读写彼此的数据空间,便于高效协作;不同进程间则需要借助中间件(如消息队列)等进行通信,数据可能
阅读全文
摘要:@Resource注解是Java平台提供的注解,用于进行依赖注入。当你在类中的字段或属性上使用@Resource注解时,Java容器会自动为该字段或属性注入一个合适的Bean对象。 @Resource注解可以标注在字段或属性的setter方法上。如果标注在字段上,则会自动注入与该字段类型相匹配的Be
阅读全文
摘要:总体上,@Controller和@RestController都是Spring MVC框架中的注解,用于标识一个类是Spring MVC controller处理器,可以接收HTTP请求。但它们在处理请求和返回结果方面存在一些不同。 返回类型: @Controller:如果使用@Controller
阅读全文
摘要:pom文件中导入依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency> <depend
阅读全文
摘要:创建流 如果是数组的话,可以使用 Arrays.stream() 或者 Stream.of() 创建流;如果是集合的话,可以直接使用 stream() 方法创建流,因为该方法已经添加到 Collection 接口中。 public static void main(String[] args) {
阅读全文