面试题十:AtomicReference和AtomicReferenceFieldUpdater有何异同? AtomicReference和AtomicReferenceFieldUpdater有何异同?一、面试官视角:这道题想考察什么? 是否熟练掌握原子操作的概念 线程安全问题涉及到操作原子性的概念 是否熟悉AR和ARFU这两个类的用法和原理 是否对Java对象的内存占用有认识 是否有较强的敏感度和深入探究的精神 二、题目剖析:1、AtomicReference的用法 123class 2021-04-26 面试
面试题九:ConcurrentHashMap如何支持并发访问? ConcurrentHashMap如何支持并发访问?一、面试官视角:这道题想考察什么? 是否熟练掌握线程安全的概念 是否深入理解ConcurrentHashMap的各项并发优化的原理 是否掌握锁优化的方法 二、题目剖析:1、并发访问即考察线程安全问题 2、回答ConcurrentHashMap原理即可 3、如果你对ConcurrentHashMap的原理不了解 分析下HashMap为什么不是线 2021-04-26 面试
面试题八:如何写出线程安全的程序? 如何写出线程安全的程序?一、面试官视角:这道题想考察什么? 是否对线程安全有初步了解 是否对线程安全的产生原因有思考 是否知道final,volatile关键字的作用 是否清楚JDK 1.5之前Java DCL为什么有缺陷 是否清楚的知道如何编写线程安全的程序 是否对ThreadLocal的使用注意事项有认识 二、题目剖析:1、什么是线程安全问题? 场景: 假如有三个线程在访问CPU和内存,它 2021-04-26 面试
面试题七:如何停止一个线程? 如何停止一个线程?一、面试官视角:这道题想考察什么? 是否对线程的用法有了解 是否对线程的stop方法有了解 是否对线程stop过程中存在的问题有认识 是否熟悉interrupt中断的用法 是否能解释清楚使用boolean标志位的好处 是否知道interrupt底层的细节 通过该题目能够转移话题到线程安全,并阐述无误 二、题目剖析:1、void stop()、void stop(Throwabl 2021-04-26 面试
面试题六:Activity的onActivityResult使用起来非常麻烦,为什么不设计成回调? Activity的onActivityResult使用起来非常麻烦,为什么不设计成回调?一、面试官视角:这道题想考察什么? 是否熟悉onActivityResult的用法 是否思考过用回调替代onActivityResult 是否实践过用回调替代onActivityResult 是否意识到回调存在的问题 是否能给出匿名内部类对外部类引用的解决方案 二、题目剖析:1、onActivityResul 2021-04-26 面试
面试题五:Java泛型的实现机制是怎样的? Java泛型的实现机制是怎样的?一、面试官视角:这道题想考察什么? 对Java泛型是否仅停留在集合框架的使用 对Java泛型的实现机制的认知和理解 是否有足够的项目开发实战和“踩坑”经验 对泛型(或模版)编程是否有深入的对比研究 对常见的框架原理是否有过深入剖析 二、题目剖析:1、类型擦除从编译角度的细节 2、类型擦除对运行时的影响 3、类型擦除对反射的影响 4、对比类型不擦除的语言(C#) 5 2021-04-26 面试
面试题四:怎样理解Java的方法分派? 怎样理解Java的方法分派?一、面试官视角:这道题想考察什么? 多态、虚方法表的认识 对编译和运行时的理解和认识 对Java语言规范和运行机制的深入认识 横向对比各类语言的能力 Groovy,Gradle DSL 5.0以前唯一正式语言 C++,Native程序开发必备 二、题目剖析: 怎样理解Java的方法分派? 就是确定调用谁的、哪个方法 针对方法重载的情况进行分析 针对方法覆写的 2021-04-26 面试
面试题三:Java的匿名内部类有哪些限制? Java的匿名内部类有哪些限制?一、面试官视角:这道题想考察什么? 考察匿名内部类的概念和用法 考察语言规范以及语言的横向对比等 作为考察内存泄露的切入点 二、题目剖析:1、匿名内部类的名字 匿名内部类没有名字,但在字节码中会定义为 包路径.OuterClass$1..N(外部类加$N,N是匿名内部类的顺序,如:$1表示类里面定义的第一个匿名内部类) 2、匿名内部类的继承结构 匿名内部类被 2021-04-26 面试
面试题二:Java String可以有多长? Java String可以有多长?一、面试官视角:这道题想考察什么? 是否对字符串编解码有深入了解 是否对字符串在内存当中的存储形式有深入了解 是否对Java虚拟机字节码有足够的了解 是否对Java虚拟机指令有一定的认识 二、题目剖析:1、字符串有多长是指字符数还是字节数? 2、字符串有几种存在形式? 3、字符串的不同形式受到何种限制? 12345678910111213141516171819 2021-04-26 面试
面试题一:Java的char是两个字节,如何存UTF-8字符? Java的char是两个字节,如何存UTF-8字符?一、面试官视角:这道题想考察什么? 是否熟悉Java char和字符串(初级) 是否了解字符的映射和存储细节(中级) 是否能触类旁通,横向对比其他语言(高级) 二、题目剖析:1、分别占多少字节? char(字符数据类型)可以存储两个字节(byte),UTF-8可以存储一到三个字节 2、和Unicode什么关系? 12345678char u 2021-04-26 面试