随笔分类 - 面试准备
摘要:Java的类加载机制是指在Java程序运行时,将类文件加载到内存中的一系列步骤。Java的类加载机制遵循着“按需加载”的原则,也就是说,只有在需要用到某个类的时候,才会将这个类的相关信息加载到内存中。这种“按需加载”的设计使得Java程序具备了很好的灵活性和效率。 Java的类加载器主要分为三类:启
阅读全文
摘要:对象的 hashCode 和 equals 方法特点 对于 hashCode 和 equals 方法,我们有以下三个结论: 结论 1:hashcode 相等,equals 不一定相等。结论 2:equals 相等,hashcode 一定相等。结论 3:hashcode 不相等,equals 一定不相
阅读全文
摘要:BeanFactory: 是Spring里面最底层的接口,提供了最简单的容器的功能,只提供了实例化对象和拿对象的功能; ApplicationContext: 应用上下文,继承BeanFactory接口,它是Spring的一各更高级的容器,提供了更多的有用的功能; 1) 国际化(MessageSou
阅读全文
摘要:问题 比如一张 id 自增的表中有 8 条数据,删除两条后,重启 MySQL 服务后,又插入一条数据,那么此时自增的 id 会从几开始呢? 说明 1. 如果表的引擎类型是 MyISAM,那么这条记录的 ID 就是 9。因为 MyISAM表会把自增主键的最大ID记录到数据文件里面,重启 MySQL 后
阅读全文
摘要:1.简述 SpringBoot因为内置了tomcat或jetty服务器,不需要直接部署War文件,所以SpringBoot的程序起点是一个普通的主函数。 主函数如下: @SpringBootApplication public class DemoApplication { public stati
阅读全文
摘要:https://blog.csdn.net/wujun2412/article/details/123392678
阅读全文
摘要:1.Exception和Error的区别 由上图可知Exception和Error都继承自Throwable,在Java中只有Throwable类型的实例才可以被抛出或捕获。 Error指正常情况下不太可能出现的情况,绝大部分的Error或导致程序崩溃,处于非正常的不可恢复的状态,如OutOfMem
阅读全文
摘要:一、类加载的过程 装载:通过累的全限定名获取二进制字节流,将二进制字节流转换成方法区中的运行时数据结构,在内存中生成Java.lang.class对象; 链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的; 校验:检查导入类或接口的二进制数据的正确性;(文件格式验证,元数据验证,字节码验
阅读全文
摘要:一、hashcode与equals的关系 hashCode():将任意一个对象根据指定的算法转为32位int equlas():比较两个对象是否相等 equals相等的两个对象,hashCode一定相等。hashCode相等的两个对象,equals不一定相等。 如果equals为true,hashc
阅读全文
摘要:1、ThreadLocal知识体系 本文还是不能免俗,在回答这个问题之前需要先和大家介绍一下ThreadLocal的知识,使大家对ThreadLocal有一个相对全面的认识。 ThreadLocal本地线程变量,主要用于解决数据访问的竞争,通常用于多租户、全链路压测、链路跟踪中保存线程上下文环境,在
阅读全文
摘要:一、浅拷贝深拷贝的理解 简单说拷贝就是将一个类中的属性拷贝到另一个中,对于BeanUtils.copyProperties来说,你必须保证属性名和类型是相同的,因为它是根据get和set方法来赋值的。 1.1、浅拷贝 浅拷贝可以理解为如果是引用类型,那么目标对象拷贝的只是源对象的地址,无论目标对象还
阅读全文
摘要:一、sleep()和wait()的区别 1、相同点 sleep()和wait()都可以暂停线程的执行。 2、不同点 所在类不同 sleep()是Thread类的静态方法。 wait()是Object类的方法。 锁释放不同 sleep()是不释放锁的。wait()是释放锁的。 用途不同 sleep()
阅读全文
摘要:可参考硬核资料:https://blog.csdn.net/weixin_43184769/article/details/91126687 springboot中mybatis的mapper接口是如何生成代理对象的:https://www.jianshu.com/p/de4c41dccc89 一、
阅读全文
摘要:一、流程说明 1、 启动spring容器,也就是创建beanFactory(bean工厂), 一般用的是beanFactory的子类applicationcontext, applicationcontext比一般的beanFactory要多很多功能,比如aop、事件等。 通过application
阅读全文
摘要:https://blog.csdn.net/l18848956739/article/details/106786430
阅读全文
摘要:一.synchronized的缺陷 synchronized是java中的一个关键字,也就是说是Java语言内置的特性。那么为什么会出现Lock呢? 如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取
阅读全文
摘要:一、结论 Executor, ExecutorService 都是接口,ExecutorService继承于Executor, Executors是工具类,他提供对ThreadPoolExecutor的封装产生ExecutorService的具体实现类。 二、Executor和ExecutorSer
阅读全文
摘要:一、并发容器的由来 在Java并发编程中,经常听到Java集合类,同步容器、并发容器,那么他们有哪些具体分类,以及各自之间的区别和优劣呢? 只有把这些梳理清楚了,你才能真正掌握在高并发的环境下,正确使用好并发容器,我们先从Java集合类,同步容器谈起。 二、什么是同步容器 Java的集合容器框架中,
阅读全文
摘要:一、 4个隔离级别 (1)读未提交:read uncommitted (2)读已提交:read committed (3)可重复读:repeatable read (4)串行化:serializable 脏读不可重复读幻读 Read uncommitted √ √ √ Read committed
阅读全文
摘要:先祭一张图,可以思考一下为什么? 一、介绍 equals() 的作用是用来判断两个对象是否相等。 hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。 二、关系 我们以“类的用途”来将“hashCode() 和 eq
阅读全文