java
GuZhC_
这个作者很懒,什么都没留下…
展开
-
Java 的字符串,String、StringBuffer、StringBuilder 有什么区别
String 是 Java 语言非常基础和重要的类,提供了构造和管理字符串的各种基本逻辑。它是典型的 Immutable 类,被声明成为 final class,所有属性也都是 final 的。也由于它的不可变性,类似拼接、裁剪字符串等动作,都会产生新的 String 对象。由于字符串操作的普遍性,所以相关操作的效率往往对应用性能有明显影响。StringBuffer 是为解决上面提到拼接产生太...原创 2018-05-17 11:26:54 · 220 阅读 · 0 评论 -
对比 Exception 和 Error,运行时异常与一般异常有什么区别
Exception 和 Error 都是继承了 Throwable 类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。Exception 和 Error 体现了 Java 平台设计者对不同异常情况的分类。Exception 是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理。Erro...原创 2018-05-14 15:26:37 · 2000 阅读 · 0 评论 -
强引用、软引用、弱引用、幻象引用有什么区别、具体使用场景
1. 强引用:项目中到处都是。2. 软引用:图片缓存框架中,“内存缓存”中的图片是以这种引用来保存,使得JVM在发生OOM之前,可以回收这部分缓存3. 虚引用:在静态内部类中,经常会使用虚引用。例如,一个类发送网络请求,承担callback的静态内部类,则常以虚引用的方式来保存外部类(宿主类)的引用,当外部类需要被JVM回收时,不会因为网络请求没有及时回来,导致外部类不能被回收,引起内存泄漏 ...原创 2018-05-15 10:09:08 · 1483 阅读 · 0 评论 -
对比 Vector、ArrayList、LinkedList 有何区别
Vector、ArrayList、LinkedList均为线型的数据结构,但是从实现方式与应用场景中又存在差别。1 底层实现方式ArrayList内部用数组来实现;LinkedList内部采用双向链表实现;Vector内部用数组实现。2 读写机制ArrayList在执行插入元素是超过当前数组预定义的最大值时,数组需要扩容,扩容过程需要调用底层System.arraycopy()方法进行大量的数组复...原创 2018-05-22 11:03:27 · 182 阅读 · 0 评论