随笔分类 - Learning
摘要:在分析ThreadLocal源码之前,我们先从概念入手,由浅入深。 一、谈谈对ThreadLocal的理解以及它与synchronized的区别 一句话总结: ThreadLocal 提供线程局部变量,通过线程隔离机制,确保每个线程拥有变量的独立副本,实现了“以空间换时间”的线程安全。 与 sync
阅读全文
摘要:今天面试被问到Java数组支持泛型吗?泛型类型能动态获取吗?这块的知识有点模糊,最终说出了自己的理解后面试官人也挺好,说这个知识点有点偏,不算正式考核hh。 在 Java 面试中,数组与泛型的交互问题是高频考点,比如 “数组是否支持泛型”“能否动态获取泛型类型”。这两个问题的核心都围绕 Java 的
阅读全文
摘要:从上一篇博客可以初步了解到Bean的生命周期总体包括:【创建Bean】——>【Bean属性赋值/填充】——>【Bean初始化】——>【使用Bean】——>【销毁Bean】这五个步骤,但是面试中如果只回答这些,面试官大概率是不会满意;现在,我将继续用print实战大法深入探究Bean的生命周期 一、初
阅读全文
摘要:今天面试被问到Bean的生命周期,我就巴拉巴拉说了5个步骤,最后反问阶段面试官说不够详细。今天就来实战梳理一下! 一、定义一个Student类 为了方便看到生命周期过程,我直接使用print大法; 另外,将类交给Spring容器管理可以通过xml文件形式和注解形式,接下来我都实现一下 1、xml形式
阅读全文
摘要:@Transactional 注解是 Spring 框架中声明式事务管理的核心,它极大地简化了开发人员的事务管理工作。然而,在日常开发中,我们常常会遇到一个令人困惑的问题:“明明加了 @Transactional 注解,为什么事务没有生效?” 这通常不是 Spring 的 bug,而是我们对它的工作
阅读全文
摘要:Synchronized锁获取与升级流程——从偏向锁到重量级锁 synchronized 关键字是 Java 并发编程的元老,很多人对它的印象还停留在“重量级”、“性能差”。但从 JDK 1.6 开始,synchronized 引入了锁升级机制,使其变得非常智能。 这套机制的核心思想是“按需分配”,
阅读全文
摘要:一、什么是 Happens-before 原则 Happens-before 原则是 Java 内存模型(JMM)的核心概念,用于定义多线程环境下操作之间的内存可见性关系。 核心理解:如果操作 A happens-before 操作 B,那么 A 的执行结果对 B 可见。这个原则主要解决了 Java
阅读全文
摘要:首先,看到空struct的大小我们就应该条件反射到:这个struct是指C语言中的还是C++中的! 1、核心差异 在C语言中,struct是用户自定义数据类型,而在C++中,struct是类对象; C++的空类大小是1字节,而C的空结构体大小是未定义行为(但支持它的编译器通常设为0)。这是由两者的对
阅读全文
摘要:Myclass.h #pragma once #include<iostream> #include<Windows.h> #define SUCCESS 1 // 成功 #define ERROR -1 // 失败 #define MALLOC_ERROR -2 // 申请内存失败 #define
阅读全文

浙公网安备 33010602011771号