Wxy's Blog
  • 首页
  • 归档
  • 标签
  • 关于
  • 友链
不因虚度年华而悔恨,不因碌碌无为而羞愧

博客导读

对博客内的文章提供快速入口,按照分类进行查看。 其中主要涉及以下模块: 计算机网络相关 HTTP的原理和工作机制 HTTP的原理和工作机制 TCP/IP协议相关 TCP/IP协议相关 计算机网络基础 计算机网络基础 JVM相关 Android中的GC分析-Dalvik和ART虚拟机 Android中的GC分析-Dalvik和ART虚拟机 JVM相关及其拓展(七) — 线程
2019-03-14
#目录

Activity,Window,View的关联与理解

Activity,Window,View相关 1. 什么是Activity,Window,View以及职能简介 Activity:不负责视图控制,只是控制生命周期和处理事件,真正控制视图的是Window,一个Activity包含一个Window,Window真正代表一个窗口。Activity是一个控制器,控制视图的添加与显示以及通过回调方法来进行Window与View的交互。 Window:Wi
2018-04-01
#Android

ArrayMap简析

2019-03-08
#Android

Activity的生命周期和启动模式

Activity的生命周期和启动模式
2019-01-04
#Android

Android-Binder分析

Linux传统的进程间通信原理 进程隔离 保护系统中进程互不干扰。在操作系统中,进程之间数据是不互通的,相互之间无法访问数据,保证数据的安全星。 在进程隔离的条件下,需要通过IPC(Inter Process Communication)机制进行进程间的通信。 进程空间划分 操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间以及底层的硬件设备。 为了使用户进程不能操作内核
2026-02-16
#Android

Activity启动过程

下列源码分析是基于 Android 8.0源码 Activity的启动过程分为两种: 根Activity的启动过程 - 指代根Actiivty的启动过程也可以认为是应用程序的启动过程 普通Activity的启动过程 - 除启动应用程序启动的第一个Activity之外Activity的启动过程 根Activity启动过程 点击桌面的应用程序图标就是启动根Activity的入口,
2019-01-02
#Android

Java基础知识

如何理解Java的多态?其中,重载和重写有什么区别? 多态是同一个行为具有多个不同表现形式或形态的能力,多态是同一个接口,使用不同的实例而执行不同操作。多态就是程序运行期才确定,一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法。 多态存在的三个必要条件是:继承,重写,向上转型(需要将子类的引用赋值给父类对象,只有这样该引用才能具备
2018-01-17
#Java

JVM相关合集整理

本章主要针对JVM基础知识的整理以及拓展 JVM内存区域 JVM在执行Java程序的过程中会把管理的内存分为若干个不同的数据区域。 JDK1.8前后分区略有不同 根据上述两图,运行时数据区域按照线程是否私有分为两部分: 线程私有:程序计数器、虚拟机栈、本地方法栈 线程共享:堆、方法区 程序计数器 线程私有,当前线程所执行的字节码的行号指示器,记录当前线程执行的位置
2020-05-02
#JVM

Java线程相关合集整理

基础概念进程 应用程序在内存中分配的空间,也就是正在运行的程序。进程是系统运行程序的基本单位。 CPU采用时间片轮转的方式运行进程:CPU为每个进程分配一个时间段,称作它的时间片。 如果在这个时间片结束进程还在进行,则暂停这个进程的运行,并且CPU会被分配到另一个进程(上下文切换)。 进程让操作系统的并发成为了可能。进程就是程序的实体。 线程 线程与进程类似,但线程比进程更小,是CPU调度和分配
2020-05-02
#Java

OkHttp简析

基于OkHttp 3.13版本进行分析 OkHttp定义OkHttp现如今已成为主流的网络请求框架,连Android源码中都引入其作为基础网络库,可知它的重要性。 所以只会简单的使用是远远不够的,更要深入了解其原理,知道它的设计概念,这才是最重要的。 OkHttp支持SPDY协议,可以合并多个到同一个主机的请求,分享同一个Socket。如果SPDY不可用,会使用连接池的技术减少请求的延迟。
2019-03-08
#源码解析

Service工作过程

Service工作过程Service分为两种工作状态,一种是启动状态,主要用于执行后台计算;另一种是绑定状态,主要用于其他组件和Service的交互。 Service的这两种状态是可以共存的,即Service既可以处于启动状态也可以同时处于绑定状态。 1234567//启动ServiceIntent intent= new Intent(this,MyService.class);startSer
2019-01-10
#Android

插件化实现原理简析(基础概念)

动态加载技术 在应用程序运行时,动态的去加载一些程序中原本不存的可执行文件并运行这些文件里的代码逻辑。 可执行文件总的来说分为两种: 一种是动态链接库so 一种是dex相关文件(dex以及包含dex的jar/apk文件) 随着应用开发技术和业务的逐步发展,动态加载技术派生出两个技术:热修复技术以及插件化技术。 热修复技术主要用来修复Bug,插件化技术主要来解决应用越来越庞大以及功能
2019-02-05
#Android

日常细节记录

强引用置为null时,不会立即回收对象,帮助回收器加快回收。但是会帮助GC 等到下次回收周期时即会回收 死锁的四个必要条件:互斥,占有且等待,不可抢占,循环等待 CAS(原子操作)是乐观锁用到的主要机制,乐观锁是不用加锁去执行操作,如果产生冲突则失败重试,直到成功为止,也叫做“自旋”。与乐观锁相对应的是悲观锁,synchronized就是悲观锁,也叫“独占锁”需要加锁进行操作,并且加锁代码块
2018-04-03
#Android #Java

Android-Art类加载过程

Dex文件加载 加载Dex文件后会生成DexFile对象,里面储存了多个类文件信息。 通过PathClassLoader或者DexClassLoader去加载Dex文件,最后还是调用到BaseDexClassLoader的加载方法 12345678class BaseDexClassLoader extends ClassLaoder{ public BaseDexClass
2019-12-19
#Android

SparseArray简析

HashMap在Android开发中是一种常用的数据结构类型,但是占用内存方面相对会比较大,而且复杂的机制导致运行效率也不高。所以Android系统提供了SparseArray以及ArrayMap来对其进行替代。这也是Android性能优化的一种手段。 SparseArray SparseArray可以对key为Integer类型的HashMap进行替代。还有 LongSparseArray
2019-01-28
#源码解析
123…11

搜索

Hexo Fluid