首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Andorid高级武器库之Java基础
拳布离手
创建于2023-05-25
订阅专栏
TODO
等 34 人订阅
共33篇文章
创建于2023-05-25
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
十三、 梦开始的地方-startActivity
概述 对于安卓工程师来说,startActivity就如同初恋一般,熟悉又陌生。在写startActivity代码时,有一些比较重要的问题,同时也是可能的面试点。 骚气的TaskAffinity 回顾
十二、android对JVM的优化
概述 安卓的四层架构,最上面两层,(应用层,应用框架层)都是java编写的,剩余三层是 库和运行时,硬件层,linux内核层 是C++写的。安卓中我们接触最多的还是 java代码(kotlin只是ja
十一、Java线程池刨根问底
概述 Java线程的创建,以及线程之间切换上下文时,引入了轻量级锁,偏向锁等技术。目的就是:减少用户态和核心态的切换频率。 但是创建和销毁线程同样也 非常损耗性能,因为java的线程都会影射到 操作系
十、ReentrantLock原理
AQS AQS是一个多线程编程框架,abstract Queued Synchronizer (抽象队列同步器),可称之为同步器。 在我们很熟悉的地方用到了这些东西,比如:RenntrantLock
九、synchronize实现原理
概念 使用synchronize同步关键字可以实现线程之间的同步,保证多个线程的同时操作下的数据安全。但是 synchronize是一个重量级操作,比如下面的案例: 同步代码块中只有++操作,实际上它
八、synchronized与ReentrantLock简介
概念 synchronized与ReentrantLock 都是java多线程编程中的重要工具,可以保证编写出的代码线程安全。 之所以存在多线程不安全,是因为一个变量,在多个线程,多个CPU高速缓存的
七、Java内存模型详解
所谓JMM JMM,全称 java memory model ,中文翻译为:java内存模型。在了解它之前,首先要对一些知识进行铺垫。 CPU知识普及 线程是CPU调度的最小单位。线程中的字节码都将会
六、Class对象在JVM中的初始化过程
概述 JVM将字节码加载到内存中,是通过ClassLoader实现的,ClassLoader遵循了双亲委派机制,ClassLoader的实现类之间存在父子关系,优先由父来进行加载,如果父找不到该cla
五、ClassLoader详解
概述 一个完整的java程序是由多个class文件构成的,程序运行时,JVM需要将这些class加载到内存中才能使用到它们。负责加载这些class文件的是 ClassLoader。 ClassLoad
四、java字节码插桩入门
本文讨论的是 Android开发中的字节码插桩。 而插桩的实现方式,门派繁多,有各种流派,本文只是介绍其中一种。特别是谷歌推行 build.gradle.ktx之后,又兴起了一套新的插桩写法。 概念
三、class类文件结构
Class文件来龙去脉 java之所以能够跨平台,是因为 jdk可以生成可以在各个平台的JVM上运行的中间代码产物 ---.class文件。class文件解除了JVM和java语言之间的耦合。 JVM
二 、JVM GC回收机制和分代回收策略
概述 JAVA 开发者比C++开发者幸福的地方就是 我们不必手动去申请和释放内存,JVM会帮我们自动释放。 但是JAVA开发者的代价是,一旦这种自动回收机制出现问题,我们必须去深入理解JVM的GC回收
一 、java运行时内存分配
内存划分 很多人都将JVM的内存划分为 堆内存heap和栈内存 stack,但是这并不完全准确,更详细的划分如下图: helloWorld.java 被编译器调用javac命令 生成 helloWor