第6讲、动态代理是基于什么原理

编程语言通常有各种不同的分类角度,动态类型和静态类型就是其中一种分类角度,简单区分就是语言类型信息是在运行时检查,还是编译期检查。 与其近似的还有一个对比,就是所谓强类型和弱类型,就是不同类型变量赋值时,是否需要显式地(强制)进行类型转换。 那么,如...

Java核心技术面试精讲

第7讲、int和Integer有什么区别

Java虽然号称是面向对象的语言,但是原始数据类型仍然是重要的组成元素,所以在面试中,经常考察原始数据类型和包装类等Java语言特性。 今天我要问你的问题是,int和Integer有什么区别?谈谈Integer的值缓存范围。 典型回答int是我们常说...

Java核心技术面试精讲

第8讲、对比Vector、ArrayList、LinkedList有何区别

我们在日常的工作中,能够高效地管理和操作数据是非常重要的。由于每个编程语言支持的数据结构不尽相同,比如我最早学习的C语言,需要自己实现很多基础数据结构,管理和操作会比较麻烦。相比之下,Java则要方便的多,针对通用场景的需求,Java提供了强大的集合...

Java核心技术面试精讲

第9讲、对比Hashtable、HashMap、TreeMap有什么不同

Map是广义Java集合框架中的另外一部分,HashMap作为框架中使用频率最高的类型之一,它本身以及相关类型自然也是面试考察的热点。 今天我要问你的问题是,对比Hashtable、HashMap、TreeMap有什么不同?谈谈你对HashMap的掌...

Java核心技术面试精讲

第10讲、如何保证集合是线程安全的 ConcurrentHashMap如何实现高效地线程安全

我在之前两讲介绍了Java集合框架的典型容器类,它们绝大部分都不是线程安全的,仅有的线程安全实现,比如Vector、Stack,在性能方面也远不尽如人意。幸好Java语言提供了并发包(java.util.concurrent),为高度并发需求提供了更...

Java核心技术面试精讲

第11讲、Java提供了哪些IO方式 NIO如何实现多路复用

IO一直是软件开发中的核心部分之一,伴随着海量数据增长和分布式系统的发展,IO扩展能力愈发重要。幸运的是,Java平台IO机制经过不断完善,虽然在某些方面仍有不足,但已经在实践中证明了其构建高扩展性应用的能力。 今天我要问你的问题是,Java提供了哪...

Java核心技术面试精讲
12347