摘要: java类加载器:BootStrapClassLoader(顶层加载器,加载%JAVA_HOME%/lib下的jar包),ExtClassLoader(加载%JAVA_HOME%/lib/ext下的jar包),AppClassLoader(加载classPath下的jar包,同时它也是自定义加载器的 阅读全文
posted @ 2022-05-09 19:25 W_k 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 简单来说分为四个步骤: 1.写一个配置文件,配置包扫描路径 2.根据包扫描路径递归获取.class文件 3.通过反射,确定需要交给IOC容器管理的类 4.对需要注入的类进行依赖注入 配置文件中指定需要扫描的包路径 定义一些注解,分别表示访问控制层,业务服务层,数据持久层,依赖注入注解,获取配置文件注 阅读全文
posted @ 2022-05-09 18:57 W_k 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 首先它和HashTable一样,是线程安全,但是HashTable底层是加了synchronized全局锁,而ConcurrentHashMap底层是分段锁实现的,比HashTable效率更高。 jdk7: 数据结构:ReentrantLock+Segment+HashEntry,一个Segment 阅读全文
posted @ 2022-05-09 18:48 W_k 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 区别: 1.HashMap方法没有synchronized修饰,所以是非线程安全的,HashTable是synchronized修饰,线程安全 2.HashMap允许key和value为null,而HashTable不允许。 HashMap底层实现: jdk8之前是数组加链表的形式,jdk8开始数组 阅读全文
posted @ 2022-05-09 18:13 W_k 阅读(49) 评论(0) 推荐(0) 编辑
摘要: hashCode的介绍 hashCode()的作用是获取哈希码,也称为散列码,它返回的是一个int整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。hashCode()是Object类中的方法,所以所有的类都包含有hashCode函数,散列表存储的是键值对,它的特点是:根据key快速的检索出对 阅读全文
posted @ 2022-05-09 17:49 W_k 阅读(23) 评论(0) 推荐(0) 编辑