首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
他山之石,可以攻玉 —— Android 工程师必须掌握的 Java 知识体系
彭旭锐
创建于2021-06-15
订阅专栏
Java 是 Android 开发的基础语言,也是面试考察的重要内容之一,却容易被忽视。
等 46 人订阅
共19篇文章
创建于2021-06-15
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
JVM 系列(6)吊打面试官:为什么 finalize() 方法只会执行一次?
Java Finalizer 机制提供了一个在对象被回收之前释放占用资源的时机,但是都说 Finalizer 机制是不稳定且危险的,不推荐使用,这是为什么呢?今天我们来深入理解这个问题。
JVM 系列(4)吊打面试官:对象的内存分为哪几个部分?
Java 中一切皆对象,同时对象也是 Java 编程中接触最多的概念,深入理解 Java 对象能够更帮助我们深入地掌握 Java 技术栈。
飞书前端提到的竞态问题,在 Android 上怎么解决?
昨天,看到飞书团队一篇技术分享 《如何解决前端常见的竞态问题》 ,字节这篇文章是从 Web 端的视角切入的,借鉴意义有限,这篇文章我们从 Android 的视角展开讨论。
NDK 系列(5):JNI 从入门到实践,万字爆肝详解!
JNI 是实现 Java 代码与 C/C++ 代码交互的特性, 思考一个问题 —— Java 虚拟机是如何实现两种毫不相干的语言的交互的呢? 今天,我们来全面总结 JNI 开发知识框架
NDK 系列(6):说一下注册 JNI 函数的方式和时机
在上一篇文章中,我们提到了注册 JNI 函数(建立 Java native 方法和 JNI 函数的映射关系)有两种方式:静态注册和动态注册。今天我们来详细说下这 2 种注册方式的使用方法和实现原理。
数据结构与算法 #16 简答一波 HashMap 常见八股面试题
HashMap 是我们熟悉的散列表实现,也是 “面试八股文” 的标准题库之一。今天,我给出一份 HashMap 高频面试题口述简答答案,希望对你刷题有帮助。
「Java 路线」| 为什么 Java 实现了平台无关性?
从最初学习Java开始,我们就知道Java的口号是:“一次编写,到处运行”。没有了平台的束缚,使得我们再编写Java时并不需要(那么)关心将来运行程序的平台。 那么,Java是如何实现 平台无关性的呢?今天我们来讨论这个问题。 1. 运行环境 = 操作系统 + 硬件 操作系统(…
「Java 路线」| 编译过程(编译前端 & 编译后端)
这篇文章,我们来聊一聊 Java 的编译过程,你将看到从源码到字节码再到本地代码的整个过程。请点赞,你的点赞和关注真的对我非常重要! 1. 经典程序编译原理 如果将目标代码理解为中间代码,就是狭义上的编译过程。例如*.c文件编译生成*.obj文件的过程,或者*.java文件编译…
「Java 路线」| 方法调用的本质(含重载与重写区别)
对于习惯使用面向对象开发的工程师们来说,重载 & 重写 这两个概念应该不会陌生了。在中 / 低级别面试中,也常常会考察面试者对它们的理解(隐约记得当年在校招面试时遇到过); 网上大多数资料 & 面经对这两个概念的阐述,多数仅停留在讨论两者在 表现上 的差异,…
【Deprecated】Java | Object obj = new Object()占用多少字节?
在这篇文章里,我将通过 Object obj = new Object()占用多少字节? 这个问题为线索,与你探讨 Java 堆上对象的内存布局 & 访问。如果能帮上忙,请务必点赞加关注,这真的对我非常重要。 1. 实验结果 JOL(Java Object Layou…
「Java 路线」| 关于泛型能问的都在这里了(含Kotlin)
在这个系列里,我将总结Java & Kotlin中泛型的知识点,带你从 语法 & 原理 全面理解泛型。追求简单易懂又不失深度,如果能帮上忙,请务必点赞加关注! 1. 泛型基础 答:在定义类、接口和方法时,可以附带类型参数,使其变成泛型类、泛型接口和泛型方法。…
「Java 路线」| 反射机制(含 Kotlin)
反射(Reflection)是一种在运行时 动态访问类型信息 的机制。 1. 类型系统的基本概念 答:强 / 弱类型语言的区分,关键在于变量是否 (倾向于) 类型兼容。例如,Java 是强类型语言,变量有固定的类型,以下代码在 Java 中是非法的: 更具体地描述,Java的强…
「Java 路线」| System.getProperty(...) 获取系统属性
在阅读源码的过程中,经常会看到源码中调用了System.getProperty(...)获取系统属性。 在这篇文章里,我将带你理解System.getProperty(...)的源码,如果能帮上忙,请务必点赞加关注,这真的对我非常重要。 1. 初始化 2、构造 props 属性…
金九银十,收下这份 Java String 面试题
在每种编程语言里,字符串都是一个躲不开的话题,也是面试常常出现的问题; 在这篇文章里,我将总结 Java 字符串中重要的知识点 & 面试题
「Java 路线」| 引用类型 & Finalizer 机制
Java Reference 类型 是与虚拟机垃圾回收机制密切相关的知识点,同时也是面试重要考点之一。一般认为 Java 有四种 Reference(强引用 & 软引用 & 弱引用 & 虚引用),但是其实还有隐藏的第五种 Reference,你知道…
「Java 路线」| 服务发现框架 ServiceLoader | 七日打卡
服务发现(Service Provider Interface,SPI)是一个服务的注册与发现机制,通过解耦服务提供者与服务使用者,实现了服务创建 & 服务使用的关注点分离。
Java 虚拟机 | 内存分配模型|七日打卡
1. 运行时数据区域 程序计数器描述的是当前线程下一条需要执行的字节码指令行号。当虚拟机在进行顺序执行、分支、循环、函数调用或异常处理时,都会将「下一条字节码指令的行号」存储在程序计数器中。 为什么 Java 虚拟机需要这个程序计数器呢,这是为了保证正确地进行线程切换。操作系统…
Java 虚拟机 | 拿放大镜看对象 | 七日打卡
目录 前置知识 这篇文章的内容会涉及以下前置 / 相关知识,贴心的我都帮你准备好了,请享用~ Java 内存分配模型: Java 虚拟机 | 内存分配模型 CAS: Java 虚拟机 | CAS 比较
Java 虚拟机 | 垃圾回收机制 | 七日打卡
1. 垃圾回收概述 垃圾回收机制(Garbage Collection,GC) 是一种自动的内存管理机制,即:当内存中的对象不再需要时,就自动释放以让出存储空间。 垃圾回收机制是 Java 虚拟机的重要特性之一,同时也是面试重要考点之一。在实践中,由于 GC 会占用程序运行资源…
Java | JDK 动态代理的原理其实很简单
代理模式也称委托模式,是一种结构型设计模式,也是一项基础设计技巧。其中,动态代理有很多有意思的应用场景,比如 AOP、日志框架、全局性异常处理、事务处理等。这篇文章,我们主要讨论最基本的JDK动态代理