JDK11版本特性
JDK11 是继JDK8后又一个长期支持版本(LTS) ,
2018年9月25日,Oracle 官方宣布 Java...
ANDROID进程系统:进程的创建、启动与调度流程
文章目录
一 进程的创建与启动流程
二 进程的优先级
三 进程的调度流程...
Java SPI原理与源码分析
Java SPI原理与源码分析
概述
SPI是Service Provider Interface的缩写,jdk...
算法 – 二叉树
二叉树是一种数据结构,并且拥有种类复杂的分支,本文作为入门篇,只介绍一些...
Android 16 开发者适配文档
1、应用适配 -> target36以上
1.1 scheduleAtFixedRate方法适配
说明:
...
Android设计模式源码解析之责任链模式
1. 模式介绍
模式的定义
一个请求沿着一条“链”传递,直到该“链”上的某个处...
Android 基于Kotlin Flow实现一个倒计时功能
简单示例:
flow {
log("send hello")
emit("hello") //发送数据
...
插件Service的运行管理
Service启动的大体流程
我们从ContextImpl.startService()开始看。 为什么从这...
【Jvm】Jvm类加载机制
类加载时机
虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、...
Java程序运行原理分析
class文件内容
class文件包含Java程序执行的字节码
数据严格按照格式紧凑...
算法题 – 最小覆盖子串
今天我们看一道 leetcode hard 难度题目:最小覆盖子串。
题目
给你一个字...
kotlin泛型
泛型使用方法
在类上使用泛型
类上面使用泛型,需要把泛型声明在类名后...
kotlin:引子约定plus约定invoke约定 & in约定 & range约定
引子
假设女生的择偶标准如下:未婚且岁数比我大,如果对方是本地帅哥...
Flutter发布库流程
创建flutter库
先创建一个Flutter库工程,再在此库工程中创建Flutter项目。
flutte...
Android架构模式
Android项目工程中常用的架构模式有MVC, MVP, MVVM以及现在新出的MVI。
下面一起...
线程池的原理分析
线程使用上的问题
new Thread().start();
线程的频繁创建和销毁
线程的数...
Android计算图片占用内存大小
前言
对于一张图片,你知道应该存放在那个资源目录下面吗,或者说,放在那个资...
JNI 编程上手指南之 JNI 调用性能优化
为什么要做性能优化
Java 程序中,调用一个 Native 方法相比调用一个 Java 方...

