自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Arraylist 和 Vector 的区别

Arraylist 和 Vector 的区别

2023-07-17 21:02:59 238 1

原创 怎么在遍历 ArrayList 时移除一个元素

遍历 ArrayList 时移除一个元素

2023-07-17 21:01:33 541 1

原创 List 、Set和Map 的区别

集合

2023-07-17 20:54:42 160 1

原创 BIO/NIO/AIO的区别

异步非阻塞IO(Asynchronous IO): 非阻塞异步通信模式,NIO的升级版,采用异步通道实现异步通信,其read和write方法均是异步方法。用户进程发起一个IO操作,然后立即返回,等IO操作真正的完成以后,应用程序会得到IO操作完成的通知。C顾客去吃海底捞,由于他是高级会员,所以店长说,你去商场随便玩吧,等下有位置,我立马打电话给你。于是他最后既购了物,又吃上海底捞了。同步阻塞IO(Blocking IO) : 用户进程发起一个IO操作以后,必须等待IO操作的真正完成后,才能继续运行。

2023-07-16 11:51:27 107 1

原创 throw和throws的区别?

是用来声明当前方法有可能会出现某种异常的,如果出现了相应的异常,将由调用者来处理,声明了异常不一定会出现异常。throws:用在方法签名中,用于声明该方法可能抛出的异常。子类方法抛出的异常范围更加小,或者根本不抛异常。是在方法中出现不正确情况时,手动来抛出异常,结束方法的,执行了。后面接的是异常类型,可以接多个,多个异常类型用逗号隔开;throw:用于抛出一个具体的异常对象。后面接的是异常对象,只能接一个。语句一定会出现异常。

2023-07-16 11:49:22 169 1

原创 方法重载和重写的区别?

同个类中的多个方法可以有相同的方法名称,但是有不同的参数列表,这就称为方法重载。参数列表又叫参数签名,包括参数的类型、参数的个数、参数的顺序,只要有一个不同就叫做参数列表不同。方法的重写描述的是父类和子类之间的。当父类的功能无法满足子类的需求,可以在子类对方法进行重写。方法重写时, 方法名与形参列表必须一致。如下代码,Person为父类,Student为子类,在Student中重写了dailyTask方法。重载是面向对象的一个基本特性。

2023-07-16 11:48:20 65 1

原创 final, finally, finalize 的区别

final 用于修饰属性、方法和类, 分别表示属性不能被重新赋值,方法不可被覆盖,类不可被继承。finally 是异常处理语句结构的一部分,一般以出现,finally代码块表示总是被执行。finalize 是Object类的一个方法,该方法一般由垃圾回收器来调用,当我们调用方法的时候,由垃圾回收器调用finalize()方法,回收垃圾,JVM并不保证此方法总被调用。

2023-07-16 11:27:06 58 1

原创 equals和==有什么区别?

有一个静态数组中存放了-128~127之间的所有Integer对象,如果调用valueOf 方法,值是在-128 到 127 之间就直接在cache中去取Integer对象。注意:== 比较Integer有缓存 -128~127,如果直接==比较会出现下列false情况:要使用equals比较。对于基本数据类型,==比较的是他们的值。基本数据类型没有equal方法;对于复合数据类型,==比较的是它们的存放地址(是否是同一个对象)。默认比较地址值,重写的话按照重写逻辑去比较。

2023-07-16 11:25:44 63 1

原创 类实例化的顺序

先静态:父静态 > 子静态。优先级:父类 > 子类 , 静态代码块 > 非静态代码块 > 构造函数。静态属性,静态代码块。普通属性,普通代码块。

2023-07-16 11:24:57 425 1

原创 Java创建对象有几种方式?

Person person = new Person("小明", 18);运用反序列化手段,调用java.io.ObjectInputStream对象的readObject()方法。clone()方法可以创建对象的一个副本,并且可以重写clone()方法来实现深克隆。使用反射,使用Class.newInstance()创建对象。

2023-07-16 11:23:50 167 1

原创 String, StringBuffer 和 StringBuilder区别

StringBuffer 的所有public 方法都是 synchronized 修饰的,而 StringBuilder 并没有。StringBuffer 和 StringBuilder 长度可变,可以拼接字符串线程安全。StringBuffer 是线程安全的,内部使用 synchronized 进行同步。StringBuilder 不是线程安全的。String 不可变,因此是线程安全的。String 长度不可变。

2023-07-16 11:21:18 67 1

原创 自动装箱和拆箱

当赋值100给Integer时,刚好在这个范围内,所以从cache中取对应的Integer并返回,所以a和b返回的是同一个对象,所以。而从Integer的valueOf()源码可以看到,这里的实现并不是简单的new Integer,而是用IntegerCache做一个cache。比较是相等的,当赋值200给Integer时,不在cache 的范围内,所以会new Integer并返回,当然。进行>,<,==比较运算(拆箱) 是先将包装类进行拆箱成基本数据类型,然后进行比较的。比较的结果是不相等的。

2023-07-16 11:19:38 82 1

原创 如何保证数据库中的数据与Redis缓存中的数据一致性?

先更新数据库,再删除缓存,或先删除缓存,在更新数据库

2023-07-14 21:40:58 444 1

原创 阻塞和非阻塞的区别?

同步就是烧开水,要自己来看开没开;异步就是水开了,然后水壶响了通知你水开了(回调通知)。阻塞是烧开水的过程中,你不能干其他事情,必须在旁边等着;非阻塞是烧开水的过程里可以干其他事情。非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。因此对应非阻塞的情况,调用者需要定时轮询查看处理状态。阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会恢复运行。阻塞和非阻塞关注的是线程的状态。

2023-07-04 20:45:58 521

原创 同步和异步的区别?

异步:在调用发出后,被调用者返回结果之后会通知调用者,或通过回调函数处理这个调用。同步:发出一个调用时,在没有得到结果之前,该调用就不返回。

2023-07-04 20:42:02 55

原创 Java支持多继承吗?

Java中,类不支持多继承。接口的作用是拓展对象功能。当一个子接口继承了多个父接口时,说明子接口拓展了多个功能。当一个类实现该接口时,就拓展了多个的功能。出于安全性的考虑,如果子类继承的多个父类里面有相同的方法或者属性,子类将不知道具体要继承哪个。Java提供了接口和内部类以达到实现多继承功能,弥补单继承的缺陷。

2023-07-04 20:40:05 1173

空空如也

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

TA关注的人

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