随笔分类 - JAVA
摘要:Java常见的垃圾收集器有哪些? 典型回答 实际上,垃圾收集器(GC,Garbage Collector)是和具体 JVM 实现紧密相关的,不同厂商(IBM、Oracle),不同版本的 JVM,提供的选择也不同。接下来,我来谈谈最主流的 Oracle JDK。 Serial GC,它是最古老的垃圾收
阅读全文
摘要:请介绍类加载过程,什么是双亲委派模型? 典型回答 一般来说,我们把 Java 的类加载过程分为三个主要步骤:加载、链接、初始化,具体行为在Java 虚拟机规范里有非常详细的定义。 首先是加载阶段(Loading),它是 Java 将字节码数据从不同的数据源读取到 JVM 中,并映射为 JVM 认可的
阅读全文
摘要:并发包中的ConcurrentLinkedQueue和LinkedBlockingQueue有什么区别? 典型回答 有时候我们把并发包下面的所有容器都习惯叫作并发容器,但是严格来讲,类似 ConcurrentLinkedQueue 这种“Concurrent”容器,才是真正代表并发。 关于问题中它们
阅读全文
摘要:synchronized和ReentrantLock有什么区别呢? 典型回答 synchronized 是 Java 内建的同步机制,所以也有人称其为 Intrinsic Locking,它提供了互斥的语义和可见性,当一个线程已经获取当前锁时,其他试图获取的线程只能等待或者阻塞在那里。 在 Java
阅读全文
摘要:Java提供了哪些IO方式? NIO如何实现多路复用? 典型回答 Java IO 方式有很多种,基于不同的 IO 抽象模型和交互方式,可以进行简单区分。 首先,传统的 java.io 包,它基于流模型实现,提供了我们最熟知的一些 IO 功能,比如 File 抽象、输入输出流等。交互方式是同步、阻塞的
阅读全文
摘要:动态代理是基于什么原理? 典型回答 反射机制是 Java 语言提供的一种基础功能,赋予程序在运行时自省(introspect,官方用语)的能力。通过反射我们可以直接操作类或者对象,比如获取某个对象的类定义,获取类声明的属性和方法,调用方法或者构造对象,甚至可以运行时修改类定义。 动态代理是一种方便运
阅读全文
摘要:[toc] 谈谈你对Java平台的理解? 典型回答 Java 本身是一种面向对象的语言,最显著的特性有两个方面, 一是所谓的“ 书写一次,到处运行 ”(Write once, run anywhere),能够非常容易地获得跨平台能力; 另外就是 垃圾收集 (GC, Garbage Collectio
阅读全文

浙公网安备 33010602011771号