文章分类 - Java核心技术36讲-极客时间
摘要:第4讲 | 强引用、软引用、弱引用、幻象引用有什么区别? 在Java语言中,除了原始数据类型的变量,其他所有都是所谓的引用类型,指向不同的对象。理解引用对于掌握Java对象生命周期和JVM内部相关机制非常有帮助。 今天我要问你的问题是:强引用,软引用、弱引用、幻想引用有什么区别?具体使用场景是什么?
阅读全文
摘要:有哪些方法可以在运行时动态生成一个Java类? 典型回答 我们可以从常见的Java类来源分析,通常的开发过程是,开发者编写Java代码,调用javac编译成class文件,然后通过类加载机制载入JVM,就成为应用运行时可以使用的Java类了。 从上面过程得到启发,其中一个直接的方式是从源码入手,可以
阅读全文
摘要:Java通过引入字节码和JVM机制,提供了强大的跨平台能力,理解Java的类加载机制是深入Java开发的必要条件,也是个面试考查热点。 今天的问题是,请介绍类加载过程,什么是双亲委派模型? 典型回答 一般来说,我们把Java的类加载过程分为三个主要步骤:加载、链接、初始化,具体行为在Java虚拟规范
阅读全文
摘要:谈谈 final、finally、 finalize 有什么不同? 答: final 可以用来修饰类、方法、变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展,final 的变量是不可以修改的,而 final 的方法也是不可以重写的(override)。 finally 则是
阅读全文
摘要:请对比 Exception 和 Error,另外,运行时异常与一般异常有什么区别? 答: Exception 和 Error 都是继承了 Throwable 类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。 E
阅读全文
摘要:谈谈你对 Java 平台的理解?“Java 是解释执行”,这句话正确吗? 答: Java 本身是一种面向对象的语言,最显著的特性有两个方面,一是所谓的“书写一次,到处运行”(Write once, run anywhere),能够非常容易地获得跨平台能力;另外就是垃圾收集(GC, Garbage C
阅读全文

浙公网安备 33010602011771号