
java基础
清风不灭
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java基础面试题
文章转载自:https://blog.youkuaiyun.com/qq_41701956/article/details/86773940面向对象的三个特征封装,继承,多态.这个应该是人人皆知.有时候也会加上抽象.多态的好处允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用).主要有以下优点:可替换性:多态对已存在代码具有可替...转载 2020-03-21 01:29:35 · 4231 阅读 · 0 评论 -
Java中final、finally和finalize的区别
final、finally、finalize的区别1、final修饰符(关键字)。被final修饰的类,就意味着不能再派生出新的子类,不能作为父类而被子类继承。因此一个类不能既被abstract声明,又被final声明。将变量或方法声明为final,可以保证他们在使用的过程中不被修改。被声明为final的变量必须在声明时给出变量的初始值,而在以后的引用中只能读取。被final声明的方法也同样只...转载 2020-03-17 20:48:14 · 141 阅读 · 0 评论 -
java中equals和==的区别
1、对于==如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;如果作用于引用类型的变量,则比较的是所指向的对象的地址2、对于equals方法equals方法不能作用于基本数据类型的变量比较,如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。如果S...原创 2020-03-11 22:03:39 · 207 阅读 · 0 评论 -
Java深克隆和浅克隆的原理和实现
为什么要克隆首先思考一个问题, 为什么需要克隆对象? 直接new一个对象不行吗?克隆的对象可能包含一些已经修改过的属性, 而new出来的对象的属性都还是初始化时候的值, 所以当需要一个新的对象来保存当前对象的"状态"时就要靠克隆了.当然, 把对象的属性一个一个的赋值给新new的对象也是可以的, 但是这样一来麻烦不说, 二来, 我们通过源码查看 Object的clone方法是一个nati...原创 2020-03-11 15:52:04 · 285 阅读 · 0 评论 -
HashMap底层实现原理及面试问题
①HashMap的工作原理HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象。当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算hashcode,让后找到bucket位置来储存值对象。当获取对象时,通过键对象的equals()方法找到正确的键值对,然后返回值对象。HashMap使用链表来解决碰撞问题,当发生碰撞了,对象将会储存...转载 2020-03-08 21:01:40 · 250 阅读 · 0 评论 -
红黑树
文章转载自:https://www.cnblogs.com/LiaHon/p/11203229.html普通的二叉查找树在极端情况下可退化成链表,此时的增删查效率都会比较低下。为了避免这种情况,就出现了一些自平衡的查找树,比如 AVL,红黑树等。这些自平衡的查找树通过定义一些性质,将任意节点的左右子树高度差控制在规定范围内,以达到平衡状态。红黑树具有良好的效率,它可在O(logN)时间内完...转载 2020-03-08 15:57:58 · 388 阅读 · 0 评论 -
手动模拟dbutils
目录结构如下,后面给出相应的实现代码代码中已经做了非常详细的注释,这里不做解释,直接贴代码pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/200...原创 2020-02-06 01:24:33 · 250 阅读 · 0 评论 -
CGLIB详解
本文为个人学习笔记,文章相关内容转载自:https://blog.youkuaiyun.com/danchu/article/details/70238002目录什么是CGLIB为什么使用CGLIBCGLIB组成结构例子常用的APIEnhancerImmutableBeanBean generatorBean CopierBulkBeanBeanMap...转载 2020-01-18 14:52:51 · 2294 阅读 · 0 评论 -
使用CGLIB复制bean
一、使用cglib进行对象复制的必要性复制对象的方法有很多,比如手动set(比较麻烦),使用PropertyUtils或者使用BeanUtils。BeanCopier的性能是PropertyUtils(apache-common)的504倍,而PropertyUtils的性能是BeanUtils的1.71倍。可见对于对象的拷贝,应该尽量使用cglib的BeanCopier。二、B...原创 2020-01-18 13:51:37 · 1102 阅读 · 0 评论 -
java静态代理和动态代理详解
目录一、静态代理二、动态代理(一)JDK动态代理(二)Cglib动态代理(三)jdk动态代理和cglib动态代理的区别代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类(被代理类)预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。为了保持行为的一致性,代理类和委托类通常会实现相同的接口,所以在访问者看...原创 2020-01-18 09:40:19 · 1596 阅读 · 0 评论 -
CGLIB介绍与原理
注:本文为个人学习笔记,文章转载自:https://blog.youkuaiyun.com/zghwaicsdn/article/details/50957474一、什么是CGLIBCGLIB是一个功能强大,高性能的代码生成包。它为没有实现接口的类提供代理,为JDK的动态代理提供了很好的补充。通常可以使用Java的动态代理创建代理,但当要代理的类没有实现接口或者为了更好的性能,CGLIB是一个好的选择...转载 2020-01-17 22:15:09 · 862 阅读 · 0 评论 -
java中的反射
目录一、类加载器二、反射获取Class对象的三种方式通过反射获取构造方法,创建对象。通过反射获取私有构造方法(暴力访问),创建对象通过反射获取成员变量并使用通过反射,创建对象,获取指定的成员变量,进行赋值与获取值操作通过反射找到成员方法并使用通过反射,创建对象,调用指定的private 方法泛型擦除总结一、类加载器类的加载加...原创 2020-01-11 23:11:43 · 598 阅读 · 0 评论 -
java中的异常
一、错误和异常的联系和区别联系 : Throwable: 它是所有错误与异常的超类(祖宗类) |- Error 错误 |- Exception 编译期异常,进行编译JAVA程序时出现的问题 区别: 二、异常的产生和处理 四、异常的捕获和处理 五、异常中常用的方法...原创 2020-01-11 10:47:37 · 173 阅读 · 0 评论 -
Collection常用工具类
Collections工具类该工具类提供了大量针对Collection/Map的操作,总体可分为四类,都为静态(staic)方法:1、排序操作(主要针对List接口相关)reverse(List list):反转指定List集合中元素的顺序shuffle(List list):对List中的元素进行随机排序(洗牌)sort(List list):对List里的元素根据自然升序排序s...转载 2020-01-11 07:56:58 · 392 阅读 · 0 评论 -
java中的Map集合
目录一、Map接口介绍二、Map接口的遍历方式 (2种)三 、其他四、总结一、Map接口介绍概述 : Collection中的集合称为单列集合,Map中的集合称为双列集合。需要注意的是,Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值,键重复值将被覆盖。Map中常用的集合为HashMap集合、LinkedHashMap集合。 接口常用...原创 2020-01-11 07:46:17 · 552 阅读 · 0 评论 -
java集合Collection
目录一 、集合和数组的联系以及区别二、集合的继承关系三 、collection接口常见的方法四、Iterator迭代器五、增强for要点六、集合&泛型一 、集合和数组的联系以及区别联系 : 集合和数组都是java提供的容器。 区别 :数组的长度是固定的,集合的长度是可变的。集合储存的数据必须是引用数据类型。集合本身不接受基本数据类型,但java有自...原创 2020-01-10 21:38:16 · 367 阅读 · 0 评论 -
java集合List&Set
目录一、List二、set&HashSet HashSet三、判断集合元素唯一性原理四、总结一、List特点:有序、有索引、可以重复元素。 实现类:ArrayList、LinkList。 遍历方式:迭代器、普通For循环、增强For循环 常用方法: 带索引 ,所以一定要注意访问越界。迭代器的并发修改异常...原创 2020-01-10 23:31:45 · 747 阅读 · 0 评论