首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
他山之石,可以攻玉 —— Android 工程师必须掌握的 Java 知识体系
彭旭锐
创建于2021-06-15
订阅专栏
Java 是 Android 开发的基础语言,也是面试考察的重要内容之一,却容易被忽视。
等 57 人订阅
共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动态代理