博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2021年4月10日

摘要: java异常体系 java中所有的异常都来自顶级父类ThrowAble。 ThrowAble下有两个子类,Exception和Error。 Error是程序无法处理的错误。一旦出现这个错误,程序将被迫停止运行。 Exception不会导致程序停止,又分为RunTimeException运行时异常和C 阅读全文

posted @ 2021-04-10 11:01 南国木棉 阅读(65) 评论(0) 推荐(0) 编辑

摘要: 双亲委派模型 先看图 java自带三种类加载器, BootStrapClassLoader,ExtClassLoaer,AppClassLoader, 其中BootStrapClassLoader是最高级,ExtClassLoader是BootStrapClassLoader的子加载器,AppCla 阅读全文

posted @ 2021-04-10 10:43 南国木棉 阅读(45) 评论(0) 推荐(0) 编辑

摘要: java类加载器有哪些? jdk自带有三个类加载器: bootstrap,ClassLoader、ExtclassLoader、AppClassLoader。 BootStrapClassLoader 是ExtClassLoader的父类加载器,默认负责加载%JAVA_HOME%lib下jar包 和 阅读全文

posted @ 2021-04-10 10:08 南国木棉 阅读(1266) 评论(0) 推荐(0) 编辑

摘要: 什么是字节码?采用字节码的好处是什么? java中的编辑器和解释器: java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟机的机器。这台虚拟的机器在 任何平台上都提供给编译程序一个的共同的接口。 编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来讲虚拟机代码转换为 阅读全文

posted @ 2021-04-10 09:56 南国木棉 阅读(1031) 评论(0) 推荐(0) 编辑

2021年4月8日

摘要: 如何实现一个ioc容器 1 配置文件配置包扫描路径 2 递归包扫描获取.class文件 3 反射,确定需要交给ioc管理的类。 4 对需要注入的类进行依赖注入 配置文件中指定需要扫描的包。 定义一些朱姐,分别表示控制层,业务层,持久层,依赖注入主角,获取配置文件注解, 从配置文件中获取需要扫描包的路 阅读全文

posted @ 2021-04-08 21:45 南国木棉 阅读(739) 评论(1) 推荐(0) 编辑

摘要: ConcurrentHashMap原理,jdk7和jdk8的区别 jdk7 数据结构:RenntrantLock+Segment+HashEntry,一个Segment中包含了一个hashEntry 数组,每个HashEntry又是一个链表结构, 元素查询:二次hash,第一次hash定位带Segm 阅读全文

posted @ 2021-04-08 21:40 南国木棉 阅读(258) 评论(0) 推荐(0) 编辑

摘要: HashMap 和HashTable的区别?底层实现是什么? 区别: (1)HashMap方法没有synchroized修饰,线程非安全,HashTable线程安全 (2)HashMap允许key和value为null,而HashTable不允许 2 底层实现:数组+链表实现 jkd8开始链表高度到 阅读全文

posted @ 2021-04-08 21:19 南国木棉 阅读(675) 评论(0) 推荐(0) 编辑

摘要: ArrayList : 基于动态数组,连续的内存存储,适合下标访问(随机访问)。 扩容机制 一位内数组长度固定,超出长吨存数据时需要新建数组,然后将会老数组的数据拷贝到新数组, 如果不是尾部插入数据还会涉及到元素的移动(帮后复制一份,插入新元素),使用尾插法并指定 初始值可以极大提升性能,甚至超过l 阅读全文

posted @ 2021-04-08 20:52 南国木棉 阅读(57) 评论(0) 推荐(0) 编辑

2021年3月25日

摘要: hashCode简介 hashCod()作用 是获取哈希码,也称为散列码;他实际上是返回一个int整数,这个哈希码的作用是确定该函数哈希表中的索引位置。hashCode定义在JDK的Object.java中,Java中的任何类都包含有hashCode()函数。 散列表存储的是键值对,他的特点是:能根 阅读全文

posted @ 2021-03-25 20:46 南国木棉 阅读(40) 评论(0) 推荐(0) 编辑

摘要: List 是有序的,按对象进入的顺序进行保存的,可以重复,允许多个null元素对象,可以使用Iterator取出所有元素, 也可以使用get(Index)获取指定元素 Set是无序的,不可重复的,只能有一个null元素对象,取元素的时候只能用Iterator接口获取所有元素,在逐一便历各个元素。 s 阅读全文

posted @ 2021-03-25 20:18 南国木棉 阅读(40) 评论(0) 推荐(0) 编辑