自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

冰炭不投day的博客

记录自己的编程之路

  • 博客(134)
  • 资源 (1)
  • 收藏
  • 关注

原创 冰炭不投day博客导航

文章目录前言一.Android1.Android之View篇【完结】2.Android之Rxjava篇【完结】3.Android之网络请求篇【完结】4.Android之IPC篇【进行中】二.数据结构与算法1.数据结构【未完待续】2.算法(持续更新)三.计算机基础1.计算机网络【完结】2.操作系统【未完待续】3.c语言四.随笔前言为了让自己的学习更加有体系化,也同时为了大家的阅读方便,我将自己的...

2019-02-02 19:31:35 2215 2

原创 RxJava VS kotlin flow

Rxjava和flow对比,包括介绍 ,快速上手指南 ,进阶使用,两个实际使用场景...

2023-01-05 18:14:12 1856 2

原创 JetPack框架组件3——ViewModel的使用和源码分析

JetPack框架组件3——ViewModel的使用和源码分析文章目录JetPack框架组件3——ViewModel的使用和源码分析一.ViewModel的使用和概述1.使用场景2.ViewModel生命周期3.使用4.ViewModel 关键类二.ViewModelStore的获取1.获取ViewModel的入口2.ViewModelStore的定义3.Activity中获取ViewModelStore4.Fragment中获取ViewModelStore5.小结三.ViewModelFactor的获取

2021-07-24 23:48:58 473 1

原创 JetPack框架组件2——liveData的使用和源码分析

JetPack框架组件2——liveData文章目录JetPack框架组件2——liveData一.liveData的使用和概述1.概述2.使用二.liveData的注册三.liveData的事件分发四.liveData的粘性事件实现五.参考资料一.liveData的使用和概述1.概述LiveData 是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,它遵循其他应用组件(如 Activity、Fragment 或 Service)的生命周期。这种感知能力可

2021-06-07 20:13:02 345

原创 JetPack框架组件1————Lifecycle 使用及源码

JetPack框架组件1————Lifecycle 使用及源码文章目录JetPack框架组件1————Lifecycle 使用及源码一.Lifecycle的使用1.lifecycle作用介绍2.实现LifecycleObserver3.注册LifecycleObserver4.自定义LifecycleOwner5.运行结果二.LifecycleObserver注册流程三.LifecycleOwner产生事件流程四.LifecycleRegister分发事件流程五.LifecycleObserver接收事件

2021-05-21 16:28:08 369

原创 2020年回顾——2021年计划

拖了一周的2020年年终总结,在今天终于想起来了,回顾一下2020年我都做了什么?2020回顾 攒钱,去规划好的地方玩:) 上半年主要目标2020年去李 学习新概念英语第二册 写系列博客 Android源码分析,Linux操作系统分析,gradle(自己搭一个博客平台) 了解理财,下半年去试着实践 坚持跑步 顺利毕业和入职...

2021-01-10 14:47:00 436 2

原创 Gradle学习笔记2————Groovy基础语法

Gradle学习笔记1————Groovy基础语法一.Groovy简介二.Groovy和Java的差异三.Groovy基础语法四.Groovy闭包五.Groovy文件操作六.参考资料

2020-09-01 13:01:06 432

原创 Android系统启动2————Android初始化语言概述和解析

Android系统启动2————Android初始化语言一.概述在Android初始化语言包含了4种类型的声明,Actions(行动),Commands(命令)、Services(服务)和Options(选项)。所以这些都是以行为单位,各种记号由空格隔开。反斜杠可用于在记号间插入空格,双引号也可以用于防止字符串被空格分隔成多个记号。行末的反斜杠用于折行。注释行以井号(#)开头(允许以空格开...

2020-08-27 18:41:19 326

原创 Android系统启动1————概述和Liunx内核的启动

Android系统启动1————init进程启动过程一.概述1.系统启动的整体流程Android启动大致分为两个阶段Linux的启动Android的启动其中Android启动又可以分为下面的步骤init进程的启动zygote进程的启动system Service进程的启动最后Launcher启动Home Activity大致过程如下图所示:其中1,2,3是linux...

2020-08-27 18:41:07 646

原创 Android框架层基础4————Android源码的编译

因为电脑硬件的一些原因,博主还没有自己亲自编译运行Android源码,先占个坑。后期会自己尝试编一下这里推荐一篇博文:Android源码编译

2020-08-27 18:40:47 148

原创 Android框架层基础3————智能指针

Android框架层基础3————智能指针一.智能指针概述在查看Android Native层代码时,经常会接触到sp,wp的变量。这两个变量有什么含义呢?在Android系统中,Native层代码基本是由c++写的,c++跟java不一样,c++没有垃圾回收机制,所以稍不注意就会导致内存泄漏。针对上面的问题,Android提出了一套类型与Java垃圾回收机制的稚嫩和指针。采用的强指针(S...

2020-08-27 18:40:26 373

原创 Android框架层基础2————JNI原理

Android框架层基础2————JNI原理一.JNI概述JNI 即java Native Interface缩写,即java本地调用。通过jni可以做到以下两点:java程序中的函数可以调用Native语言书写的函数,Native一般指的c/c++编写的函数Native程序的函数可以调用java中的函数在Android源码中,jni大量的使用,同时也有很多的应用的场景,比如音视频开...

2020-08-27 18:40:09 389

原创 Andriod框架层基础1————Andriod系统框架概述

Andriod系统框架一.前言在之前的学习里,第一次接触Android 框架层的源码是在看bidner。在一个就是最近在看的AudioRecord。可以说看的也挺吃力。所以在之后,陆陆续续看过一些其他的进阶android书籍。也打算将这一阶段看过的书籍,做下读书笔记。后续计划Android 系统启动Android 应用启动Android 四大组件启动Android Handler...

2020-08-27 18:39:48 394

原创 Gradle学习笔记1————初识与配置Gradle

Gradle学习笔记1————初识与配置Gradle一.Gradle的简介1.Gradle是什么Gradle是什么?我们先看官网里对Gradle的定义:Gradle is an open-source build automation tool focused on flexibility and performance. Gradle build scripts are written using a Groovy or Kotlin DSL.Gradle是专注于灵活性和性能的开源构建自动化工

2020-08-27 17:56:03 1282

原创 Java知识思维导图

大一的时候学习java时候的思维导图,仅供大家参考

2020-03-28 22:22:26 2794 1

原创 2019年回顾——2020年计划

热烈庆祝银河系-猎户座旋臂-太阳系第三环上的一颗行星,即将完成一次公转。在地球公转这一圈的时候,回顾一下,这一年我干了什么。2019年回顾先看看年初我的2019计划 计算机网络博客,在年初完成所有博客 Android继续深入了解。这个应该算完成吧 java并发,完成 java虚拟机汇总,完成 java集合相关源码,完成 完成一次全马,emmmm,很可惜,依然没有 继续坚持写博...

2019-12-31 13:17:42 1080 1

原创 数据库笔记4————关系数据库标准语言SQL中(SQL的数据查询)

数据库笔记4————关系数据库标准语言SQL中(SQL的数据查询)一.主要内容和知识框架二.查询语句的一般格式和准备。1.格式(中括号内的内容可有可无) SELECT [ALL|DISTINCT 目标表达式1 目标表达式2…] FROM 表名1 [表名2…] [WHERE 条件表达式] [GROUP BY 列名1 [HAVING 条件表达式]] [ORDER BY 列名2

2019-11-15 13:08:47 1069

原创 数据库笔记3————关系数据库标准语言SQL上(SQL的数据定义和数据更新)

数据库笔记3————关系数据库标准语言SQL上(SQL的数据定义和数据更新)

2019-11-15 13:08:31 1184

原创 数据库笔记2————关系数据库(关系代数)

数据库笔记2————关系数据库(关系代数)一.主要内容/知识框架二.关系数据结构按照数据模式的三个要素,关系数据模型由关系数据结构,关系数据操作,和关系完整性约束3部分组成。

2019-11-15 13:08:01 1420

原创 数据库笔记1————数据系统概述

数据结构笔记————数据系统概述

2019-11-15 13:07:38 1232

原创 Android客户端——秋招总结

Android客户端——秋招总结一.面试准备和春招准备相比,多了如下内容:腾讯实习经历:androidq适配Android Audio系统源码Android Surface系统源码剑指offer大部分题思路android 各版本变化…二.秋招回顾总的来说腾讯转正成功,9.16发的意向书。上海抖音经历4面技术面+ hr面。9.5发的意向书阿里本来只用终面的,后来hr...

2019-09-16 17:26:30 1866

原创 Android之辅助服务下篇————AccessibilityServic源码分析

Android之辅助服务下篇————AccessibilityServic源码分析一.前言在上一篇博客中,我介绍了辅助服务的大致使用。这一篇我们来看看AccessibilityServic的原理。通过上篇,我们知道将AccessibilityServic配置完成后。之后的使用可以分为下面三个步骤onAccessibilityEvent接收事件(屏幕变化,点击事件)通过控件文字或者id在...

2019-07-17 00:33:43 2123

原创 Android之辅助服务上篇————AccessibilityService使用

Android之辅助服务上篇————AccessibilityService使用一.前言最近好久没写博客了,特别是Android系统启动这一个系列,虽然过程已经理了很多遍了,但是由于实习期间是在抽不出时间,没办法输出文章。最近接触了Android辅助服务,即AccessibilityService的相关内容,也算是解决了我一直一来的困惑——微信抢红包插件是怎么实现的。这两天,抽空总结一下这一部...

2019-06-26 19:36:41 14729 5

原创 Android客户端——春招实习小结(已收到阿里和腾讯的offer)

Android客户端——春招实习小结(已收到阿里和腾讯的offer)一.絮絮叨叨的一些话在去年1月份结束百度实习之后,就开始准备春招实习。在寒假的时候,系统的学习了计算机网络,继续加深了一些技能栈。在3月初的时候,投了阿里和腾讯两家的实习。运气还是不错,分别在3.27号和4.4号,收获了腾讯和阿里的offer。4.11就去报道。在去之前,对3月份的面试情况进行一下小结。二.面试准备下面这...

2019-04-08 13:40:49 1217

原创 计算机网络6————加密算法和Https

计算机网络6————加密算法和Https一.概述前两天接连面试腾讯,阿里一面。都被问到了https相关的内容,答得并不满意,所以就打算将其相关的内容整理总结。在说https之前,先说一下加密算法相关的内容二.加密算法加密算法分为两种:即对称加密和非对称加密。1.对称加密对称加密:对于对称加密来说。它的加密和解码的密钥是相同的。也就是说:明文加密成密文,和密文解密成明文使用的是同样的秘...

2019-03-08 11:03:10 1364 2

原创 Android录音下————AudioRecord源码分析

Android多媒体2————AudioRecord源码分析一.概述在上一篇博客中,主要看了AudioRecord的应用。接下来让我们看一看AudioRecord源码的分析。注:Native层源码版本:android5.1.01.主要分析点分析的时候以上一篇博客AudioRecord使用过程中涉及到的方法来进行分析。主要分析下面几个方法:getMinBufferSize:获取Audi...

2019-03-04 23:56:33 3037

原创 Android录音上————AudioRecord实现录音功能

Android多媒体1————AudioRecord实现录音功能一.前言在百度实习的时候,导师让我负责语音助手SDK相关的东西,所以就一直想对其进行整理总结,就先从最基础,最简单AudioRecord类开始。二.官方文档中的AudioRecord想要了解一个类的具体说明,首先要看看官方文档:1.概述AndioRecordlei类的主要功能是让各种JAVA应用管理音频资源,方便从平台的...

2019-02-21 15:43:09 5385 5

原创 操作系统19———IO系统之与设备无关的I/O软件&用户层的I/O软件

操作系统19———IO系统之与设备无关的I/O软件&用户层的I/O软件一.目录二.与设备无关软件的基本概念设备独立性(设备无关性)的含义:应用程序中所用的设备,不局限于使用某个具体的物理设备。 与设备无关的I/O软件(设备独立性软件)含义:在设备驱动程序之上设置一层软件,以实现设备独立性。1. 以物理设备名使用设备早期OS中,应用程序在使用I/O设备时,都...

2019-02-02 17:32:45 8013 2

原创 操作系统18———IO系统之中断机构和设备驱动程序

操作系统18———IO系统之中断机构和设备驱动程序一.目录操作系统18———IO系统之中断机构和设备驱动程序一.目录二.中断简介1.中断和陷入2.中断限量表和中断优先级3.对多中断源的处理方式三.中断处理程序1. 测定是否有未响应的中断信号2.保护被中断进程的CPU环境3.转入相应的设备处理程序4.中断处理5.恢复被中断进程的现场四.设备驱动程序概...

2019-02-02 17:32:28 6911 1

原创 操作系统17———IO系统之概述

操作系统17————I/O系统之概述一.目录操作系统17————I/O系统之概述一.目录二.I/O系统的基本功能1.隐藏物理设备的细节2.与设备的无关性3.提高处理机和I/O设备的利用率4.对I/O设备进行控制5.确保对设备的正确共享6.错误处理三.I/O系统的层次结构和模型1. I/O软件的层次2.I/O系统中各模块直接的层次结构四.I/O系统接口...

2019-02-02 17:32:08 9448

原创 操作系统16————虚拟存储器之抖动,工作集和页面置换算法

操作系统16————虚拟存储器之抖动,工作集和页面置换算法一.目录操作系统16————虚拟存储器之抖动,工作集和页面置换算法一.目录二.多道程序度与抖动1.抖动2.多道程序度3.产生抖动的原因4.抖动的预防方法三.工作集1. 工作集的引入2.工作集的特点四.页面置换算法1. 最佳置换算法(OPT)(理想算法)2.先进先出置换算法(FIFO)3....

2019-02-02 17:31:44 6320

原创 操作系统15————虚拟存储器之概述

操作系统15————虚拟存储器之概述一.目录操作系统15————虚拟存储器之概述一.目录二.常规存储管理方式的特征和局部性原理1.常规存储管理方式的特征2.局部性原理三.虚拟存储器概述1.虚拟存储器的概念2.虚拟存储器的定义3.虚拟存储器的特征4.虚拟存储器的实现四.请求分页存储管理方式1.请求分页的硬件支持2.请求分页的内存分配3.页面调入策略...

2019-02-02 17:31:21 1752

原创 操作系统14————存储器管理之分段存储&段页存储

操作系统13————存储器管理之分页存储一.目录操作系统13————存储器管理之分页存储一.目录二.分段存储管理方式的引入三.分段系统的基本原理1.分段2.段表3.地址变化机构4.分段和分页的主要区别四.信息共享1.分页系统中对程序和数据的共享2.分段系统中对程序和数据的共享五.段页式存储管理方式1.基本原理2.地址变化过程六.参考资料...

2019-02-02 17:31:04 2913

原创 操作系统13————存储器管理之分页存储

操作系统13————存储器管理之分页存储一.目录操作系统13————存储器管理之分页存储一.目录二.概述三.分页存储管理的基本方法1.页面和物理块2.地址结构3.页表四.地址变换机构1.基本的地址变换机构2.具有快表的地址变换机构五.访问内存的有效时间六.两级和多级页表1.引入原因2.两级页表3.多级页表七.反置页表1.反置页表的引入2....

2019-02-02 17:30:48 3199 1

原创 操作系统12————存储器管理之对换

操作系统12————存储器管理之对换一.目录操作系统12————存储器管理之对换一.目录二.概述三.多道程序环境下的对换技术1.对换的引入2.对换的类型四.对换空间的管理1.对换空间管理的主要目标2.对换区空闲盘块管理中的数据结构3.对换空间的分配和回收五.进程的换出和换入1. 进程的换出  2. 进程的换入  五.参考资料...

2019-02-02 17:30:26 3594

原创 操作系统11————存储器管理之连续分配存储管理方式

操作系统11————存储器管理之连续分配存储管理方式一.目录操作系统11————存储器管理之连续分配存储管理方式一.目录二.概述三.单一连续分配四.固定分区分配1.划分分区的方法2.内存分配五.动态分区分配1.动态分区分配中的数据结构2.动态分区分配算法3.分区分配操作六.基于顺序搜索的动态分区分配算法1.首次适应算法(FF)2.循环首次适应算法...

2019-02-02 17:29:58 2630

原创 操作系统10————存储器管理之程序的装入和链接

操作系统10————存储器管理之程序的装入和链接一.目录操作系统10————存储器管理之程序的装入和链接一.目录二.程序的运行之前三.程序的装入1. 绝对装入方式(Absolute Loading Mode)  2. 可重定位装入方式(Relocation Loading Mode)  3. 动态运行时的装入方式(Dynamic Run-time Loading)...

2019-02-02 17:29:40 1547

原创 操作系统9————死锁

操作系统9————死锁一. 目录操作系统9————死锁一. 目录二. 死锁的概述1.死锁的定义2.产生死锁的必要条件3.死锁的处理三. 预防死锁1. 破坏“请求和保存”条件2. 破坏“不可抢占”条件3. 破坏”循环等待”条件四. 避免死锁(银行家算法)1.银行家算法的数据结构2.银行家算法3. 安全性算法4.银行家算法例子五. 检测死锁...

2019-02-02 17:29:17 1658

原创 操作系统8————处理机调度

操作系统8————处理机调度一. 目录二. 处理机调度的层次在多道程序系统中,调度实质是一种资源分配,处理就调度算法是指根据处理机分配策略所规定的处理机分配算法。一个作业从获得处理机执行到作业运行完毕,可能会经历多级处理机调度。下面介绍处理机的层次。1.高级调度高级调度又称为长程调度或者作业调度,它的调度对象是作业。主要功能是根据某种算法,决定将外存上处于后备队列中...

2019-02-02 17:29:01 6203

原创 操作系统7————线程

操作系统7————线程一. 目录操作系统7————线程一. 目录二. 线程的引入1. 线程引入的原因2. 线程和进程的对比3.进程和线程的关系三,线程的状态1. 线程运行的三个状态2. 线程的创建和终止3.线程的控制块PCB四. 线程的实现1. 用户级线程(User-Level Threads)2. 内核支持线程(Kernel Supported ...

2019-02-02 17:28:36 1005

android 计算器

android入门app 计算器 算法 中缀转后缀,后缀表达式的计算

2017-12-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除