自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 面试常见基础问题总结

1.为什么重写equals方法,还必须要重写hashcode方法?equals()和hashCode()都是Object类中自带的方法,原生的equals()是利用==比较俩对象的内存地址,hashCode是native方法,不同对象得到的hashCode不同。Object的一个子类,如String。重写了equals()方法,目的是将内容相同的对象都看做是一样的东西。那为什么要重写hashcode()呢?因为当我们在使用HashMap或HashSet的时候,调用的是该对象的hashcode()方法

2021-09-15 18:02:07 89

原创 Socket理解

Socket是应用层与下层(传输层以及更下层)通信的中间软件抽象层,是一组接口。它把复杂的TCP/IP协议族隐藏在Socket接口后面,对于用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。上图为Socket的通信流程。参照上图,从服务器端说。服务器端先初始化Socket,接着与端口进行绑定(bind),对端口进行监听(listen),调用accept阻塞等待客户端的连接,建立连接之后,服务器端接收到请求并处理请求,然后将回应数据发送给客户端,等待客户端的..

2021-08-25 02:32:20 159

原创 事务四种隔离级别如何加锁

数据库中事务的四种隔离级别(从低到高):READ-UNCOMMITTED(读取未提交)、READ-COMMITTED(读取已提交)、REPEATABLE-READ(可重复读)、SERIALIZABLE(可串行化)。隔离级别 脏读 不可重复读 幻读 READ-UNCOMMITTED √ √ √ READ-COMMITTED × √ √ REPEATABLE-READ × × √ SERIALIZABLE ×

2021-07-26 23:16:22 1445 3

原创 JVM的类加载机制

JVM将我们写的代码文本文件编译成了class字节码文件,而将字节码文件加载到内存当中的这个过程叫做类加载。下图表现了一个类的生命周期其中类加载到内存中有加载、连接、初始化这三步;而连接部分又包含了验证、准备、解析这三步,其中解析阶段有可能在初始化阶段之后再执行(后期绑定)。类加载的步骤除了解析阶段可能在初始化之后完成,其他的步骤都是按顺序完成的。加载加载要和类加载区分开,类加载是指加载、连接、初始化三个阶段,加载只是其中的第一阶段。加载要做的事情是,将class字节码转化为运行时数

2021-07-12 16:56:26 72

原创 单例模式理解

单例模式是一种重要的设计模式,每次使用某一个类的对象时都不会对该对象进行改动,只是调用该对象的一些方法,我们就会采用单例模式。单例模式的特点1.单例类只能有一个实例;2.单例类必须自己创建自己的唯一实例;3.单例类可以为其他对象提供这一个实例。单例模式的好处是堆中只会存在一个单例类的对象,会节省大量内存。实现单例模式要注意几个点1.是否是线程安全的(重要)2.是否懒加载3.能否通过反射机制来破坏单例模式实现单例模式有以下几种常见的方式:饿汉式这个饿汉,他可怕饿

2021-07-12 12:01:24 75

原创 b-树 b+树

b-树举例,下图为一个5阶b-树(最下面的白色三岔符号表示叶子节点,该树的高度为4)这里提一点,b-树的阶数是认为规定的,他不因树结点中的最大关键字数而改变,也不因结点的最大子树数而改变。b-树的属性1.一颗m阶的b-树,每个结点最多有m个子树;根节点切不为结点节点至少有两个子树,非根非叶结点至少有ceiling(m/2)个子树。2.有n个子树的结点有n-1个关键字,他们按序排列(图中的树是递增的,递减也是允许的)。3.叶子结点处于同一层(图中为第4层),可以用空指针表示,是查找

2021-07-08 11:18:57 509

原创 动态代理(通用模板)

首先需要了解两个类java.lang.reflect.Proxy和java.lang.reflect.InvocationHandler我们需要一个接口UserService和一个被代理的实现类UserServiceImplpublic interface UserService { public void add(); public void delete(); public void update(); public void query();}..

2021-06-23 15:59:16 103 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除