Java36讲
文章平均质量分 95
Handsome-Zan
这个作者很懒,什么都没留下…
展开
-
第 1 讲:谈谈对 Java 平台的理解
1、谈谈对 Java 平台的理解? Java 本身是一种面向对象的语言,最显著的特性包括两个方面: Write once, run anywhere(一次编译,到处执行)。 GC, Garbage Collection(垃圾收集)。 Java 特性: 面向对象(封装,继承,多态) 平台无关性(Java 虚拟机(JVM )运行.class 文件):不同的平台都有可以让 Java 运行...原创 2018-12-26 21:14:05 · 146 阅读 · 0 评论 -
第 2 讲:谈谈 Exception 和 Error 的区别
Exception 和 Error 的区别: Exception 和 Error 都是继承了 Throwable 类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。 Exception 是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理。 Exception 又分为可检查(checked...原创 2018-12-28 08:46:32 · 149 阅读 · 0 评论 -
第 3 讲:谈谈 final、finally、 finalize 有什么不同
final 可以用来修饰类、方法、变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展,final 的变量是不可以修改的,而 final 的方法也是不可以重写的(override)。 finally 则是 Java 保证重点代码一定要被执行的一种机制。我们可以使用 try-finally或者 try-catch-finally 来进行类似关闭 JDBC 连接、保证 unlo...原创 2018-12-28 16:21:32 · 129 阅读 · 0 评论 -
第 4 讲:谈谈强引用、软引用、弱引用、幻象引用的区别
强引用、软引用、弱引用、幻象引用的区别: 不同的引用类型,主要体现的是对象不同的可达性(reachable)状态和对垃圾收集的影响。 强引用(“Strong” Reference): 我们平常典型编码 Object obj = new Object() 中的 obj 就是强引用。通过关键字 new 创建的对象所关联的引用就是强引用。 当 JVM 内存空间不足,JVM 宁愿抛出 OutOfMe...原创 2019-01-03 21:51:52 · 181 阅读 · 0 评论 -
第 5 讲:谈谈 String、StringBuffer、StringBuilder 的区别
String String 提供了构造和管理字符串的各种基本逻辑。它是典型的 Immutable 类,被声明成为 final class,所有属性也都是 final 的。也由于它的不可变性,类似拼接、裁剪字符串等动作,都会产生新的 String 对象。由于字符串操作的普遍性,所以相关操作的效率往往对应用性能有明显影响。 String 的创建机理 由于 String 在 Java 中使用过于频繁...原创 2019-01-04 21:07:48 · 255 阅读 · 3 评论 -
第 6 讲:谈谈 Java 反射机制,动态代理是基于什么原理?
反射机制 Java 语言提供的一种基础功能,赋予程序在运行时自省(introspect,官方用语)的能力。可以在运行时通过提供完整的“包名+类名.class”得到某个对象的类型。 功能 在运行时能判断任意一个对象所属的类。 在运行时能构造任意一个类的对象。 在运行时判断任意一个类所具有的成员变量和方法。 在运行时调用任意一个对象的方法。 利用Java反射机制我们可以加载一个运行时才得知...原创 2019-01-06 21:28:49 · 2341 阅读 · 0 评论 -
第 7 讲:谈谈 int 和 Integer 的区别、Integer 的值缓存范围
int: int 是 Java 的 8 个原始数据类型(Primitive Types,boolean、byte 、short、char、int、float、double、long)之一。Java 语言虽然号称一切都是对象,但原始数据类型是例外。 Integer: Integer 是 int 对应的包装类,它有一个 int 类型的字段存储数据,并且提供了基本操作,比如数学运算、int ...原创 2019-01-07 19:39:35 · 440 阅读 · 0 评论 -
第 8 讲:谈谈 Vector、ArrayList、LinkedList 的区别
共同点: 这三者都是实现集合框架中的 List,也就是所谓的有序集合,因此具体功能也比较近似,比如都提供按照位置进行定位、添加或者删除的操作,都提供迭代器以遍历其内容等。但因为具体的设计区别,在行为、性能、线程安全等方面,表现又有很大不同。 Vector: Java 早期提供的线程安全的动态数组,如果不需要线程安全,并不建议选择,毕竟同步是有额外开销的。 读写机制:Vector 默认...原创 2019-01-08 18:52:46 · 127 阅读 · 0 评论 -
第 9 讲:谈谈 Vector、ArrayList、LinkedList 的区别
共同点: Hashtable、HashMap、TreeMap 都是最常见的一些 Map 实现,是以键值对的形式存储和操作数据的容器类型。 Hashtable: 元素特性 早期 Java 类库提供的一个哈希表实现,本身是同步的,不支持 null 键和值,无序,由于同步导致的性能开销,所以已经很少被推荐使用。 初始化与增长方式 HashTable在不指定容量的情况下的默认容量为11,且不...原创 2019-01-12 16:26:06 · 199 阅读 · 0 评论